Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
自力でTTSモデルを作った話
Search
Tatsuya Ando
February 22, 2025
Programming
0
410
自力でTTSモデルを作った話
オープンソースカンファレンス2025 Tokyo Springの東海道らぐLT大会で発表したスライドです
Tatsuya Ando
February 22, 2025
Tweet
Share
More Decks by Tatsuya Ando
See All by Tatsuya Ando
GitHub Copilotと和解せよ
zgock999
0
200
我ギガスクール構想ニ勝テリ
zgock999
0
190
GPUパススルーでVMからVRしてみよう
zgock999
0
2.7k
Other Decks in Programming
See All in Programming
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.5k
Cap'n Webについて
yusukebe
0
160
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
7
4.3k
CSC307 Lecture 02
javiergs
PRO
1
740
Grafana:建立系統全知視角的捷徑
blueswen
0
270
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
710
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
760
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.3k
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
120
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
290
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
600
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
180
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
1
340
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
140
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
120
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
54
49k
How to make the Groovebox
asonas
2
1.9k
Code Review Best Practice
trishagee
74
19k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Git: the NoSQL Database
bkeepers
PRO
432
66k
We Are The Robots
honzajavorek
0
130
My Coaching Mixtape
mlcsv
0
21
Game over? The fight for quality and originality in the time of robots
wayneb77
1
74
Transcript
自力で TTS(用モデル)を 作った話 東海道らぐ2025 Tokyo Spring
お前誰よ ▪ ・安藤と申します ▪ ・openSUSEユーザー会名古屋ドメイン ▪ ・体調の都合でしばらくお休みしてました
最近はAI関係でよく遊んでます ▪ ・画像生成AIで遊んだりとか ▪ ・ローカルでLLM建てたりとか ▪ ・ついに音声合成にも手を出して(今回はここの話)
Zonosという音声生成システム ▪ ・2月頭に登場したバリバリの新星 ▪ ・いわゆるワンショットTTS/ボイスクローナー ▪ ・同種のいろいろよりもかなり高いクローン性能
いいことばかりでもない ▪ ・出力がかなりガチャで良い時は良いが、ひどい時もある ▪ ・そもそも一部日本語を読ませると出力が破綻する ▪ ・ただ、それで見切ってしまうにはあまりにも惜しいクローン性能
よろしい、ならば ▪ ・まっとうに日本語が読める学習系TTSの素材吐かせればよくね?
Style-Bert-VITS2 ▪ ・最近人気の日本語TTS ▪ ・中国生まれのTTS、Bert-VITSの日本語特化fork ▪ ・元テキストの文脈から、ある程度感情分析しながら発音 ▪ ・読みのbackendにpyopenjtalkを使っており、読めない日本語があった
りとかはさすがにない ▪ ・学習させるには延べ10~30分ぐらいの音声素材が必要 ▪ ・↑この素材をZonosに作らせたらええやん!
ITAコーパス ▪ https://github.com/mmorise/ita-corpus ▪ ・日本語に登場する音素を網羅した読み上げ用テキスト ▪ ・100個の短い文章で構成されている ▪ ・テキストそのものはCC0
▪ ・Style-Bert-VITS2の学習元作成ではスタンダード ▪ ・Zonosにこれを読ませよう
ダメでした ▪ ・Zonosの日本語の音素化が不完全なため、半分ぐらいの文章で出力が 破綻する ▪ ・そもそもITAコーパスがTTS苛めといっても良いぐらい意地悪な内容 ▪ 「どーすんの、このお店。完ッ全に閑古鳥が鳴いちゃってるじゃない。」 ▪
「ひぇーん。びぇーん。ぴぇーん。」 ▪ 「ラーテャン。」 ▪ ↑↑テスト用データとしては極めて正しい
なんで破綻するのか ▪ ・Zonosの音素化バックエンドはespeak-ng ▪ ・かなーり昔からある多言語対応TTS ▪ ・日本語サポートを一応しているがめっちゃ不完全 ▪ ・不完全なサポートのまま日本語辞書は3年前から未更新
▪ ・「とても恐ろしい集団真理である...そう、誰もメンテをしていないのである」 ▪ ・対策...するか
いろいろ考えた、いろいろ試した ▪ ・backendをpyopenjtalkにする? →そもそもZonosがespeak-ngの不完全な音素で学習してるので pyopenjtalkが吐いた音素からうまく推論できない ▪ ・espeak-ngをメンテする? →そもそもZonosがespeak-ngの不完全な音素で学習(略) ▪
・espeak-ngが破綻した音素を吐いたら後処理で補正する? →そもそもZonosがespeak-ngの不(略)
超絶雑ハック注意 ▪ ・espeak-ngはカタカナしか読めないのでZonosではSudachiを使ってカ タカナ化して渡している ▪ ・この時点でespeak-ngが破綻するカタカナパターンをフィルタする (「ティ」を「チ」に、「ヴィ」を「ビ」にetc..) ▪ ・多少滑舌が怪しくなるけどエラーで破綻するよりはましやろがい!
というわけでパッチ当てた ▪ https://github.com/zgock999/Zonos-Ja ▪ ・日本語対策雑パッチ適用 ▪ ・ついでにうちのQuadro RTX5000で動くようにfp16で動くモードを追加。 (デフォルトはbfloat16なのでRTX30xx以降専用)
さあ、データ作るべ ▪ ・openGameArtからCC0の英語ボイスを調達 ▪ ・バッチ処理でITAコーパスを一括で出すpythonコードを記述 ▪ ・数回の生成ガチャで出来の良い音声を抽出 ▪ ・Style-Bert-VITS2で学習(RTX3060で3時間程度)
できますた ▪ Zonoko Japansese Voice for Style-Bert-VITS2 ▪ https://huggingface.co/zgock/style-bert-vits2-zonoko-cc0
▪ https://hub.aivis-project.com/aivm-models/7fc08a41-b64d-456d- 8b22-8e1284674775