MYCOEIROINKモデル作成方法
『MYCOEIROINK』は、
読み上げ音声合成ソフト『COEIROINK』で使用することの出来る合成音声モデルを
自作することが出来るサービス、およびその合成音声のことです。
誰でも無料で簡単に、パソコンのスペックなども関係なく作成できます。
こちらのページは初心者さん向けに収録方法を説明しています。
より詳しく見たい方は、鹿仲茉菜さんの『MYCOE作成用メモ』もご覧ください。
⚠️気付いた時に更新をしておりますが、情報が古い場合もありますのでご注意ください
MYCOEIROINK作成の大まかな流れ
『コーパス』という台本と、
『OREMO』というフリーソフトをダウンロード&設定をし、
最小10文、最大652文(ITAコーパス424文+MANAコーパス228文)を収録。
『Google colab』というサイトを使い、
説明通りに進めながら、ブラウザ上で音声を学習させモデルを生成。
生成されたモデルフォルダをDLし、
アイコン画像やサンプル音声などを設定し、
COEIROINKのモデル用フォルダへ入れる。
1
OREMOでコーパス文を収録
①収録ソフト『OREMO』をダウンロード
最新の『OREMO』(収録フリーソフト)をDL
(Release Files一番上の.zip)
https://ja.osdn.net/users/nwp8861/pf/OREMO/wiki/FrontPage
※すでにDL済みの方はOREMOフォルダ内の[result]フォルダの中を空にしておいてください。
②台本『コーパス』をダウンロード
[ITAコーパス] (※こちらではHaruqaさん配布のフォルダを使用しています)
画面右の緑色のボタン[Code▼]をクリック→[Download ZIP]をクリック。
DLされたzipを解凍(解凍方法によっては文字化けするので、7-zipなどがおすすめ)。
ITAコーパスとは?
[Emotion(口語調)100文]+[Recitation(朗読調)324文]の計424文からなる、
パブリックドメインの日本語テキストコーパス(台本/文章集)。
[MANAコーパス]
① https://github.com/shirowanisan/coeiroink-corpus-manager
画面右の緑色のボタン[Code▼]をクリック→[Download ZIP]をクリック。
② https://hakuti-106.booth.pm/items/4242772 (※白痴ーさん配布のフォルダを使用しています)
無料ダウンロードをクリック。
MANAコーパスとは?
あいさつ文や疑問文、日常会話を中心としたコーパス。全228文。
パブリックドメインの日本語テキストコーパス(台本/文章集)。
③OREMOの準備 その1
先ほどDLしたOREMOを起動
【文字の大きさの調節】
OREMOの [オプション]→[フォントサイズの設定]
数値は上から16/10/10あたりがおすすめ。
(※OREMOを再起動すると反映される)
【音名リストの読み込み】 (ITAコーパスrecitationの場合) (他のコーパスを収録したい場合は下記)
1.左上の[ファイル]→[音名リストの読み込み]をクリック
2.先ほど②でDL解凍した「ita-corpus-main」フォルダ→「OREMO音名リスト」フォルダ→「recitation_transcript_shiftjis.txt」を選択
【コメントファイル(読み仮名)の読み込み】 (ITAコーパスrecitationの場合) (他のコーパスを収録したい場合は下記)
1.OREMO左上の[ファイル]→[コメントファイルの読み込み]をクリック
2.先ほど②でDL解凍した「ita-corpus-main」フォルダ→「OREMOコメント」フォルダ→
「recitation_transcript」フォルダ→「OREMO-comment.txt」を選択
④OREMOの準備 その2 (オーディオ設定)
1.OREMOの[オプション]→[オーディオI/O設定]
2. 設定画面中央のPortAudioで「①録音する」にチェック
3. [入力デバイス]のプルダウンから、②収録に使うデバイスを設定
4. サンプリング周波数に「③48000」と入力、「④適用」or 「⑤OK」をクリック
(MYCOEIROINKの推奨設定は44.1kHzですが、ITAコーパスを他の合成音声などに流用する際に48kHzで収録しておいた方が便利です)
※PortAudioの設定はOREMOを閉じた時に保存されない。起動するたびに設定する必要があるので注意。(図1参照)
図1 オーディオ設定
[収録時の注意事項](大事)
・「、」(読点)はしっかり間を空ける
・それ以外では間を空けない
・文中の「・」(中黒)は間を開けず続けて読む
・OREMOを再起動した際は④のオーディオ設定手順をもう一度する。(図1参照)
・音量/話速/声のトーンは出来るだけ(文面に関わらず)一定に。
・マイク音量を適切に、割れない程度に大きく。
・ノイズやブレス音などの余計な音が入らないようにする。
・手元にPDF版台本などを用意することを推奨
長文の場合OREMOに表示しきれなくなる場合があるため、
pdf版台本(「ita-corpus-main」フォルダ内に入っている)を手元に用意すると良い。
・左右キーに注意(図2参照)
OREMOを開いているときに「←」「→」キーを押さないように。
OREMO画面、収録文リスト右横の「 」「↑」「↓」は、一番上の空白(※)が選択されている状態にしておく。
※OREMOフォルダ内の『typelist.txt』を開いて、入力されている文字を削除し上書き保存すると
↑↓が表示され なくなるので、その作業をしておくと心配がなくなると思います。
[そのほか参考 (MYCOEIROINKの学習GoogleColabページやMYCOE作成用メモに注意点がまとめてあります)]
・平坦に読みすぎると、セリフを読ませた際に棒読みのように感じてしまうことがあります。→程よく
・感情表現のスタイルを収録したい場合は、文章の内容に関わらず、同じような表現/抑揚/強さで読む事が大切です。
・「テャ、テュ、テョ」などの拗音は「テヨ(t-e y-o)」の二音ではなく「テョ(ty-o)」の一音での発音です。
・語尾を伸ばしてしまうと、合成が不自然になる場合があります。
・疑問文は語尾を上げる想定ですが、「そうですか?」を「そうですかぁ?」のように伸ばしたり大げさにすると不自然になる可能性があります。
文脈に合わせて自然な語尾にするのがおすすめです。
⑤Recitation(朗読調324文)収録
まずは、先ほど読み込んだリストRecitation(朗読調)324文から録音していきます。
Emotion(口語調100文)やMANAコーパスが先でもOKです。
※全文収録した方が(基本的には)クオリティが高くなりますが、最小10文から学習可能です。
全文収録しない場合は、MANAコーパス>ITA emotion>ITA recitation がおすすめとのこと。
[OREMO録音方法]
・キーボードの「R」を押している間録音されます (余計な音が入らないよう注意)。
・「↓」キーを押すと先ほどの音が保存され、次の文に移ります。
・「5(%)」キーで再生できます。
注意事項(特に間の取り方)を確認し、録音してください。
※文中の「・」は続けて読む/句読点はしっかり間を空ける/それ以外では間を空けない。
※OREMOを再起動したらオーディオ設定(図1参照)をし直す。
録音されたwavはOREMOフォルダ内の[result]フォルダに保存されます。
(保存先の変更は、OREMOウィンドウ下部にある[保存先フォルダ]から可能)
⑥Emotion(口語調100文)収録
「Emotion(口語調文)100文」を録音します。
【音名リスト読み込み】
1.OREMO左上の[ファイル]→[音名リストの読み込み]をクリック
2.DL解凍した「ita-corpus-main」フォルダ→「OREMO音名リスト」フォルダ→「emotion_transcript_shiftjis.txt」を選択
【コメントファイル読み込み】
1.OREMO左上の[ファイル]→[コメントファイルの読み込み]をクリック
2.「ita-corpus-main」フォルダ→「OREMOコメント」フォルダ→「emotion _transcript」フォルダ→「OREMO-comment.txt」を選択
●先ほどの[OREMO録音方法]と同じ手順で録音してください。
⑦MANAコーパス収録
2
Google colabでモデル作成
①学習準備
※ノイズ除去したい場合はここで各自しておいてください。
※変換前にwavのバックアップをとっておくことがおすすめです!
【ITAコーパスのファイル名の変換】
1. 収録手順②でDLした「ita-corpus-main」フォルダ→「ファイル名をいい感じにするやつ」フォルダ→
[emotion_transcript_音名→ファイル名.bat]と[recitation_transcript_音名→ファイル名.bat]を、
OREMOの「result」フォルダにコピー&貼り付け。(※OREMOの保存先フォルダを変えている場合は、保存先フォルダにコピペ)
2. 貼り付けした2つの.batをダブルクリックで実行
(wavファイル名が『EMOTION100_001.wav』のようになっていれば成功)
【MANAコーパスのファイル名の変換】
1. 収録手順②でDLした「MANAコーパス_oremo」フォルダ→「MANA_transcript_音名→ファイル名.bat」を、
OREMOの「result」フォルダにコピー&貼り付け。
2. 貼り付けした「MANA_transcript_音名→ファイル名.bat」をダブルクリックで実行
(wavファイル名が『AISATSU_001』のようになっていれば成功)
【フォルダの作成】
ファイル名変更したwavがすべて入ったフォルダをzip化
②Google colabでのモデル生成
書いてある指示に従えばOKです。
わかりやすく説明してくださっているので、利用規約、注意点などしっかりと確認し、指示に従って進んでください。
※ブラウザを使用するためパソコンのスペックは必要ありません。
※推奨は44.1kHzとありますが、48kHzのまま学習を回しても問題ありませんでした。(おそらく自動で変換される)
MYCOEIROINKのモデル学習は、最低30epoch程度で安定し、最大100epochの学習が可能。(epochは学習の進行度)
基本的に100エポックまで回した方がモデルは安定しますが、
Google colabを無料で使用する場合、基本的に3~6時間程度(15エポック程度?)で上限になり学習が止まるため、
無料会員の場合かなりの日数を要します。(1日以上開けると再開が可能)
有料会員になると、学習速度が上がり上限も上がるため、かなり快適に100エポックまで回せるようになると思います。
➡(2024年2月)無料会員では以前よりすぐに止まってしまうようです。学習する月のみ有料会員になるのがおすすめです。
しゅがもあ様の記事が参考になるかと思います。https://privatter.net/p/10337479
3
COEIROINKにモデルを追加
①作成されたモデルのダウンロード
※Google colabページの説明がわかりやすいので、そちらを見てください。
先ほどのGoogle colabの『▼モデルをCOEIROINKで動かすには?』に書いてある通りに、
1.Googleドライブの「MYCOEIROINK_WORK/speaker_info」内の「数値と文字で構成されるフォルダ」をダウンロード。
2.「MYCOEIROINK_WORK/exp/tts_mycoe_model」内の「xx.epoch」の「xx」が最大となるものと「config.yaml」をダウンロード。
ダウンロードした「数値と文字で構成されるフォルダ」内の「数値と文字で構成されるフォルダ/model/数値/」の下に、
「xx.epoch」と「config.yaml」を入れる。
COEIROINKソフトフェア本体の「COEIROINK-CPU-v.x.x.x/speaker_info」の中に「数値と文字で構成されるフォルダ」を入れる。
②アイコンや名前などの変更
※Google colabページの説明がわかりやすいので、そちらを見てください。
「数値と文字で構成されるフォルダ」内の特定のファイルを置き換え/書き換えていきます。
[アイコン]
「iconsフォルダ」→「10桁の数字.png」(入れ替えたい画像を同じファイル名で置き換え)
[キャラクター画像]
「modelフォルダ」→「portrait.png」(入れ替えたい画像を同じファイル名で置き換え)
[サンプルボイス]
「voice_sampleフォルダ」→「10桁の数字_001.wav」から「10桁の数字_003.wav」 (入れ替えたいサンプルwav音声を同じファイル名で置き換え)
[モデル名]
「metas.json」をメモ帳などで開き、 「"speakerName": "MYCOEIROINK",」のMYCOEIROINKの部分を表示したい名前に変更し上書き保存
※スタイル(同キャラクターの別感情パターンモデルなど)を1つのキャラクターとして表示させることも可能です(Google colab参照)
モデル追加完了!
正しく追加できていれば、『COEIROINK』を起動すると自作のMYCOEIROINKが選択できるようになっているはずです。
モデルを配布する場合は、「数値と文字で構成されるフォルダ」を配布し、
ユーザーさんがそれぞれspeaker_infoフォルダに入れることで使用できるようにします。
(MYCOEIROINK公式ページに説明があります。)
プロフィール
UTAU音源
TALQuモデル
COEIROINKモデル
コーパス読み上げ音声
立ち絵素材
利用規約
お問い合わせ