KOTONE ENGINE LITE

Kotone Engine Lite

Kotone TTSが自前で開発している音声合成エンジンです。ここでは、その仕組みや特徴、使える声について紹介します。

Kotone Engine Liteとは

Kotone Engine Liteは、Kotone TTSのために一から作った音声合成エンジンです。人の声を録音してつなぎ合わせるのではなく、声そのものを計算で組み立てて作ります。

使っているのはフォルマント音声合成という方式です。むずかしそうな名前ですが、考え方はとてもシンプルで、人ののどと口を、楽器として真似するというものです。

人が声を出すとき、まず声帯が「ブー」と鳴ります。この音そのものには、まだ言葉はありません。それが口の中を通るとき、舌や唇の形によって特定の高さの音だけが強調されます。この強調された部分をフォルマントと呼びます。「あ」と「い」が違って聞こえるのは、声帯の音が違うからではなく、このフォルマントの位置が違うからです。

つまり、フォルマントの位置さえ正しく作れれば、録音がなくても「あ」や「い」は作れます。Kotone Engine Liteは、この原理をそのまま使っています。

Kotone Engine Lite と Kotone Engine

名前のとおり、Kotone Engine Liteは軽いほうです。Kotone TTSにはもうひとつKotone Engineがあります。

Kotone Engine Liteは、Kotone TTSの中だけで動くものではありません。エンジン単体でダウンロードして使えます。下のダウンロードからどうぞ。

フォルマント音声合成の原点

この方式は、けっして新しいものではありません。1961年、アメリカのベル研究所で、当時のコンピュータがこの仕組みを使って歌を歌いました。世界で初めてコンピュータが歌った記録とされています。曲は「Daisy Bell(デイジー・ベル)」です。

1961年の「Daisy Bell」。映画『2001年宇宙の旅』でHAL 9000が最期に歌うのは、この録音がもとになっています。

いま聴くと、いかにも機械という声です。それもそのはずで、当時はどの音をどの高さで鳴らすかを、人間がすべて手で数字として書いていました。教科書に載っている「あ」の値、「い」の値をそのまま並べていく作り方です。

この作り方には、はっきりした長所と短所があります。長所は、録音がまったく要らないこと。数字さえあれば声になります。短所は、その数字が「平均的な人間」の値でしかないことです。実際の人の口の中は、前後にどんな音が来るかで刻々と形を変えています。手書きの表には、その生々しさが入りません。だから、言葉としては聞き取れても、人が話しているようには聞こえないのです。

Kotone Engine Liteが違うところ

Kotone Engine Liteも、音を出す仕組み自体は1961年と同じ「のどと口の物真似」です。違うのは、そこに入れる数字をどこから持ってくるかです。

Kotone Engine Liteでは、実際の人の声の録音を大量に分析して、「この音を出しているとき、口の中はどんな形だったか」を1つずつ逆算しています。教科書の平均値ではなく、実在する声から測った数字を使う、ということです。しかも「あ」単体ではなく、前後にどの音が来たときの「あ」なのかまで分けて記録しています。人の口は次の音に向かって先に動きはじめるので、その動きぐせごと写し取るわけです。

もうひとつ、話し方の部分には現代のAI(ニューラルネットワーク)を使っています。文章を読むとき、どの音をどれくらいの長さで伸ばすか、声の高さをどう上下させるか——いわゆる抑揚です。ここは規則で書ききるのが難しいので、学習させたモデルに任せています。

まとめると、Kotone Engine Liteはこういう組み合わせです。

  • 声を出す仕組みは、1961年から続く古典的なフォルマント合成そのまま
  • 口の形の数字は、実際の人の声から測って取り込んだもの
  • 抑揚とリズムは、現代のAIが決める

楽器そのものは昔ながらのものを使い、演奏するのは現代の奏者、というイメージが近いかもしれません。

聴き比べ

言葉で説明するより、聴いてもらったほうが早いと思います。まったく同じ楽譜・同じ歌詞で「赤とんぼ」を歌わせたものです。違うのは、さきほど説明した「口の形の数字をどこから持ってきたか」だけです。

手書きの数字だけ

1961年と同じ作り方

教科書の平均値を手で書いた表だけで鳴らしたもの。録音は一切使っていません。言葉は聞き取れますが、いかにも機械の声です。

Kotone Engine Lite

実際の声から測った数字

同じ仕組みのまま、口の形の数字を実在の声から取り込んだもの。母音のつながりや息づかいが出て、ぐっと人らしくなります。

どちらも録音の切り貼りではなく、その場で計算して作った音です。楽譜も歌詞もまったく同じものを使っています。

そして、ふだんKotone TTSが読み上げているのは、こういう声です。

「こんにちは。Kotone TTSです。読み上げをはじめますね。」

音質と速度

この作り方には、実用上とても大きな利点があります。軽いことです。

CPUのみ GPU不要
数十ms 一文あたりの生成時間
1MB以下 声1人分のデータ

Kotone Engine LiteはふつうのCPUだけで動きます。高価なグラフィックボード(GPU)は要りません。読み上げにかかる時間は一文あたり数十ミリ秒で、話し終わるより先に音声ができあがっている速さです。参考までに、上の「赤とんぼ」は23秒ありますが、作るのにかかった時間は0.2秒ほどです。

声1人分のデータも1メガバイト以下と小さく、たくさんの声を同時に持っておけます。Discordで何人もが同時に喋っても、待たされにくいのはこのためです。

正直に書いておくと、なめらかさそのものは、時間をかけて生成する大規模なAI音声合成にはかないません。Kotone Engine Liteは「速く、軽く、はっきり聞き取れること」を優先して設計しています。読み上げBOTは、待たされないことがいちばん大事だと考えているからです。

使える声

Kotone Engine Liteで使える声は、いまのところ次の2つです。

  • なぎ
  • ひかり

Kotone TTS全体で使える話者の一覧と、それぞれのクレジットはクレジットにまとめてあります。

ダウンロード

Kotone Engine Liteは、次のところから配っています。

Windows版をダウンロード Linux版をダウンロード

バージョン 1.1.0 / Windows 64bit版 140MB・Linux 64bit版 156MB

改造と二次配布はお断りしています(利用について)。

利用について

Kotone Engine Liteで作った音声は、非商用であれば自由に使えます。動画や配信、ゲームなどに入れていただいて構いません。

商用利用の場合は、いちどサポートサーバーまでお問い合わせください。

また、商用・非商用を問わず、次の2つはお断りしています。

  • エンジンやデータの改造
  • 二次配布

全体の利用条件は利用規約に定めています。

よくある質問

録音した声を切り貼りしているのですか?

いいえ。読み上げのたびに、のどと口の動きを計算して音を作っています。ですから、どんな文章でも、事前に録音されていない言葉でも読み上げられます。

AIは使っていますか?

使っています。ただし「声そのもの」をAIが作っているのではなく、話し方(抑揚やリズム)をAIが決め、その指示どおりに古典的な仕組みが声を鳴らす、という分担です。

なぜ最新のAI音声合成をそのまま使わないのですか?

速さと軽さのためです。大規模なAI音声合成は自然ですが、生成に時間がかかり、動かすのに強力な機材が必要です。読み上げBOTでは、発言してから声が出るまでの待ち時間がそのまま使い心地になるので、そこを最優先しました。

お問い合わせ

エンジンについての質問や不具合の報告はサポートサーバーまでお願いします。