
音声合成の学習データ、10時間・5時間・3時間で比べてみた。3言語を喋るTTSでほぼ差なし
クロアチア語の音声合成モデルの続き。今回は1つの小さいモデルに、クロアチア語・日本語・英語の3言語を喋らせた。そのうえで、「学習データは各言語10時間・5時間・3時間で、どれくらい違うのか」を比べてみた。
先に結論。
- 各言語10時間でも5時間でも3時間でも、最終的にはほとんど変わらなかった。 一番良い時点の文字誤り率は、3つとも0.7%(32文中28文が完全一致)
- 学習の進み方もほぼ同じ。どれも日本語と英語は3,000〜5,000ステップで、クロアチア語も10,000ステップでほぼ台本通りに読めた
- 3時間版だけ、途中で「Bok!(やあ)」を「Blok」と読み違える癖がしばらく残った。最良の状態に落ち着くまで少し長くかかる
- 専門用語だらけの文でも差は出なかった。10時間の方が語彙に強いと思って試したが、3つともほぼ同じだった
- 専門用語の読み間違いは、3つのモデルで同じ単語に同じように出た。英語では、原因はモデルではなく、文字を発音記号に変える部分(辞書)だった
やったこと
モデル:前回と同じ Matcha-TTS(約1,830万パラメータ)と、波形に戻す Vocos(約1,350万パラメータ)。話者は20代の男性1人。
3言語にする工夫:モデルの入力を3言語共通の発音記号(IPA)にした。「ʦ」「ʨ」のように言語をまたいで同じ音は、同じ記号を共有する。どの言語を喋るかは、本来は話者を切り替えるための番号を「言語の番号」として使って指定している。
- クロアチア語:ほぼ書いた通りに読む言語なので、文字を1対1で発音記号に置き換えるだけ
- 日本語:OpenJTalk で読みとアクセントを取り出し、音の高さが上がる所・下がる所の印を付けた
- 英語:g2p_en(CMU 発音辞書と、辞書にない単語の発音を推測する小さなモデル)で発音記号にした
学習データ:同じ男性の声で、3言語の会話のセリフを読んだ音声。音声認識で台本と比べて読み間違いを除いた後の量は、クロアチア語9.4時間、日本語9.7時間、英語8.3時間(合計約27時間)。これを「10時間版」と呼ぶ。
ここから各言語ちょうど5時間ずつ(合計15時間)をランダムに抜き出したのが「5時間版」、3時間ずつ(合計9時間、約5,800本)が「3時間版」。それ以外の設定(モデルの大きさ、バッチサイズ、60,000ステップ)はすべて同じにした。同じステップ数なので、データが少ないほど同じ音声を何度も見ることになる(3時間版は10時間版の約3倍)。
学習は RTX 4090 1枚で、1回あたり6〜8時間半かかった。
学習途中の声を聞き比べる
学習データに入っていない次の文を、学習途中のモデルで合成した。
- 英語:Tomorrow we're going to the seaside, and the day after we'll visit my grandma in Split.
- 日本語:明日は海に行って、あさってはおばあちゃんの家に遊びに行く予定です。
- クロアチア語:Sutra idemo na more, a prekosutra ćemo posjetiti baku u Splitu.
左から10時間版、5時間版、3時間版。
| ステップ | 10時間版 | 5時間版 | 3時間版 |
|---|---|---|---|
| 1,000 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 2,000 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 3,000 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 4,000 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 5,000 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 10,000 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 20,000 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 30,000 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 40,000 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 50,000 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
聞いた印象では、1,000ステップはどれもまだ不明瞭。でも英語はもう何を言っているかだいたい分かる。日本語は版によって差があって、5時間版は1,000ステップの時点でこの文を一字一句正しく書き起こされた。一方、10時間版は「お世話になってみてください」、3時間版は「明日までのメディックで…」と、まったく別の文になっていた。
3,000〜5,000ステップで、日本語と英語はどれも台本通りに読めるようになる。クロアチア語は少し遅れて、最初の「Sutra(明日)」が「Sve」「Straj」「Satra」などと聞き取られるのが5,000〜10,000ステップ前後まで残った。20,000ステップ以降は、聞いても3つの違いはほとんど分からなかった。
数字で見る
評価用の文(クロアチア語14文、日本語9文、英語9文、すべて学習データ外)を Whisper large-v3 で書き起こし、台本との文字誤り率(CER)を測った。日本語は漢字の表記ゆれ(「あさって」と「明後日」など)で誤りにならないよう、カタカナの読みに直してから比べている。
まず3言語の全32文の平均。カッコ内は完全一致の数。
| ステップ | 10時間版 | 5時間版 | 3時間版 |
|---|---|---|---|
| 1,000 | 43.8%(2) | 41.9%(2) | 43.8%(1) |
| 2,000 | 16.6%(7) | 17.7%(12) | 17.6%(9) |
| 3,000 | 7.7%(16) | 6.2%(16) | 9.9%(14) |
| 4,000 | 5.9%(21) | 3.7%(19) | 2.7%(25) |
| 5,000 | 2.1%(23) | 3.3%(20) | 4.5%(23) |
| 10,000 | 1.4%(24) | 1.1%(23) | 1.7%(24) |
| 15,000 | 0.8%(26) | 0.7%(26) | 2.0%(24) |
| 20,000 | 0.7%(27) | 0.8%(26) | 0.9%(25) |
| 30,000 | 0.7%(28) | 0.8%(26) | 1.7%(26) |
| 40,000 | 1.2%(25) | 1.7%(26) | 0.7%(26) |
| 45,000 | 3.9%(25) | 0.7%(28) | 0.7%(27) |
| 50,000 | 0.7%(28) | 0.7%(26) | 0.7%(28) |
| 60,000 | 1.8%(26) | 0.8%(27) | 1.9%(25) |
言語別に見ると、こうなる(クロアチア語 / 日本語 / 英語)。
| ステップ | 10時間版 | 5時間版 | 3時間版 |
|---|---|---|---|
| 5,000 | 2.8 / 1.2 / 1.8% | 6.5 / 1.2 / 0.3% | 2.0 / 1.8 / 11.1% |
| 10,000 | 2.2 / 1.2 / 0.3% | 1.7 / 1.2 / 0.3% | 2.9 / 1.2 / 0.3% |
| 20,000 | 0.8 / 1.2 / 0.0% | 0.9 / 1.2 / 0.0% | 0.8 / 1.8 / 0.3% |
| 30,000 | 0.7 / 1.2 / 0.0% | 1.1 / 1.2 / 0.0% | 3.2 / 1.2 / 0.0% |
| 50,000 | 0.7 / 1.2 / 0.0% | 0.9 / 1.2 / 0.0% | 0.7 / 1.2 / 0.0% |
- 一番良かったのは、10時間版が30,000と50,000ステップ、5時間版が45,000ステップ、3時間版が50,000ステップ。どれも全体0.7%、32文中28文が完全一致で、3つとも同じところに着いた
- 途中で数字が跳ねている所は、ほぼ1単語の違い。「Bok!(やあ)」が「Bog」、「Hi!」が「Bye.」と聞き取られたなど、1〜2語の短い文は1文字違うだけで誤り率が大きく跳ねる
- 3時間版は、15,000〜35,000ステップでクロアチア語が3%台になっている。中身を見ると、ほとんどが「Bok!」を「Blok」と読む1文。50,000ステップでは直っていた。データが少ないと、短い文の癖が抜けるまで時間がかかるようだ
- 日本語の1.2%は、毎回「しーっ、静かに。」の「しーっ」が「し」と書き起こされる1文だけ。長音をどこまで書くかの問題で、聞くとちゃんと「しーっ」と言っている
- クロアチア語の残りは「prekosutra(あさって)」が「preko sutra」と2語に分けて書かれるなど、書き起こし側の癖がほとんど
10時間・5時間・3時間の差は、誤差の範囲だった。 少なくとも「台本通りに読めるか」については、各言語3時間で足りた。ただし3時間版は落ち着くまでに長くかかったので、4万ステップ以上は回した方がいい。
専門用語だらけの文で比べる
普段の会話ならデータが少なくても足りるとして、学習データにほとんど出てこない難しい単語なら、データが多い方が強いのではないか。そう考えて、医学・IT・法律・化学・金融などの専門用語を詰め込んだ文を10文作り、3言語で読ませた。どのモデルも50,000ステップのものを使った。
- 心筋梗塞の疑いがあるので、至急、冠動脈造影と血栓溶解療法の準備をしてください。
- We suspect a myocardial infarction, so please prepare coronary angiography and thrombolytic therapy immediately.
- Sumnjamo na infarkt miokarda, zato odmah pripremite koronarnu angiografiju i trombolitičku terapiju.
- このアルゴリズムは、畳み込みニューラルネットワークと再帰型ネットワークを組み合わせた構造です。
- This algorithm combines a convolutional neural network with a recurrent architecture.
- Ovaj algoritam kombinira konvolucijsku neuronsku mrežu s rekurentnom arhitekturom.
- 被告人の弁護士は、証拠の違法収集を理由に、控訴審で無罪を主張した。
- The defendant's attorney argued for acquittal on appeal, citing the unlawful acquisition of evidence.
- Branitelj optuženika zatražio je oslobađajuću presudu u žalbenom postupku zbog nezakonito pribavljenih dokaza.
- 光合成では、葉緑体のチラコイド膜で電子伝達系が働き、アデノシン三リン酸が合成される。
- In photosynthesis, the electron transport chain in the thylakoid membrane of the chloroplast produces adenosine triphosphate.
- U fotosintezi lanac prijenosa elektrona u tilakoidnoj membrani kloroplasta proizvodi adenozin-trifosfat.
- 量子もつれを利用した暗号鍵配送は、盗聴を原理的に検出できる。
- Quantum key distribution based on entanglement can, in principle, detect any eavesdropping.
- Kvantna distribucija ključeva temeljena na spregnutosti u načelu može otkriti svako prisluškivanje.
- 中央銀行は、インフレ率の上昇を受けて、政策金利の引き上げと量的引き締めを決定した。
- Responding to rising inflation, the central bank decided to raise interest rates and begin quantitative tightening.
- Zbog rasta inflacije središnja banka odlučila je povisiti kamatne stope i započeti kvantitativno pooštravanje.
- 変形性膝関節症の患者には、ヒアルロン酸の関節内注射と理学療法を併用します。
- Patients with knee osteoarthritis receive intra-articular hyaluronic acid injections combined with physiotherapy.
- Pacijenti s osteoartritisom koljena dobivaju intraartikularne injekcije hijaluronske kiseline uz fizioterapiju.
- この橋梁は、鉄筋コンクリートの床版を、プレストレストコンクリートの桁で支えている。
- This bridge supports a reinforced concrete deck on prestressed concrete girders.
- Ovaj most nosi armiranobetonsku ploču na prednapregnutim betonskim nosačima.
- 仮想通貨の取引所は、分散型台帳の整合性を、合意形成アルゴリズムで検証している。
- The cryptocurrency exchange verifies the integrity of its distributed ledger with a consensus algorithm.
- Mjenjačnica kriptovaluta provjerava cjelovitost distribuirane glavne knjige algoritmom konsenzusa.
- 抗生物質の過剰投与は、多剤耐性菌の出現を招き、院内感染のリスクを高める。
- Excessive use of antibiotics leads to multidrug-resistant bacteria and increases the risk of nosocomial infections.
- Prekomjerna uporaba antibiotika dovodi do multirezistentnih bakterija i povećava rizik od bolničkih infekcija.
| 文 | 10時間版 | 5時間版 | 3時間版 |
|---|---|---|---|
| 1. 心筋梗塞の疑いがあるので、至急、冠動脈造影と血栓溶解療法の準備をしてください。 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 2. このアルゴリズムは、畳み込みニューラルネットワークと再帰型ネットワークを組み合わせた構造です。 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 3. 被告人の弁護士は、証拠の違法収集を理由に、控訴審で無罪を主張した。 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 4. 光合成では、葉緑体のチラコイド膜で電子伝達系が働き、アデノシン三リン酸が合成される。 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 5. 量子もつれを利用した暗号鍵配送は、盗聴を原理的に検出できる。 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 6. 中央銀行は、インフレ率の上昇を受けて、政策金利の引き上げと量的引き締めを決定した。 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 7. 変形性膝関節症の患者には、ヒアルロン酸の関節内注射と理学療法を併用します。 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 8. この橋梁は、鉄筋コンクリートの床版を、プレストレストコンクリートの桁で支えている。 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 9. 仮想通貨の取引所は、分散型台帳の整合性を、合意形成アルゴリズムで検証している。 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
| 10. 抗生物質の過剰投与は、多剤耐性菌の出現を招き、院内感染のリスクを高める。 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 | 英語 日本語 クロアチア語 |
結果。
| クロアチア語 | 日本語 | 英語 | 30文中の完全一致 | |
|---|---|---|---|---|
| 10時間版 | 0.6% | 1.5% | 4.6% | 17 |
| 5時間版 | 0.3% | 1.0% | 3.9% | 20 |
| 3時間版 | 0.5% | 1.0% | 4.1% | 18 |
10時間版の方が強い、という結果にはならなかった。 3つとも同じくらいで、むしろ5時間版がわずかに良い。念のため10時間版と5時間版を60,000ステップのモデルでも測ると、10時間版1.9%、5時間版2.0%と逆転した。つまり、この差はたまたまの揺れで、どれが上とも言えない。なお3時間版だけは、GPU が別の作業で埋まっていたので CPU で合成と書き起こしをした。そのぶん条件は少しだけ違う。
面白かったのは、間違いの中身。
- 英語の「cryptocurrency」は、3つのモデルすべてが「Kripke-Kunershi」「Kripke-Kinoshi」「Kripik-Innershi」のように聞き取られた
- 「intra-articular」「multidrug-resistant」「angiography」も、3つのモデルが同じように崩れた
- 日本語の「冠動脈造影」は3つとも「〜増え」、「床版」は3つとも「障板」と書き起こされた
- クロアチア語の「pooštravanje(引き締め)」は、すべてのモデルが「poštravanje」と聞き取られた
データ量が違うモデルが、同じ単語で同じように間違える。英語については原因がはっきりしていて、モデルではなく文字を発音記号に直す部分だった。
今回のモデルは文字を直接読まず、発音記号を読む。英語では、辞書にない単語の発音を g2p_en が推測する。実際に確かめると、「cryptocurrency」は「クリパキュナーシ」に近い発音記号に、「angiography」は途中に n が入った発音記号に変換されていた。モデルは渡された発音記号をその通りに声にしているだけなので、学習データが10時間でも3時間でも同じ所で間違える。
日本語は事情が少し違う。OpenJTalk の読みは「床版(ショーバン)」「冠動脈造影(カンドーミャクゾーエー)」と正しかった。「床版」が「障板」になったのは同じ読みの別の漢字で、読み方としては合っている。「造影」が「増え」になったのは、珍しい言葉を Whisper が聞き慣れた言葉に寄せたのか、モデルの発音が甘いのか、今回の測り方では区別できない。ただ、ここでも3つのモデルは同じように間違えていた。
つまりこの仕組みでは、少なくとも英語の専門用語の強さは、学習データの量ではなく発音辞書で決まる。専門用語に強くしたいなら、データを増やすより、辞書に単語を登録する方が早い。
まとめ
- 3言語を1つの小さいモデル(合計約3,200万パラメータ)で喋らせられた
- 学習データは各言語10時間でも5時間でも3時間でも、読みの正確さは最終的にほぼ同じだった。3時間版は落ち着くまで少し長くかかる
- 専門用語でも差は出なかった。間違いは発音辞書の側で起きていて、データ量では直らない
データを作るのは時間もお金もかかるので、まず各言語3時間で作ってみて、足りなければ足す、で良さそうだ。次はこの結果をもとに、言語を10個に増やしてみるつもり。ただし今回測ったのは「何と言っているか」だけ。声の自然さや感情の幅など、文字誤り率で測れない部分では、データが多い方が有利な可能性はある。そこは耳で確かめたい。



