ずんだもんの声をBPM120に乗せる。日本語ラップの制約と、削除した英語版

開発mdx-playground

AIで作った落語のラップの動画を見た。 むちゃくちゃ面白い。 ラップなので、当たり前のように韻を踏んでいる。

前日に自分の声を複製してBPM120のビートに乗せる検証をやったばかりだった。 文の頭を小節の頭にそろえるところは、もう動いている。 足りないのは韻のほうだ。

声を替えても同じテンポで乗るか

まず声を替えて、同じことをやらせた。 前回は自分の声を複製したもの、今回はVOICEVOXのずんだもんにする。 自分の声である必要はないので、ナレーターの声でいいと伝えた。 UIも配置ロジックも前回のページを流用させ、2つを並べて聞き比べられるようにした。 途中でモデルをFable 5に切り替えて、同じ指示をもう一度考え直させている。

出てきた数字はこうなった。

  • ずんだもんの素の話速は383モーラ/分(前回の自分の声は356モーラ/分)
  • BPM120(480モーラ/分)に合わせる speedScale は 1.24986、再合成後の実測はBPM119.89
  • 12文すべてが小節の頭に乗り、ズレは0ms

速さの調整では、合成した音をffmpegで伸び縮みさせない。 VOICEVOXにspeedScaleを渡して、その速さのまま合成しなおす。 音質が落ちない。 文の前後に入る無音は0にしておいて、間は自分で設計する。

読みが1か所だけ崩れた。 「一小節」が「イチショオセツ」と読まれる。 表示は漢字のまま、渡す読みだけ「いっしょうせつ」に差し替えて直した。

韻と日本語の文末

原稿は、普通の解説として読めるのに2文ずつ文末の母音がそろう12文にさせた。

この声は、ボイスボックスのキャラクター、ずんだもん。
話す速さも、文のあいだも、ぜんぶ数値で組んだもん。

「ずんだもん/組んだもん」で、う-ん-あ-お-んの5モーラが完全に一致する。 以下、「先頭/連動」「音声合成/音の構成」「一小節/直結」「検証/テンポ」「解説/配列」と続く。

聞きながら気づいた。 12文の文末が全部名詞で終わっている。 当たり前だ。 韻は文末で踏むのに、日本語の丁寧語は全部「です」「ます」で終わってしまう。 「〜しています」の文を2つ並べても、韻を踏んだことにはならない。 同じ語尾が並んだだけだ。 日本語でラップをやるなら、少なくとも丁寧語は捨てることになる。今回は体言止めでそろえた。

では英語はどうなのか。 英語は単語の終わりと次の単語の頭がつながって発音される。 文末の縛りが日本語ほどきつくないなら、そのぶん自然にラップへ乗るのではないか。

英語なら楽なのか

先に、VOICEVOXへ英文をそのまま入れたら何が起きるかを実測させた。 返ってきた結論は「本物の英語発音は出せないが、カタカナ英語のラップなら実用レベルで可能」だった。

それならと、音がつながるネイティブ寄りの発音のほうで作らせた。 「チェケラ」「ゲラップ」「スターツォンダワン」のように、リンキングしたまま片仮名に落とす書き方だ。 8行、各行16モーラ以内で1小節に収め、毎小節のキックの1拍目から声が立ち上がる設計にさせた。

数字はまたきれいにそろった。

  • BPM120に対して実測119.99
  • 8行すべてズレ0ms
  • 行間の息継ぎは0.08〜0.47秒

再生した。 何を言っているのか分からなかった。 英語として聞き取れず、日本語としても意味が取れない。 ズレ0msは「ビートに乗っている」ことしか保証しない。 言葉として耳に届くかどうかは、別に確かめるしかない。

英語版はやめると決めた。 「これはもう全部削除でいい」と言ったあとで、日本語版まで消えると気づいて「英語だけ」と言い直している。 削除の途中では再帰削除のガードに止められ、ファイルを1件ずつ消す形に切り替えさせた。 そのとき「関係ないファイルが1件リストから消えている」と報告が上がってきた。 確認させたところ、これは自分が別件で削除を頼んだものだった。

日本語のずんだもん版だけが残った。 それだけをコミットしてプッシュさせた(学習ゲートはスキップ)。

→ ずんだもん版の検証ページ(波形にビートと文頭のズレを重ねて表示)

残ったもの

  • 韻を踏む原稿は、文末をそろえる設計とセットになる。少なくとも日本語では丁寧語をあきらめることになる
  • 検証ページの数値がそろっても、意味が伝わるかは自分の耳で聞くまで分からない
  • カタカナ英語は、音の並びをどれだけ丁寧に写しても英語には聞こえなかった

丁寧に喋りながら韻を踏む方法は、まだ思いついていない。 体言止めだけで12文書くと、解説としては少し硬い。 英語をやるなら英語を喋れるエンジンに替えることになるが、そこまでして英語版が要るのかは決めていない。

#音声合成 #VOICEVOX#ラップ#ビート#実験