最高の音声合成装置の1つを使用してテキストファイルからオーディオブックを作成するgo-script-AmazonのIvona

スクリプトで本へのパスをtxtで示します-出力では、音声合成が良好なフォルダーを取得します。



耳でコンテンツを消費するのが好きです-この時点で、スポーツをしたり、目を休ませたりすることができます。 通常の本にはオーディオ版があり、最悪の場合はアマチュア版であることに慣れていますが、必ずしもそうとは限りません。 今日、数時間にわたって、ロシア語のテキストを話すためのさまざまなオンラインサービスとAndroidプログラムを整理しました。 ポケットからは、同じエンジンを備えたGoogle TTSとGoogleブックスだけが好きでしたが、何らかの理由で音声品質が異なりました。 YandexのSpeechKitも興味深いものです。 しかし、それはIvonaからの最高の統合のようです -この会社は2013年にAmazonによって買収されました。 Githubは、完成したサウンドを引き締めるための12個のスクリプトを見つけましたが、本全体を発声するための完全に既製のソリューションはありませんでした。 IVONAの非公式のGoライブラリを使用して、Speech Cloud APIは数時間でスクリプトを作成しました-初めてGoを使用します。Githubのライブラリも自動的に解除されるので、すべての依存関係が1つのファイルにあると便利です。



スクリプトは段落ごとに1つのoggファイルを作成します-平文の本がありましたが、もちろんそれを章に分割する方が論理的ですが、本全体をフィードすることはできません-入力文字数には制限があり、通常の速度で動作する約10分間の音声です。 出力形式はmp3に変更できます。 通常、ファイル名は順番にソートされます。 スクリプトの実行中、コンソールは音声演技用に送信された現在の段落を表示します。







スクリプトを機能させるには、アクセスキーとシークレットキーが必要です-私はここに残しましたが、機能しなくなった場合は、ここで新しいキーを無料で入手できます



package main import ( "log" "fmt" "io/ioutil" "strings" ivona "github.com/jpadilla/ivona-go" ) func main() { client := ivona.New("GDNAICTDMLSLU5426OAA", "2qUFTF8ZF9wqy7xoGBY+YXLEu+M2Qqalf/pSrd9m") text, err := ioutil.ReadFile("/home/vitaly/Desktop/test.txt") if err != nil { log.Fatal(err) } arrayOfParagraphs := strings.Split(string(text), "\n\n") i := 0 for _,paragraph := range arrayOfParagraphs { paragraph = strings.TrimSpace(paragraph) if (len(paragraph) < 1) { // against empty lines continue } log.Printf("%v\n", paragraph) options := ivona.NewSpeechOptions(paragraph) options.Voice.Language = "ru-RU" options.Voice.Name = "Maxim" options.Voice.Gender = "Male" options.OutputFormat.Codec = "OGG" r, err := client.CreateSpeech(options) if err != nil { log.Fatal(err) } i++ file := fmt.Sprintf("/home/vitaly/Desktop/ivona/tts%04d.ogg", i) // files like 0001.ogg ioutil.WriteFile(file, r.Audio, 0644) } }
      
      





ブックへのパスと出力フォルダーへのパスを置き換えた後(おそらくファイルを分割する文字を置き換えて、ロシア語の代わりに英語を指定します)、スクリプトを実行します。約10分で約100ページのttが完成します。

 go run ivona-tts.go
      
      





これは私の最初の囲codeコードです。あなたの批判を歓迎します。



PS:まず第一に、すでに人によって表明された本のバージョンを探す方が良いです。



All Articles