6個の数字で日本語をしゃべる「イチから作る超軽量ローカル音声合成エンジン」|AIもネットも使わない声
ProtoPedia の作品「イチから作る超軽量ローカル音声合成エンジン」を2人のMCが初心者目線で紹介。AI の音声合成は大きな記憶場所と計算が必要で、切手ほどの小さなマイコンには入りきりません。作者は1980〜90年代に広く使われたフォルマント合成をイチから学び、録音も学習データも使わずに、6個の数字で母音や子音を作るエンジンを自作しました。声が「のどの音+口の形」でできている仕組み、漢字の代わりに印つきカタカナを読む割り切り、3種類のマイコンを差し替えて比べられる作りまで。
チャプター
0:00オープニング0:20ネットもAIも使わずしゃべる1:06この番組の2人の声も、AIの合成音声2:41声 = のどで作った音 + 口の形4:55印をつけたカタカナを送ってもらう6:13送る→計算→大きく→鳴らす7:36コンテストでファイナリストに8:54今日できる最小の一歩9:38エンディング
文字起こし(87行)
- BANNO
- ゆっくりばんのです。
- HIGEDARUMA
- ゆっくりひげだるまです。
- BANNO
- 今日もProtoPediaから、とびきり面白い作品を紹介していきますよ。
- HIGEDARUMA
- 今日紹介するのは、イチから作る超軽量ローカル音声合成エンジン。
- BANNO
- 写真を見ると、ポテトチップスの筒ですよね?これがしゃべるんですか?
- HIGEDARUMA
- そうなんです。ふたにスピーカーが付いていて、中の小さなコンピューターが日本語をしゃべるんですよ。
- BANNO
- 音声合成って、文字を声にする技術ですよね。今はスマホでも当たり前な気がしますけど。
- HIGEDARUMA
- この作品のポイントは、ネットにもAIにも頼らず、指先ほどのコンピューターだけで声を作っているところなんです。
- BANNO
- AIを使わないって、わざわざですか?AIの方が上手そうですけど。
- HIGEDARUMA
- 実は、今しゃべっている僕たち2人の声も合成音声なんです。AIに人の声を覚えさせて作る方式ですね。
- BANNO
- えっ、そうなんですか。たしかに、かなり自然に聞こえますよね。
- HIGEDARUMA
- その代わり、たくさんの声のお手本と、大きな記憶場所と、速い計算が必要なんです。
- HIGEDARUMA
- 今回の作品が使うのは、家電やおもちゃに入っているような、マイコンと呼ばれる小さなコンピューターです。
- BANNO
- マイコンって、どれくらい小さいんですか?
- HIGEDARUMA
- この作品のマイコンは、切手くらいの大きさです。
- HIGEDARUMA
- 作業用の記憶場所は数百キロバイト。スマホのおよそ数万分の1しかありません。
- BANNO
- 数万分の1!それじゃあ、AIの声はとても入りきらないですね。
- HIGEDARUMA
- 作者も、マイコンには荷が重い、と書いています。だから、ふつうはネットの向こうの大きなコンピューターに頼るんです。
- BANNO
- じゃあ作者は、どうしたんですか?
- HIGEDARUMA
- 1980年代から90年代に広く使われた、フォルマント合成という昔ながらの方式を、イチから学んで作ったんです。
- BANNO
- あえて昔の方式を選んだんですね。なんだかロマンがあります。
- HIGEDARUMA
- ちなみに、作者のデモ動画のナレーションは、このエンジン自身の声なんですよ。
- BANNO
- 自分で作った声に、自分の作品を紹介させているんですね。かわいいです。
- BANNO
- そもそもフォルマント合成って、どうやって声を作るんですか?
- HIGEDARUMA
- その前に、ばんのさん。ちょっと「あー」と言って、そのまま「いー」に変えてみてください。
- BANNO
- あー、いー。あれ?のどはそのままで、口の形だけが変わりましたね。
- HIGEDARUMA
- それなんです。声は、のどで作った音を、口の形で作り変えて出しているんですよ。
- HIGEDARUMA
- まず、のどの奥の声帯がふるえて、ブーという音のもとを作ります。これを音源と呼びます。
- HIGEDARUMA
- 次に、のどや口の形が、ふるいのように、通りやすい音と通りにくい音を分けます。これがフィルタです。
- BANNO
- 音のもとを、口の形のふるいに通すと声になる。それを計算でまねするんですね。
- HIGEDARUMA
- そうです。声の高さは、声帯が1秒に何回ふるえるかで決まります。
- HIGEDARUMA
- 一方で、「あ」と「い」の違いは、口の形によって強く響く音の高さで決まるんです。これがフォルマントです。
- BANNO
- だからフォルマント合成、という名前なんですね。じゃあ、声の音のもとって、いつも同じブーなんですか?
- HIGEDARUMA
- いい質問です。母音は、声帯のふるえをまねて、トン、トン、トンと規則正しく並んだ音を使うんです。
- BANNO
- じゃあ、子音はどうなるんですか?
- HIGEDARUMA
- か行やさ行などの子音は、シャーという雑音を音のもとにするんですよ。
- BANNO
- ひそひそ話のシャーですね。音のもとも、2種類を使い分けるんですね。
- HIGEDARUMA
- ふるいの方は3枚重ねです。1枚ごとに、真ん中の音の高さと、通す幅の2つの数字で決まります。
- HIGEDARUMA
- つまり、たった6個の数字で、母音や子音を作り分けているんですよ。
- BANNO
- 6個だけ!録音した声を使うわけでもないんですか?
- HIGEDARUMA
- 使いません。録音した声も、AIに覚えさせるお手本もゼロなんです。だから超軽量なんですよ。
- BANNO
- お手本なしで、数字だけで声を組み立てる。理科の実験みたいで、わくわくしますね。
- BANNO
- でも日本語って、漢字もありますよね。マイコンは漢字も読めるんですか?
- HIGEDARUMA
- そこが日本語の難しいところです。漢字まじりの文を読むには、単語に分けて、読み方とアクセントを当てる必要があるんです。
- HIGEDARUMA
- そのための辞書が大きすぎて、マイコンには入らないんですよ。
- BANNO
- じゃあ、文章は読めないんですか?
- HIGEDARUMA
- そこで作者は割り切りました。読み方の印をつけたカタカナを、パソコンから送ってもらう仕組みにしたんです。
- BANNO
- なるほど、苦手なところは外に任せたんですね。印って、どんな印ですか?
- HIGEDARUMA
- 日本語のアクセントは、音の高い低いなんです。たとえば「ねこ」は、「ね」が高くて「こ」で下がりますよね。
- HIGEDARUMA
- どこで下がるかさえ分かれば、高い低いは全部決まります。だから、下がる場所に印を1つ付けるだけでいいんです。
- BANNO
- 印ひとつで済むんですね。それなら送る文も簡単に作れそうです。
- HIGEDARUMA
- 実は、ゆっくりボイスの読み方の指定と同じ書き方なんです。作者は、ゆっくりボイスも似た方式ではないか、と推測しています。
- BANNO
- あのおなじみの声と、親戚かもしれないんですね。急に身近に感じます。
- BANNO
- 実際の作品は、どうつながっているんですか?
- HIGEDARUMA
- まず、パソコンのブラウザで印つきのカタカナを打って、USBかBluetoothでマイコンに送ります。
- HIGEDARUMA
- マイコンが声の波を計算して、アンプという部品で大きくして、スピーカーから鳴らすんです。
- BANNO
- 電源はどうしているんですか?
- HIGEDARUMA
- 単三電池2本です。電池から必要な電圧を作る小さな基板も、ついでに自作しています。
- BANNO
- ついでに基板まで!手づくりの量がすごいですね。
- HIGEDARUMA
- しかも、シードスタジオのXIAOという、切手くらいのマイコン3種類に対応しているんです。
- HIGEDARUMA
- ピンの並びが同じなので、基板に差し替えるだけで3種類を比べられるんですよ。
- BANNO
- 同じ声を、違うマイコンで鳴らし比べられるんですね。値段はどれくらいなんですか?
- HIGEDARUMA
- 作者が公開している部品のリストでは、マイコン1枚がおよそ800円から1700円です。
- BANNO
- お小遣いで買える値段ですね!
- HIGEDARUMA
- 声を作る中心の部分は、特別な道具に頼らずに書いているので、ほかのマイコンにも移しやすいんです。
- HIGEDARUMA
- ただ、音を送り出す部分はマイコンごとに作りが違うので、3種類ぶん書き分けているんですよ。
- BANNO
- 見えないところで、地道な作業をしているんですね。
- BANNO
- 作ったのは、西村備山さんです。
- HIGEDARUMA
- DigiKeyのものづくりコンテストで、ファイナリストに選ばれています。
- BANNO
- 西村さんは、どうしてこれを作ろうと思ったんですか?
- HIGEDARUMA
- AIの声は自然だけど、小さなマイコンには荷が重い。だから昔ながらの方式を、イチから学んで作ってみた、と書いています。
- HIGEDARUMA
- 日本語のアクセントの仕組みや、日本語の音の分け方も、ブログで1つずつ整理してから作っているんですよ。
- BANNO
- 声を作るために、まず日本語そのものを勉強したんですね。
- HIGEDARUMA
- しかも正直なんです。「イチから」と名前に付けたけれど、
- HIGEDARUMA
- 先に公開されていたプロジェクトの数字を借りた、と感謝つきで書いています。
- BANNO
- そういう正直さ、いいですね。応援したくなります。
- HIGEDARUMA
- 人の声そっくりではない。でも、録音も学習もいらない軽さは、ほかに代えがたい、とも書いています。
- HIGEDARUMA
- 昔の技術を自分で作ってみると、仕組みの理解が深まって、とても面白い体験だったそうです。
- BANNO
- これで完成、というわけではないんですか?
- HIGEDARUMA
- 作者は、ゆっくりボイスの質にはまだ近づけないけれど、これからも改良を続けたい、と書いています。
- BANNO
- では、今日の一歩です。鏡の前で、「あー」から「いー」と、ゆっくり言ってみてください。
- BANNO
- のどはそのまま、口の形だけで声が変わる。それが、この作品の仕組みそのものです。
- HIGEDARUMA
- もう一歩いくなら、GitHubのMiniVoxJをのぞいてみてください。
- HIGEDARUMA
- マイコン1枚と、アンプとスピーカーから始められます。
- HIGEDARUMA
- AIの時代だからこそ、仕組みを自分の手で作ってみる。そこがいちばん面白いところですよ。
- BANNO
- さて、今日紹介したのは、6個の数字で日本語をしゃべる、イチから作る超軽量ローカル音声合成エンジンでした。
- HIGEDARUMA
- 次回の作品でも、ゆっくりしていってね。
クレジット
紹介した作品声
あなたの作品も、動画で紹介します
ProtoPedia の作品ページの URL を送るだけで、夜のうちに紹介動画に仕上げます。対象は CC BY 4.0 の作品です。
動画をリクエストする


