へ戻る 

 

 音声合成に関する一考察と提案



上に述べたように、最近の音声合成技術はここ十年ほどの間に急速に進化してきました。現在では、情感を移入しようとする感情音声合成の研究・開発が各所で 進められています。
十数年前はPCのハード、ソフトともに貧弱なため、音声合成をPCで手軽に試してみることはできませんでした。
ところが1994年 「C MAGAZINE 3月号」 という雑誌で、リコーテ キスト音声合成ソフト 「VC2 Ver,3.3」 というプログラムが紹介されているのをみて、早速試してみました。このプログラム は出力にビープ音を使っていて。とても人の声とはかけ離れたものでしたが、とにかく音声合成でできたときは驚きでした。なにしろ当時は MIDI 音源すら内蔵していない時代でしたから声らしきものが出るのが感激でした。

その後、SoundBlaster社の拡張ボードで型番も忘れてしまいましたが、これに英文を入力すると、かなり自然な、人間の声に近い音声を発 生させることがわかりました。ただし、この拡張ボードは英文しか受け付けないので、VC2の出力するカタカナ混じりの記号化された配列をいったん英字に変 換してから入力しました。ところが日本語の 「ア」 を入れるのには 「ah」 、「イ」は 「ie」、「ウ」は 「ou」、「コ」は 「koh」または「koe」など、日本語らしい発音にするために苦心したものでした。それでも外人のしゃべる日本語といった感じの発音は、それなりに楽し いものでした。
ただ、このような音声は、よくロボットがしゃべる平板な話し方で、これに飽きてきて、どうにかならないかと考えていました。
幸い SoundBlaster の拡張ボードは一音ごとにピッチ(音の高低)が設定できるので、ピッチを変化させてみたらと思い試してみました。
文節の始まりはピッチを高く、少しずつピッチを下げていくときわめて自然な表現ができることを発見しました。
文節が終わったら、次の文節の先頭でピッチを上げ、また少しずつピッチを下げていきます。ピッチの低減率は文節先頭の規定のピッチ、文節終端の規定のピッ チと文節の長さから計算できます。

この仮説が正しいかを、実例で確認してみたいと思います。
「おしゃべりテキスト」 を使い 「抑揚」 を変えることでどんなに印象が変わるか調べてみましょう。
テストする文章は
          

昔むかし、ある所にお爺さんとお婆さんが住んで いました。
おじいさんは山へ芝刈りに、お婆さんは川へ洗濯に出かけました。

とします。
音声の選択は、「読み秀君」 とし、抑揚を (2) に設定してみると、こんな具合です。聞いてください。

抑揚を (5) に設定し、声が高くなるので、ピッチを (4) くらいに下げてみると、こんな具合です。聞いて ください。
聞いていただけばわかるように、後者のほうがきわめて自然なしゃべり方になります。

この状況をもっとわかりやすくするために、音声を視覚的に、直感的に見ることができるグラフィカルなソフト を用意しましょう。
それは 
Speech Filing System(SFS) のなかに含まれる WASP というソフトです。
このソフトを立ち上げ、音声ファイルをドラッグアンドドロップすると波形、Wideband spectrogram、Narrowband spectrogram、Fundamental Frequency などを表示しますが、ここでは波形とFundamental Frequency を表示します。
Fundamenntal Frequency (基本周波数)とは声のピッチ(高さ)と考えていいでしょう。
子音は破裂音や摩擦音などで、高周波成分で構成され、Fundamental Frequency という概念がなく、一方母音には、アクセントやイントネーションに大きく影響する Funadamenntal Frequency で含まれ、この周波数の高いときは、声のピッチ(高さ)を高く、この周波数が低いときは、声のピッチ(高さ)が低くなります。
したがって、Speech Filing System の WASP は音声の解析に最適だと考えられます。
Speech Filing System のなかの SFSWin も同じような機能があります。

「おしゃべりテキスト」の設定で、音声の選択を ProTALKER の 読み秀君 や 読 み子ちゃん を選択すると、「一般設定」で下の図のような設定パネルを使って速度、ピッチ、抑揚、音量を指定できるよう になっています。
(すなわち Speech Engine に ProTALKER を選んだ状態のとき)

声の選択で L&H を選ぶとの図のようなパラメータコントロールパネルが表示され、ここで同じように速度(レート)、ピッチ、音量を指定できるようになっています。       

また声の選択で True Voice を選ぶと、、「一般設定」で 下右の 「General Control 」 が表示され、「Avdanced...」ボタンを押すと右下の図のような 「Advanced Controls 」 が表示され、ここで同じように速度、ピッチ、音量を指定できるようになっています。 

            

ここからは、抑 揚も制御できるので ProTALKER を使うことにします。
                                           


右の図は「おしゃべりテキスト」の設定で
音声選択を ProTALKER読み秀君 にして
一般設定で抑揚を 

に設定したときの音声の分析結果です。
    
音声ファイル を試聴できます。

声のピッチがフラットなのが、波形ではほとんどわかりませんが、下段のグラフ Fundamenntal Frequency の赤い線からはっきりとわかります。これがロボット風のしゃべり方です。 
 
                                          

右の図は「おしゃべりテキスト」の設定で               
音声選択を ProTALKER読み秀君 とし
一般設定で抑揚を 
に設定したときの音声の分析結果です。
    
音声 ファイル を試聴できます。

声のピッチが文節の始まりから、文節の終わりに向かって右肩下がりに減衰していく様子が赤い線で明瞭に示されています。      
そしてかなり話し方が自然になったと思います。 
           

このように Speech Filing System の WASP を使うと声のピッチの変化の様子、すなわち声のアクセントや抑揚 (イントネーション)の様子が非常にわかりやすくなります。

 感情音声合成に関するひとつの試み        



ここからは、「おしゃべりテキスト」を使い、音声に感情を持たせる 感情音声合成 を 試みたいと思います。
同時に WASP で Fundamenntal Frequency の変化する様子を表示させながら確認したいと思います。
まず、テキストとして以下の文章を使います。

   
「それがどうしたっていうの。そんな こと どうだっていいじゃないの。」

ここでは、喜怒哀楽と普通の 5種類の感情 を表現することにチャレンジしてみたいと思います。

喜怒哀楽 のうち 「」 と 「」 はよく似ているので 「楽」を外し、「」 を 「」 と読み替えて 「落 胆した」 または 「落ち込んだ」 ということにします。
                         普通 / 喜んだ / 怒った / 落胆した / 哀しい
の5つの感情に対して 「おしゃべりテキスト」 で、次のように設定してみました。
音声の選択は ProTALKER「読み子ちゃん」 とします。

 

普通

喜んだ

怒った

落胆した

哀しい

速度 

5 

5 

5 

5 

5 

ピッチ 

5 

5 

 

5 

 

抑揚

5 

 

 

 

 

生成された音声ファイル

普通音声ファイル 

喜んだ音声ファイル 

 怒った音声ファイル

落胆した音声ファイ ル 

哀しい音声ファイル 

WASP の Fundamental Frequency のグラフはそれぞれ、以下のようになります。

 普通の音声   

 喜んだ音声   

 怒った音声   

 落胆した音声 

 哀しい音声  

グラフからもそれぞれの特徴がよくわかりますが、ご感想はいかがでしょうか? 
実は速度は全部同じですから、速度も変えたり、音量も変えてやれば、悲しい音声や、嬉しい音声はもっと強調されたしゃべり方になったでしょう。
感情にも上の5種類のほかにもいろいろあるでしょう。
慶應義塾大学大学院 感情を含んだ声を作る!−韻律の部分空 間を用いた感情音声の合成−  によれば、47種類もの感情が提示されていますが、どのような設定をしたらそ れらの感情を表現できるか、いろいろと難しい問題があるでしょう。

なお、ここでは感情表現を視覚的にみるために Speech Filing SystemWASP を使いましたが、ほかにもこのようなソフトがあると思います。   WaveTone などは、ソフトの狙っているのは耳コピー支援ソフトということで目的は違いますが、感情表現をグラフィカルに、またカラフルに示し、わ かりやすいかと思います。
上と同じデータに対してどのように表示されるか、参考までに別のページ に載せておきました。

 感情音声合成に関するひとつの提案        


ここまでに説明してきたことを踏まえて、感情音声合成について、さらに展開してみたいと思います。

「おしゃべりテキスト」 というソフトでも、速度、ピッチ、抑揚、音量などが自由に設定できる、しかるべき Speech Engine を選び、適切に設定すれば、こんなことができます。ボイスソムリエ発音調整機能 のようにイントネーションを指示できるようになればもっと自由に表現できるでしょう。
「おしゃべりテキスト」 では、設定タブを使って手動で、Speech Engine を決め、音声の選択、速度、ピッチ、抑揚、音量などを設定しなければなりませんが、もしこれらの設定を外部から設定できれば、面白いものができるのではな いでしょうか。

漢字混じり文章のなかに、音声の種類(音声の選択)、感情、音量やその変動、音声の位置などの制御コードを埋め込んでおいて、フロントエンドで、制御コー ドに応じて [発音記号;ピッチ;持続時間;音量;定位;] の配列を生成すれば、感情を含んだ音声合成ができることになります。本来は、文章を解析して自動的に制御コードを付加していくのが理想ですが、それは無理 かと思われますので、制御コードの入力は人手によるものとします。

こんなソフトを仮に  Vocaliza とし ておきましょう。

たとえば、つぎのような文章があったとします。

  「Das Neujahrskonzert der Wiener Philharmoniker 2008」 
     (2008年 ウイーン・ニューイヤーコンサートにて


2008年元旦の昼下がり、ウイーン楽友協会のロビーは外の寒さとは対照的に、熱気に包まれ、国際色豊か に、着飾った人たちで溢れていました。

若原氏

 「リ ンデマンさん。やー新年おめでとう!久し振りですね。お元気ですか?」   

リンデマン 氏

 「Neues Jahr! Wakaharasan. Wie geht's Ihnen?」
若原氏   「ダンケ グート!・・・・・・・あっ! サリュー マドモアゼル ジュリー! ボンナネ!」
ジュ リー嬢  「Bonne année! Monsieur Wakahara! Comment allez-vous?」
若原氏  「トレビアン  メルシボクー!」
佐藤氏  「す みません。すみません。遅くなってすみません。」
佐藤夫人  「遅 いじゃないの。あなた何してたの!みんな待ってたわよ。皆さん、申し訳ありません。」
若原氏  「奥 さん。まぁいいじゃないですか。そろそろ演奏が始まりますから。さぁー入りましょう。入りましょう。」   

まもなくして、指揮者の ジョルジュ・プレートル氏が 右手からステージに現れると、ホールは割れんばかりの拍手。
そして軽快なウイーンナワルツの演奏が始まりました。・・・・・・・・・・

この文章のなかに Speech Engine のコントロール用の制御コードを下記のルールに従って付加します。(赤字の部分)

< Vf;> 2008年元旦の昼下がり、ウイーン楽友協会のロビーは外の寒さとは対照的に、熱気に包まれ、国際色豊かに、着飾った人たちで溢れていました。
<Jm;Y;Hi;Le>「リンデマンさん。やー新年おめでとう!久し振りですね。お元気ですか?」 
<Gm;Y;Ri> 「Neues Jahr! Wakaharasan. Wie geht's Ihnen?」
<Jm;Y;Le>「ダンケ グート!・・・・あっ! サリュー マドモア ゼル ジュリー! ボンナネ!」
<Ff;Y;Ri>「Bonne année! Monsieur Wakahara! Comment allez-vous?」
<Jm;Ye;L>トレビアン メルシボクー!」
<Ym;R;<>「すみません。 すみません。遅くなってすみません。」
<Yf;O;Hi;Ri>「遅い じゃないの。あなた何してたの!みんな待ってたわよ。<R;Lo;Ri>皆さん、申し訳ありません。」
<Jm;Lo;Le> 「奥さん。まぁいいじゃないですか。そろそろ演奏が始まりますから。 さぁー入りましょう。入りましょう。」            
<Vf;> まもなくして、指揮者のジョルジュ・プレートル氏が 右手からステージに現れると、ホールは割れんばかりの拍手。そし て軽快なウイーンナワルツの演奏が始まりました。・・・・・・・・・・

上の文章を 私の提案する 仮称  Vocaliza に読み込ませると・・・・・・・こんな風になります。

     ここをクリックして聞いてみ てください  (*)

上記の記述法は、表記の仕方は違いますが楽譜に似ています。
楽譜では音符でそれぞれの音のピッチと持続時間で表現されていますが、楽譜には歌詞が書いてありますし、ところどころに発想記号としてtanquiello とか maestoso とか con brio  とか appasionato などの感情を表すような記号が付けられてい ます。
また allegro とか  vivace とか presto など速度を指定するもの、速度の変化を示す accelerando のような符号も付けられています。
作曲家が楽譜を書いて音楽を作るように、声劇作家声劇譜を書いて声 劇を作ることができるかもしれません。

このようなことを実現するためには Speech Engine を外部から自由に制御できるアプリケーションを作らなければなりません。
あいにく筆者にはそんな技量を持ち合わせていません。どなたか開発していただけないでしょうか。
「それがどうしたっていうの。そんなこと どうだっていい じゃないの。」  などといわないで。

   (*) タネを明かせば、この音声は別々に各種の Speech Engine で音声を作り、Audacity でミックスしたものです。

【ページのトップに戻る】

***** このページ 終わり *****


inserted by FC2 system