自分のハードウェアでテキスト読み上げを実行して驚いたのは、モデルのサイズがいかに小さいかということです。 1 つのファイル、78 MB、904 個の異なるスピーカーを保持します。 これは、電話の写真のバーストよりも小さく、単一のミッドレンジ言語モデルの約 10 分の 1 の重さであり、そこからすぐに合成としてはならない声が生まれます。 ツールが公開する 8 つのボイスのうち 3 つを測定しました。それらの中央値ピッチは 103 Hz、184 Hz、242 Hz で、これは、男性の低い声から高い女性の声まで、異なる番号が渡された同じファイルからの本物の範囲です。
tl;dr: エンジンは、LibRitts-R モデルを使用して、サイトの独自のボックス上で稼働しています。 測定値: 113 文字で 5.8 ~ 6.1 秒のオーディオをウォール タイムで約 3 ~ 4 秒で生成するため、聴くよりも速く合成できます。 22,050 Hz のモノラル波が得られます。これは、1 分あたり約 2.6 MB です。 速度制御は機能しますが、圧縮されています。完全な 0.7 ~ 1.5 の範囲は、2.14x ではなく、1.61x の持続時間で広がります。 数値は意味し、0.85 は 1.0 と区別がつきません。 同じテキストが同じ音声を 2 回とすることはありません。 ザ・ テキスト読み上げツール 3,000 文字で CAPS 入力。
何を話しているの?
ニューラル テキスト読み上げエンジンである Piper は、Web アプリの横で独自のコンテナとして動作し、モデルのトレーニングを行います。 libritts-r。
出力の品質と特性の両方を説明するため、そのコーパスについては知っておく価値があります。 これは、Librivox Audiobook Recordings からの読書英語のスピーチのおよそ 585 時間で、その後、発話復元モデルを使用してソース素材の録音品質をクリーンアップします。 講演者は、パブリック ドメインの本を読んでいるボランティアです。
声は、人々が声に出して読んでいるように聞こえます。それはまさに彼らがしていたことだからです。 このモデルは、宣言文や散文の段落が得意で、それが聞いたものです。 トレーニング データの誰も会話をしていないため、会話の内容についてはあまり説得力がありません。
モデル ファイルには 904 のスピーカーがあり、ツールは 8 つを公開します。 コード内の ID はモデルのものであり、ベスト 8 ではなく範囲にまたがるように選択されています。これは、8 つに合わない場合は、その区別を念頭に置いておく価値があります。
八つの声は違うの?
そう、測定可能。 そのうちの 3 つで同じ文を生成し、有声フレームの基本周波数の中央値を計算しました。
| 声 | スピーカーID | 中央値 F0 |
|---|---|---|
| ボイス2 | 3つです | 103.3Hz |
| ボイス5 | 45 | 183.8Hz |
| ボイス8 | 150 にご提供いたしております | 242.3 Hz |
これらはテーマのバリエーションではありません。 成人男性の発話は通常、85 ~ 155 Hz 前後で中心部にあり、成人の女性の発話は 165 ~ 255 Hz 前後であるため、これらの 3 つは正常な人間の範囲の下部、中央、上に位置します。
デュレーションはほぼ同じで、同じ文で 2.07 ~ 2.08 秒であったため、声を切り替えると、ペースを変えずに音色とピッチが変わります。 これにより、8 個が特定のスクリプトで真に交換可能になります。これは、一連のクリップを作成していて、1 つを再録音したい場合に重要です。
どのくらいの速さですか?
重要な数字である、聞くよりも速くなります。
| 測定 | 値 |
|---|---|
| 入力 | 113文字 |
| 音声プロデュース | 5.77 ~ 6.08 秒 |
| 壁の時間 | 2,994 ~ 3,929 ミリ秒 |
| 割り合い | リアルタイムで約 1.5 ~ 1.9 倍 |
つまり、1 分の音声を作成するには 30 ~ 40 秒かかり、最大 3,000 文字は、約 2 分の 2 分の 1 分のスピーチで 2 分以内の何かで動作します。
注意点は、一度に 1 つのリクエストが処理されることです。 サーバーは、意図的に 1 つの合成スロットを実行します。ボックス上で測定すると、1 つのテキストだけで約 2.2 秒、3 回につき 3 回につき約 9 秒かかるため、並列処理は総処理量を何も購入せず、キューにいる最初の人の費用は 7 秒になります。 最大 20 件のリクエストが待機する場合があります。このツールは、数分待たされるのではなく、ビジーであると言っています。
10 分ごとに 20 世代の訪問者ごとの予算もあります。これは、通常の使用が決して満たされないほど高く、誰もボックスを無料のオーディオブック工場に変えるほどの低さです。
何を取り戻すの?
圧縮されていない WAV ファイル、およびサイズは、長いファイルを作成する前に知っておく価値があります。
codec pcm_s16le
sample rate 22,050 Hz
channels 1 (mono)
bit depth 16
これは、1 秒あたり 44.1 KB のオーディオであるため、大まかに 1分で2.6MB、そして 3,000 文字の完全なランが 7 MB 近くに達します。 上記の 113 文字のサンプルは 254,508 バイトで 5.77 秒でした。
編集または変換するもののデフォルトは、すべてのエディターが文句なく取る形式であり、追加する世代損失がないため、非圧縮は正しいデフォルトです。 アップロードまたは電子メールで送信するもののデフォルトは間違っています。修正は 1 ステップです。WAV を実行します。 オーディオコンバーター MP3 または M4A を取ります。 そのガイド どちらを選ぶかはカバーです。スピーチの簡単な答えは、128 kbps 以上であれば問題ありません。
22,050 Hz の速度はモデルのものであり、CD レートの半分です。 LibRitts-R は 24 kHz で分布していることに注目してください。したがって、モデルは、ここで失われたものではなく、Piper 自身の構成である、学んだコーパスの速度よりも下に出力します。 音声エネルギーは 11 kHz をはるかに下回っており、22,050 Hz が運ぶものであるため、音声の場合はどちらにしても目立たないでしょう。 これは、出力がスタジオ録音として渡されないことを意味し、それを上向きにリサンプリングしても何も追加されません。
速度制御は言うことを実行しますか?
速度は変化しますが、その数が示すほどではありません。 これが測定曲線です。
| 速度設定 | 期間 | 1.0 に対する比率 | リニアは与えるだろう |
|---|---|---|---|
| 0.7 | 7.268 秒 | 1.195 | 1.429 |
| 0.85 | 6.142 s | 1.010 | 1.176 |
| 1.0 | 6.084 s | 1000 | 1000 |
| 1.25 | 5.271 秒 | 0.866 | 0.800 |
| 1.5 | 4.516 s | 0.742 | 0.667 |
単調なので、コントロールは期待どおりに機能し、両端で圧縮されます。 0.7 から 1.5 までの全範囲は、2.14 倍の期間で、1.61 倍の長さである必要があります。 0.85 の設定は 1.0 の 1% 以内です。つまり、何も聞こえません。
メカニズムは、設定が継続時間スケールとしてモデルに渡され、モデル自身の持続時間予測子が各音素の長さを決定することです。 スケールを乗数ではなく、強力なヒントとして扱います。
実用的な読み方: かなり異なるペースを希望する場合は 0.7 または 1.5 を使用し、中間設定が細かいコントロールを与えるとは思わないでください。 正確な期間が必要な場合は、1.0 で生成し、オーディオ エディタでテンポを変更します。数字は、その数字が何を意味するかを意味します。
同じテキストが同じ音声を 2 回もしないのはなぜですか?
モデルは、実行ごとにタイミングについて新たな決定を下すためです。
同じリクエストを 2 回送信しました。同じテキスト、同じ音声、同じ速度です。 結果は 6.084 秒と 6.002 秒で、ファイルはバイトごとに異なります。 何もキャッシュされず、シードもされません。
これは、このモデルのファミリーに固有のものです。持続時間予測子は確率論的であるため、入力が固定されている場合でも、音素の長さは実行間でわずかに異なります。 ここで測定された変動は約 1.4% で、ペースの違いとしては聞こえず、ファイルの長さの違いとしてはっきりと見えます。
2つの結果。 テイクの一時停止や奇妙な言葉があった場合、それを再び生成することは、迷信ではなく、本当の修正です。 一致する必要のあるクリップのセットを作成している場合は、1 つのセッションでそれらを生成し、得たものを維持します。明日 1 つの交換ラインで戻ってくると、2 秒の異なる線が得られるからです。
なぜ 3,000 文字の制限があるのですか?
テキストについてではなく、その背後にあるもののためです。
3,000 文字は、およそ 2/4 分のスピーチと約 7 MB の WAV で、1 つの合成スロットで生成されます。 30,000 文字のチャプターは、そのスロットを 20 分間占有し、70 MB のバッファーをメモリーに保持します。
それ以上の場合は、段落の境界で分割して、パーツを結合します。 とにかく、それはより良い練習です。段落 9 の間違いは、章全体ではなく、段落 9 を犠牲にします。 オーディオコンバーター 参加して、セットを後で変換します。
モデルが発話ごとにイントネーションを決定するため、文の途中で分割することは避けるべきことの 1 つです。 半分に切り取られると、2 つの断片が生成され、どちらも完全な文章のように聞こえ、思考の途中で落ちる音になります。
それは何に適していて、何に適していないのですか?
書かれているものは、読み上げられるものなら何でも良いです。これは、思ったよりも狭いカテゴリーです。
| うまくいきます | うまく機能しない |
|---|---|
| ビデオやスライドでのナレーション | 文字間の会話 |
| 記事のオーディオ バージョン | 感情や強調が必要なこと |
| アクセシビリティ: 自分のドラフトを聞く | 一般的な英語以外の名前と場所 |
| プロトタイプのプレースホルダー ボイス | ビデオカットの正確なタイミング |
| あなたが書いた文の発音 | 歌うこと、または何か音楽的 |
右側の列のパターンはコントロールです。 このモデルは、声、スピード、そして聴くための座席を提供します。 特定の単語にストレスを与えたり、特定の長さの一時停止を挿入したり、質問のイントネーションを変更したり、頭字語を綴ったりする方法はありません。 これらは、プロの TTS API がマークアップを通じて公開するものであり、これには何もありません。
左の列の最初の行は、その場所を獲得する場所です。 自分の書き戻しを自分に読み返す音声は、他の人が言った瞬間に機能しない文章が明らかになるため、最も速い校正ツールです。
約束する前に声が聞こえますか?
いいえ、それが私が変更するインターフェースの 1 つです。
8 つのボイスは、ラベルのドロップダウンです: ボイス 1 からボイス 8 まで、サンプルはありません。 Voice 6 がどのように聞こえるかを調べる唯一の方法は、共有合成スロットを占有し、数秒かかり、10 分あたりの 20 世代をカウントします。
1 回限りの場合は問題ありません。 プロジェクトの声を選ぶということは、開始前に同じ行の 8 テイクを試聴することを意味します。これは、決定に費やされた予算の 10 分の 1 のほとんどです。
実用的なアプローチは、スクリプトではなく短い行でオーディションを受けることです。 ダースの単語の文章が約 2 秒で戻ってきて、ピッチとキャラクターを教えてくれます。これがあなたが選ぶすべてです。 次に、選択したら、実際のテキストに切り替えます。
このガイドの前の表は、部分的なショートカットです。音声 2 は低、音声 5 は中、音声 8 は高です。 私が測定しなかった 5 つは、その中にあります。
クラウドの声と比べてどうですか?
ポーランド語では好意的ではありません。それはここで重要な比較ではありません。
商用 API を使用すると、より優れたプロソディ、数十の言語、一時停止と強調のマークアップ制御、およびブロードキャスト用のトレーニングを行うことができます。 出版用に何かを制作しているなら、お金に見合う価値があります。
代わりに、テキストがサイトのハードウェアから離れることはなく、出力はあなたのものであり、文字ごとの請求書もアカウントもないということです。 上の左の列の用途、特に自分のドラフトの読み返しを聞くと、ポーランドの違いはクラウド アカウントと API キーの価値がありません。
正直な要約は、これはまともな内蔵マイクに相当する TTS であるということです。 アルバムのレコーディングに使用するものではなく、そこにあることに気付かないようにするだけで十分です。
オーディオを商業的に使用できますか?
おそらく、帰属があり、ライセンスは、はいではなく注意深く見る必要があります。
Piper エンジンは MIT のライセンスを受けています。 ここのモデルは Libritts-R で訓練されています。 OpenSLR は、「ライセンス: CC by 4.0」として配布します。、および CC 4.0 による商用利用許可が与えられている場合は、その属性が与えられています。
Libritts-R の紙の引用メタデータには、非営利の非導関数のバリアントという異なるライセンス文字列が含まれているため、この注意が必要です。 これは、意図の表明ではなく、引用テンプレートの残り物である可能性が最も高く、配布ページの方が強いシグナルですが、2 人は意見が一致せず、私はあなたのために解決する立場にありません。
つまり、偶然の場合は、これは誰にも尋ねられる質問ではありません。 オーディオ上に構築された商用製品の場合は、特定の音声モデルのライセンスを自分で読んで、データセット ページを読むのではなく、アドバイスを受けてください。
オーディオを公開する前に確認する必要があることは何ですか?
4 つのこと、順番に間違っている。
- 全部聞いてください。 これは当たり前のように聞こえ、日常的にスキップされます。これは、発音が間違っている名前をキャッチする唯一の方法です。
- 任意の固有名詞、頭字語、または単位。 モデルには編集できる辞書がありません。 「sei」または「gdpr」が間違っている場合、修正は入力テキストで音声的にスペルして入力が醜いことを受け入れることです。
- 長さ、スロットに対して埋める必要があります。 ペースは緩く制御できるので、2 番目のペースに合わせて計画するのではなく、余裕を持ってください。
- アップロードする前に変換してください。 2.6 MB 1 分の WAV は、Web ページに必要なものではありません。
サイトのサーバーで実行されるのはなぜですか?
人々が声に出して読んだテキストは、多くの場合、未発表の執筆です。
ドラフト、台本、カバー レター、スピーチ、送信について確信が持てないメッセージ。 従来の代替案では、文字ごとに請求するサービスに投稿し、誰も読んでいない用語の下にテキストを保持し、最初の単語の前にアカウントを必要とします。
ここでは、Web アプリの横にあるコンテナーに移動し、合成され、ファイルとして戻ってきます。 コストは、上記のすべての測定で目に見える: 一度に 1 つのスロット、3,000 文字の天井、22 kHz のモノラル、ブロードキャストではなく良い音声。 交換すると、テキストは、すでにページを信頼しているマシンによって読み取られました。



