見出し画像

VOICEVOXで仮ボイス作る

仮ボイスとは?

まだ収録前の段階で、音を鳴らしながら演出を組みはじめたいということが多々あります。また、実際にどれくらいの時間がかかるかなどの目安としたり、最終系を想像する補助にもなります。

台本から、セリフに落とし込んで、
組んだあとに、やっぱり言葉が足りないとか、冗長すぎるところをカットしたりとか、試行錯誤します。

合成音で作るとは?

とにかくボイスが多い(大量1万ボイス位になる=10時間)
これだけの量のボイスを仮で収録するのも大変です。

そこで自動化を検討したところ、合成音声でもわりとよいところまで行けそうな感じなので導入しています。

この合成音の生成でVOICEVOXを活用しています。

無料で使えて多様な話者がいるので、なにかと便利。
仮ボイスのような大量に生成が必要な用途でも、ローカル環境で動作するのでありがたい。

また、APIから直接生成できるのもとても便利。

echo -n "こんにちは、音声合成の世界へようこそ" >text.txt

curl -s \
    -X POST \
    "localhost:50021/audio_query?speaker=1"\
    --get --data-urlencode text@text.txt \
    > query.json

curl -s \
    -H "Content-Type: application/json" \
    -X POST \
    -d @query.json \
    "localhost:50021/synthesis?speaker=1" \
    > audio.wav

すごくシンプルで、読み上げ用のjsonを作って wav出力できる。

これをめっちゃカスタムして使っている感じ。

ゲームのテキストは、CSVなどで管理されているので、
pythonを使って、CSVから日本語音声の文字列を抽出します。
csv読み込みにはpandasとか使っています。

CSVにはキャラ指定などもあるので、キャラごとにVOICEVOXのキャラを割り当てるマップみたいなのや、ピッチ、速度なども微調整しています。

合成波形を生成している部分

ゲーム固有の読み方をするものなども、辞書的なものでreplaceしています。

ここまですると、演出を仮組する段階から音声やリップシンクがあるので、イメージがつかみやすく、クオリティを上げることができるようになります。

合成にも時間がかかったり、たまに合成エラーとか起きたりもします。大抵は最新版にすると直ったりしているのですが、どうにもうまくいかない時とかは辞書で文字を加工したりとか。
あと、台本のテキストには、文字情報以外の文字色とかそういう情報も埋め込まれている場合があるのでそういうのは適宜加工して流し込んでいたり。

(演出の更新頻度が多いと出力の手間が増えますが、良いものを作るのに妥協できない・・・(ちょっと時間とられがちで悩みどころですが))

もっとこうしたいところ

感情表現とかはないので、だいたい淡々としたセリフになってしまう。
感情表現の指定はなかなか難しいのでこれはなかなか自動化できない。
(文脈からAIみたいなので、自動で定義してくれるみたいなのが必要そう・・・難易度高い)

これは仕方ないので、熱いシーンなどは、社内で仮ボイスを収録したりもします。

あと、声優さんに似せたいとか、似た特徴に近づけたいとかあったり・・・
ここらへんになってくると、合成音声利用の悩ましいところで、あんまり学習させたデータを使って大丈夫なのかとか心配なところもでてきますね・・
技術的には可能なのかもですが

ただ、似ていると制作上便利なところもあって、声の帯域や演技(声の声量変化や視察音などの含まれ具合とか速度変化とか)
こういうのが似せたものがあれば、先にエフェクトのかかりかたとかを調整できたりする。

あと、精度の高い台本ができれば、再収録とか、予備の収録とかそういうのも軽減できるので、声優さんの実際の負担も減らせるかもしれない。

日英の壁

VOICEVOXは日本語は生成できるのですが、英語はできない。
日本語で演出を組む感じになり、
英語の方は・・・いいものが見つからずものすごい仮で
Windowsのスピーチ機能を利用しています。 win32com.client

googleのAPIなどもpythonから呼べるのですが、1万ボイスもコールするとどうも呼び出しすぎエラーになってしまって、実用できない感じでした。

なにか良きものがあればよいので、誰か教えてください

ちなみに、日本語と英語で演出の壁になるのは、尺が極端に違うものがでてしまう時などがあります。
これは、収録された音声の尺比較をしていて、極端に違うものをリスト化して演出調整をしてもらったりしているような状況。

2言語ならまだなんとかできるけど、さらに多言語になったら・・・
それはそれでノウハウが必要そうです。
(ものすごい多言語音声対応しているタイトルはすごいなと)

こういうのもサウンドプログラムの一つなのかもですが、言語とか増えたりするとおそらくさらに多くの人をあてて分業していくスタイルになるかと思います。
(分業した場合は、そのデータの管理などもかなり効率よくやっていく必要がでてきたりする)

開発の規模に応じて、サウンドプログラマー、デザイナーの仕事の内容も変わるかと思います。

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