ディープラーニング×音声合成の魅力と自作方法を紹介

FIXER新人の吉原です。音声合成自作してみたらなかなか面白かったので簡単に紹介します。

この記事では、ディープラーニング技術を用いた音声合成の魅力や自作方法などを紹介しています。

音声合成とは

音声合成とはおおまかに、コンピュータなどを用いて人間の声を再現すること指します。身近なところだと、ボイスロイド・ボーカロイド、ゆっくり読み上げソフト、Siriの声などが有名ですね。

ここ数年でも、VOICEVOXの発表や、フリーで使用できるつくよみちゃんコーパスなどが登場しており、成長に勢いがある技術になっています。

以下は音声合成ソフトVOICEPEAKの使用例になります。入力されたテキストをはっきり聞き取りやすい声で読み上げてくれています。

「VOICEPEAK」その3(https://www.youtube.com/embed/jxJcrMVbx5s)

音声合成の魅力

音声合成技術が用いられたコンテンツは皆さまの身の回りにも数多く存在します。

Siri/Googleアシスタント

皆さまが使用しているスマートフォンやパソコンには、音声のみによる入出力で端末を操作できる音声アシスト機能が搭載されています。端末からの音声出力をユーザーがより聞き取りやすくするために日々進化し続けています。

技術解説やゲーム実況動画など

Youtubeやニコニコ動画に投稿されるゲーム実況動画や技術解説動画には、ゆっくり読み上げソフトやボイスロイドなどの合成音声ソフトが用いられることが多々あります。投稿者の生の声を使う場合と比較し、視聴者が苦手意識を持たずに動画を楽しめることや、合成音声ソフトに付随したキャラクターを活用できるなどのメリットがあります。

【Besiege】英国面に堕ちた茜ちゃんのパンジャンドラム縛り⑧VOICEROID実況【コメ付き】(https://www.youtube.com/watch?v=1_rKXdO7P-U)

人の声を再現・ボイスチェンジャーへの応用

近年では、ディープラーニングを用いて「二人の人物の声を入れ替える」といった新しい技術も登場しています。(キズナアイとねこますの声を入れ替える機械学習をした

さらに、Voice Conversion Challenge 2020 (http://www.vc-challenge.org/)という大会では、ディープラーニングを用いて特定の人の声を再現することをテーマとして、数多くの研究成果が投稿されました。

この技術を使って、あなたの好きなキャラクターや人に名前を呼んでもらったり、おはなししたりしてみたいですよね、!!

仕組みの簡単な解説

Voice Conversion Challenge 2020に投稿された論文のうち、高い性能を出したモデルで多く採用されていたシステムの構成(ASR-TTS)について簡単に解説します。

ASR-TTSはASR(音声認識部)とTTS(text to speech部)の二つで構成されています。このうち、TTSが音声合成を行う場所になっており、テキストを受け取る→特徴量に変換する→音声にデコードする、という動作をしています。

システム全体では、ASRは音声を受け取りテキスト情報を出力し、TTSはテキスト情報を受け取り音声を出力します。音声情報を一度テキスト情報に落とし込んでいるわけですね。これによって、話者の性別や声の特徴に影響を受けることなく、対象話者の声を高い性能で再現できるようになっています。

自作してみる

自分も自作の合成音声を作ってみたい!というひと向けに、初心者にも扱いやすいフレームワークを2つ紹介します。

準備

その前に、音声合成を動かすための準備内容について簡単に解説します。

用意するものは

  • 音声ファイル(30~60分長ほど)
  • 音声ファイルの文字起こしテキスト
  • 開発環境(GoogleColab)

これで取り敢えずモデルを作ることが可能です。

音声ファイルと文字起こしテキストの形式については、つくよみちゃん様が公開しているフリーのコーパス(https://tyc.rei-yumesaki.net/material/corpus/)を参考にすることをお勧めします。

ESPnet

ESPnetとは?

E2E音声処理のためのオープンソースツールキットです。ライセンスはApache 2.0で、商用利用も可能です。

https://kan-bayashi.github.io/asj-espnet2-tutorial/

です。GoogleColabでも動作します。

オープンソースで使用でき、最新のFastspeech2やParallel WaveGANなどを組み込んだモデルで音声合成が行えます。また、自作のコーパスを用意することで、あなたオリジナルの合成音声を作ることも可能です。

使い方についてはこちら(https://kan-bayashi.github.io/asj-espnet2-tutorial/)を参考にすることをお勧めします。導入から応用まで丁寧に解説されています。

MYCOEIROINK

COEIROINKという音声合成ソフトで使用するための、音声合成モデルを作成できます。こちらもGoogleColabで動作します。

また、上述のESPnetを使用する際にも同様に、他人の声や著作物を学習に使用することは、他人の権利を侵害することに繋がる可能性があるのでお気を付けください。

禁止の例

・アニメやゲーム、YouTube・ニコニコ動画などの動画サイトの音声を利用してMYCOEIROINKを作る行為

・COEIROINKに使われることを想定せずに配布された音声データでMYCOEIROINKを作る行為

https://colab.research.google.com/drive/1BqaB-Zv5RuaQp-OW0effsFVGCYwvaJ4R?usp=sharing#scrollTo=0DXdg8LvUxXp

おわりに

この記事では、ディープラーニング技術を用いた音声合成の魅力や使用例、簡単な仕組みと自作方法を紹介しました。是非皆さまもオリジナルの合成音声を作ってみてください。

FIXER Inc. 吉原 蓮人
  • FIXER Inc. 吉原 蓮人
  • (よしはら れんと)
    三重県在住、FIXERの新人エンジニアです