概要
『誰でも好きなキャラの声に(Convert your voice to favorite voice)』yukarin, become-yukarin の処理概要・リポジトリ関係を説明します。
旧手法でよければ become-yukarin だけでも音声変換はできますが、本記事では新手法 yukarin を使って音声変換をすることを、前提にしています。
yukarin のコマンド解説記事も書く予定ですが、本記事でざっくりとイメージを整理できればと思います。
(音声に関しては門外漢なので、説明に誤りがあるかもしれません。誤りなどあれば、ご指摘ください)
備考
イメージしやすいようにターゲット音声は"結月ゆかり"とします
*リポジトリの呼称 1
2019/6頃、リポジトリの呼称が変わりました。
下記の3つの呼称は yukarin, become-yukarin を指していると考えてください。
- 『ディープラーニングの力で結月ゆかりの声になるリポジトリ』
- 『誰でもで結月ゆかりの声になるリポジトリ』
- 『誰でも好きなキャラの声になれるリポジトリ』
1. yukarin, become-yukarin ってどうやってんの?
下記の2段階で、音声変換をしています。これは、yukarin, become-yukarin で共通しています。
- 第1段変換『自分音声 -> ゆかり音声(低解像度)』に変換
- 第2段変換『ゆかり音声(低解像度) - > ゆかり音声(高解像度) 』変換で高音質化
1.1 第1段階 : 音響特徴量の変換
音声を「基本周波数」・「スペクトル包絡」・「非周期性指標」の3つに分解して、"自声->ゆかり"に『調整』することで、音声変換をします。
この『調整』部分をディープラーニングで処理しています。
ただし、この方法では高音質化には限界があるとのことで、次の第2段学習で高精度化をしているようです。
1.2 第2段階 : スペクトログラムの変換
スペクトログラムを画像に見立てて、「第一変換後のスペクトログラム」を元に「オリジナルゆかり音声で作ったスペクトログラム」に変換することで高音質化をしているようです。
詳しくわかっていないため、下記の開発者ブログを参照願います。
https://hiroshiba.github.io/blog/became-yuduki-yukari-with-deep-learning-power/
参考論文?
下記論文と第2段の処理は似ているようです。
多層ニューラルネットワークを用いた声質変換アルゴリズムの提案
2. yukarin, become-yukarin って 2つあるけど、どっち使えばいいの?
現状でもっとも良い音声変換をするためには、両方使います。
両リポジトリで、"第1段学習"・"第2段学習"を行い、その学習結果を使って yukarin リポジトリのプログラムで音質変換を行います。
詳細は下記のようになります。
最後に
わかりにくところがあれば、本当に遠慮なくご質問ください!
ぶっちゃけ、最初から 100% の記事を書くのは難しいので、80% ぐらいで投稿しちゃってます。
なので、皆さんのコメントで 100%にしてください!
*1 リポジトリ名の変更(2019/6頃)
- become-yukarin : 『ディープラーニングの力で結月ゆかりの声になるリポジトリ』-> 『誰でも好きなキャラの声になれるリポジトリ』
- yukarin『誰でもで結月ゆかりの声になるリポジトリ』 -> 『誰でも好きなキャラの声になれるリポジトリ』