見出し画像

TTS(音声合成)の現況とLLMを使った一考察

TTSについて

TTS(Text-to-Speech)の略でテキストから音声を生成する技術やツールのこと。

有名なのはずんだもんなどの読み上げソフトになる。

有名どころは以下のソフトなど。

現在活発なTTSツール

https://github.com/topics/tts

トレンドをチェックしたいのであれば、ここを参考にすると良いと思います。

個人的に触ってみて良さそうだったのは以下のツールたちです。

GPT-SoVITS

少しの音声データからその人に似た音声を生成できるツール
実際に使用したい場合、権利的に問題ないデータを使う必要がある。また、実際に使ってみた感じ、昔に比べてクオリティは高いが音がたまに歪んだものが出てきたりするので、飛び道具としては面白いけど実用の段階ではないという感想。

Bert-VITS2

こちらはかなりの学習データを必要とするが、その分クオリティが高い音声合成が行える。ただ、日本語が微妙なので後述するものをオススメしたい。

Style-Bert-VITS2

Bert-VITS2の日本語に最適化したバージョン。日本語に特化しているので英語などの読み上げはかなり微妙だが、日本語の読み上げは現在のツールの中ではかなりの水準にあると思う。

なので自分は Style-Bert-VITS2 で本の読み上げをしてもらっている。
全部のテキストを文字起こしさせるのは大変なので、クリップボードにコピーされた内容を読み上げられるツールを自作したので、気になる人は使ってみてください。

LLMを使った一考察

文字と発音を組み合わせて学習するアプローチは結構いいと思うが、あまり出てこないような読みや、文脈を理解してないと難しい読みの場合、やはり間違えて読み上げていることがあり、完璧ではないことがあった。

なので、LLMですべて平仮名に置き換えた書き起こし文があればいいのでは?と考えた。
そして、その生成したひらがなを既存の読み上げソフトに読ませたりすれば、読み上げは完璧なTTSが完成するという算段。

実際にやってみた結果が以下になります。

ChatGPT4o-mini

ChatGPT4o-miniの結果。今回比較した中で一番クオリティが高い気がする

Gemini

Geminiの結果。高性能の分かち書きが違うが、発声には問題なさそうなクオリティ

Claude

Claudeの結果。ちょっと区切りすぎだが、発声には問題ないクオリティ

Llama3.1

llama3.1-7Bの結果。カタカナや英語が残っている。読み仮名も間違っている

Phi3

phi3-3Bの結果。全然ダメ

最後に

という訳で商用のLLMは良い結果が出たが、ローカルLLMについては残念な結果となった。
70Bなどの大規模モデルをオンラインで試してみたけど、やっぱり精度は良くなかった。

70B
405B

計算コストを考えるとローカルLLMで完結しないとあまり旨味がないと感じる。。
また、商用のTTSのクオリティは上記のものより高いものもあるので
クオリティ>コスト
の場合は商用を検討すべきかと思います。

https://platform.openai.com/docs/guides/speech-to-text

ということでTTSの現況と、読み上げ部分をひらがなにLLMで変換するアプローチについての調査でした。

発展系の低レベルのアプローチとして、読み上げツールのアクセントを生成するツールをLLMでエミュレートさせるということもありかもと思いますが、それはまた暇ができたらやろうと思います。。

以上になります。ここまでご覧いただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?