Hiho's Blog

リアルタイム声質変換ライブラリ「Realtime Yukarin」を公開しました

2019-09-27

はじめに

リアルタイム声質変換アプリケーション、Realtime Yukarinを開発し、 OSS(オープンソースソフトウェア)として公開しました。 ここで言う声質変換とは、「誰でも好きな声になれる」技術のことを指します。 好きな声になれる声質変換は夢があって流行りそうなのですが、まだ全然普及していないと思います。 それは現時点で、声質変換を実際にリアルタイムで使えるフリーな仕組みが無いためだと考えました。 そこで、自由に使えるリアルタイム声質変換アプリケーションを作り、ソースコードと合わせて公開しました。

声質変換とは

声を変える方法で有名なのは、声の高さや音色を変える手法、いわゆるボイスチェンジャーです。 既存のボイスチェンジャーは、元の声を起点として、変換パラメータを自分で調整する必要があります。 一方ここでの声質変換は、元の声と好きな声を用いて機械学習し、変換パラメータを自動で調整します。

既存のボイスチェンジャーと声質変換の違い

また、声質変換は、ボイスチェンジャーで変換できないパラメータも変換することができます。 音声は、声の高さ・声の音色・イントネーション・音の強弱などに分解できますが、 ボイスチェンジャーが変換するのは声の高さと音色だけです。 声質変換は、イントネーションや音の強弱も変換することができます。

Realtime Yukarin

Realtime Yukarinとは、リアルタイムで声質変換ができる、オープンソースのアプリケーションです。 このアプリケーションは、「誰でも好きな声になれる声質変換システム:Yukarinライブラリ」の1つです。 「Yukarin」及び「Become Yukarin」と連携することで、リアルタイム声質変換を実現します。

どうやって使うか

声質変換を担当するYukarinモデルと、 変換結果を高品質化するBecome Yukarinモデルの、 2つの機械学習済みモデルを用意して、コマンドを実行すれば使えます。 それぞれのリンク先のドキュメントに従って、誰でも機械学習済みモデルを作成することができます。 以下の解説動画にて、より詳細な手順を紹介しています。

何ができるか

声質変換の機械学習タスクで作成したモデルと、GPU搭載パソコンを用いて、 コマンド1つでリアルタイムな声質変換ができます。 また、OSSなので、これをベースにコードを改良したり、 商用非商用問わずアプリケーションに組み込んだりすることができます。 ソースコードはGitHubで公開しています。

特徴

変換処理を3段階に分け、それぞれを別プロセスで動かす

Realtime Yukarinでは、音声入力デバイスから取り込んだ音声を細切れ(セグメント化と呼ぶことにします)にしたあと、 セグメントごとに変換し、繋ぎ合わせてから音声に戻すことで、音声を変換しています。

変換処理を1プロセスで行う場合、セグメントの長さよりも変換に時間がかかると、変換結果の音声が途切れてしまいます。

Realtime Yukarinでは、変換処理をエンコード、コンバート、デコードの3段階に分け、 それぞれ別プロセスで処理するように工夫しており、スムーズに変換処理を行います。

セグメントをオーバーラップさせて変換精度を一定にする

Realtime Yukarinは、声質変換の際に前後の入力音声も用いることで、変換精度を向上させています。 しかし、セグメント端は音声が欠けているため、その区間だけ変換精度が下がってしまいます。

これを避けるために、Realtime Yukarinでは、セグメントをオーバーラップできる機能を用意し、変換精度を一定に保ちます。

ノイズを除去する

全ての音を声に変換する声質変換では、小さなノイズを拾って声を生成しようとし、 大きなノイズが出力されてしまうことがあります。 Realtime Yukarinでは、音量ベースの簡単なノイズ除去機能を用意し、耳障りなノイズを減らす工夫をしています。

デモ

Intel Core i7-7700 CPU @ 3.60GHzと、GeForce GTX 1060 6GBを搭載したWindowsパソコンを使って、 遅延約2秒の声質変換が可能です。

使い方の解説動画内にデモがあります。ぜひご覧ください。

また、今年の5月に、Realtime Yukarinを用いて、声質変換した声でお客さんと会話するイベントを行いました。 Realtime Yukarinは、実際の現場でもちゃんと使えると思います。

おわりに

最初に声質変換を使ってみてから1年間かけ、自分自身で検証を重ねてクオリティと実用性を上げました。 そしてやっと、誰でもリアルタイム声質変換を使える仕組み、Realtime Yukarinを公開することができました。 これで、ちょっとでも声質変換が普及したら嬉しいです。ぜひお試しください。