このファイルは、3年春学期科目「音声情報処理」の授業において、口頭で説明する内容をテキスト(.txt)に書き起こしたものです。 事前に科目のHPにアクセスして「講義ノート」の PDF ファイルをダウンロードし、印刷しておいてください。このテキストには講義ノートの記述より多くの情報を含んでいます。講義ノートの行間に、テキストの説明を書きこんで行くことをお勧めします。最後にプリントを綴じれば、将来必要になったときに見返せる自分の「講義ノート」ができあがります。 「学生用ページ」「レポート提出システム」 から、その日の「宿題」レポートを提出してください。 〆切は 次回授業日の前日 23:59 です。 _/_/_/ 第十三回 音声合成 _/_/_/ 【講義ノート】音声合成とは ・コンピュータに人間の音声を、話させる技術 これまで数回にわたって「音声認識」の話をしてきました。音声認識というのは、いうならば、コンピュータに「耳」を与える技術です。 今日の話題は「音声合成」、コンピュータに「口」を与える技術です。 この図は、いつもと同じような図なんですが、 コンピュータに向かって「第一会議室を予約してください」というと、コンピュータが喋ってくれて「第一会議室を予約ですか?」と聞き返します。 このときコンピュータ側は、予約項目を画面に表示して確認ボタンを押させるのでもよいわけですが、まあやはり人間と同じように音声で確認してくれれば親近感も高まりますよね。 音声対話システムの実現には、音声認識に加えてこの「音声合成」が必要になるわけです。 【講義ノート】音声合成の品質尺度 さて、以前に音声認識の話をしたときに、技術者としては音声認識の仕様を左右する基礎技術について知っておく必要がある、という話をしました。 音声合成についても、何か知っておく必要のある技術要素がありそうですね。 音声合成においては、合成された音声を人間が直に聞くわけですから、その音声の品質尺度について知っておくことが必要です。 ・音響的ひずみ まずは「音」としてのきれいさが、品質を表す尺度になります。人間が発声した音声と、それを模して合成された音声の、波形またはスペクトルの2乗誤差を計算します。誤差が小さいほど、元音声を忠実に再現できていることになります。 誤差のことをひずみともいいます。 空白のところに「波形またはスペクトルの歪(2乗誤差)」とメモしておきましょう。 ・明瞭度 結構、大事なのが「明瞭度」です。音としては完全に再現できていなくても、何を言っているかさえ聞き取れるのであれば、実用上たくさん使いみちがあります。 もともと音声というのは、意味を伝えるための媒体であったことを思い出しましょう。 何をいっているのか聞き取れること、明瞭度、大事な品質尺度です。 空白のところに「何を言っているか聞き取れる」とメモしておきましょう。 ・自然性 最後は自然性です。これはまあ、究極の尺度といっていいでしょう。人間が話しているのと見分けがつかないような、自然な音声が合成できているか、という点を評価するわけですね。肉声らしさ、人間らしさといったところです。 自然性を高めるためには、アクセントやイントネーションなどの韻律が重要であることが分かっています。 空白のところに「肉声らしさ、人間らしさ。韻律が重要」とメモしておきましょう。 【講義ノート】録音編集とテキスト音声合成 さて本日の講義では、現在主流となっている、音声合成の大きな2つの枠組みについて紹介します。 まず一つ目は「録音編集」と呼ばれるもので、もう一つは「TTS」と呼ばれるものです。 それぞれの手法の要点を文章にして書きました。メモをとりましょう。 ・録音編集 (Pre-recorded voice)  −「句」レベルの表現を前もって録音  −音声波形の切り貼りでいろいろな表現を合成  −駅の構内アナウンス、自販機などに使われる (デモ音声1) ・テキスト音声合成 (TTS: Text To Speech)  −任意の文章を音声に変換する技術  −電話自動応答、Web の読み上げなど (デモ音声2) 【講義ノート】録音編集 さて、ではまず「録音編集」です。英語で「Pre-recorded voice」といいます。 直訳すると、前もって録音された声、という感じでしょうか?  −(テープレコーダーの)録音テープを切り貼り    する編集技術    ⇒ コンピュータの出現で低コスト化 昔はね、テープレコーダというものがあったんですよ。6ミリくらいのね、プラスチックのテープに磁性体といって、微細な磁石の粒子を塗ってあるものがあって、そこに磁力をかけて音声波形を記録していくんです。 するとね、音声がある長さのテープに記録されるんです。そこでハサミと粘着テープで、この録音テープを切り貼りして、必要なアナウンスの音声を作る、といったことをやっていたんですね。これが録音編集方式のルーツです。 今は、こんなたいへんなことをする必要はありません。音声をAD変換してコンピュータに取り込んで、メモリ内でカット&ペーストすればよいわけです。 3行ほどにまとめてあります。メモしておきましょう。  −単語・句レベルの表現を前もって録音 録音編集方式では、「単語」や「句」にあたる発話を人間が前もって発声し録音しておきます。 この句というのは、日本語の場合は「文節」がそれに近いと思います。「私は」とか「山へ」とか、そんなくらいの発話単位です。 録音編集方式では、前もって録音された音声が、その品質で再生されるわけですから、肉声相当の音声品質を容易に実現できます。これが録音編集方式の最大の強みでしょう。 しかし、方式の性質上明らかに、録音されていない語彙は発声できません。柔軟にアナウンス内容を変更することはできない。これが録音編集方式の弱いところでしょう。例えば Web ページの読み上げを、録音編集方式で行うことはできません。   ⇒ 肉声相当の音声品質を容易に実現できる(強み)   ⇒ 録音されていない語彙は発声できない(弱み) 【講義ノート】録音編集 (2) 録音編集方式の合成音声は、ごく小さなコストで、肉声品質の音声を作れますので、たくさんのサービスや製品に用いられています。  −各種構内アナウンス、自販機、カーナビ、電話自動応答サービスなど、   アナウンス内容が定型句ですむ場合に使われています。   メモしておきましょう。  ⇒ 公共サービスにおいては、その「声」の発声者を、 長期間にわたって    確保する必要があります。 例えばNTTの「電話番号案内」で番号を告げる音声は、ある一名の女性の声を継続して使用しており、数十年ずっとその方との契約を保持していると聞いたことがあります。      −韻律が重要 録音編集方式の合成音声においては、その韻律、特にピッチ(声の高さ)パターンの制御が、自然性の品質に大きく影響します。これについてはまた後でお話しします。 【講義ノート】テキスト音声合成 さて次は、もう一つの主要技術である「TTS」についてお話しします。英語で「Text To Speech」といいます。  −任意の文章(テキスト)を音声に変換する技術   ⇒ 前録音が不要。分野・話題を問わない(強み)   ⇒ 肉声なみの音声品質はまだ困難(弱み) TTSの文字通り、任意のテキストを音声に変換する技術です。強み弱みが録音編集方式とちょうど反対で、分野・話題を問わない音声合成が行える反面、まだ、 肉声なみの音声品質は出せません。 まとめをメモしておきましょう。 【講義ノート】テキスト音声合成 (2) このブロック図は、TTS方式による音声合成の処理の流れを書いたものです。 まずは、各ブロックの名称をメモしていってください。 左から、発声したい音声のテキストが入ってきます。これは漢字かな混じり文になっていると思いましょう。するとまず、その文章に「読み」を付けなければなりません。 文章を解析し、漢字の読みを記述した「読みづけ辞書」を使って、与えたテキストを「よみ」すなわち音声素片の系列に変換します。また、このとき、文章の構造を調べて、どのような韻律で発声すべきかも調べておきます。 後に述べる音声の「素片」が用意されていて、よみに従って素片を接合していきます。このとき信号処理によって、音声の大きさや高さをコントロールして、韻律、すなわちアクセントやイントネーション、ポーズを加え、合成音声として出力します。 【講義ノート】技術各論>韻律の生成 音声を合成する説明のなかで、韻律ということばが出てきました。 ここで韻律の説明をしておきましょう。 ・アクセント  −「橋⇔箸」「雲⇔蜘蛛」、地域で異なる まずアクセント、例えば「橋」と「箸」はどちらもよみは「はし」で同じなのですが、発音するときの声の高さ、すなわちピッチの上げ下げが違っていて、意味の違いがわかります。これをアクセントといいます。 他には「雲」と「蜘蛛」の例もありますね。 アクセントのパターンは地域によって異なることがあるので、その点をちょっと気をつけなければいけません。 (簡単に一行にまとめるとこのようになります。メモしておきましょう。) ・イントネーション(話調)  −呼気圧、平叙/疑問、感情を運ぶ 次にイントネーションです。話調ということもあります。イントネーションは発話全体の声の高さの傾向に対応します。 まず「呼気圧」。息をはく圧力です。 何かしゃべろうとすると、まずは大きく息を吸いますね。でしゃべり始めると初めは肺の圧力が高い。圧力が高いと実は声が高くなりやすいのです。 でずーっとしゃべっていると、だんだん肺の圧力が下がってくる。だんだん声が低くなってきます。発話の初めから発話の終わりに向けて、 非常に大きな傾向として、ピッチが下降する傾向を持つのですね。これが呼気圧の影響。 それから、次は「平叙/疑問」。例えば「今日学校へ行きます」と平坦にいえば、これは今日学校に行くつもりだと宣言しているわけですね。これが平叙文。 同じ文章でも、語尾を上げて「今日学校へ行きます?」といえば、これは話の相手に、学校行くつもりかどうか尋ねているんですね。これは疑問文です。 私たちの発する音声には、文章のよみ以上の、発話の意図が乗るんですね。平叙/疑問の違いというのは、その一種。これはさらに高度に、話し手の感情を乗せたりすることもあります。 イントネーションの重要性がわかりますね。 (メモしておきましょう。) ・ポーズ  −息継ぎ、リズム アクセントやイントネーションは、まあ音声のあるときの話、しゃべっているときの話なんですが、実は、しゃべってないとき、無音の状態があります。 たとえば、息継ぎとか、ちょっと間をおくとか。これを「ポーズ」というんですが、発話のリズムを整える働きを持っていて、韻律の一種と考えられます。 (これも、メモしておきましょう。) 【講義ノート】技術各論>韻律の生成 (2) このビューグラフは、ピッチの二重構造を説明するものです。 ・ローカルピッチ構造/グローバルピッチ構造  −ハットパターンモデル[藤崎1971] 1971年に藤崎先生がですね。ピッチの制御について「ハットパターンモデル」というモデルを提案しました。今からこれを説明します。 たとえばね、「私は」「山へ」としゃべったとしましょう。この絵の横軸は時間ね。「私は」「山へ」。縦軸はピッチすなわち声の高さです。 さっき、呼気圧の話をしましたね。話し始めはピッチが高く、息をはきながらしゃべるので、だんだんピッチが下がってくる。全体の傾向として大きく下がってくる。これが大局的なピッチの制御、グローバルピッチ構造ですね。 そこに、個々の発話に含まれる単語のアクセントがかぶさってきます。単語のアクセントは単語の意味に関係してきますので、はっきりとピッチの上下が現れます。これが、ローカルピッチ構造です。 このように発話の全体が、大きなピッチの構造を持ち、そこに小さなピッチの構造が乗って、複雑なピッチ構造を持つ音声が発声されることになるわけです。 【講義ノート】技術各論>韻律の生成 (3) さて、このローカルピッチとグローバルピッチの二重構造のために、ちょっとややこしい事情が生じます。 それは、もし同じ単語であっても、  −「句」中の単語の位置によって、基準となるピッチ周波数が大きく変わる ということです。 その単語が発声のどの辺にあるか、初めの方なのか、中間なのか、最後の方かによって、与えるピッチを変えなければならないということです。 このようなことを考えて、韻律をうまく与えないと、合成された音声が非常に不自然になってしまうんですね。 このことは、録音編集とTTSのどちらの方法かを問わず、合成音声を作成するときの重要なポイントです。覚えておきましょう。 【講義ノート】技術各論>素片の接合 音声合成には、大きな2つの枠組みがあることを思い出しましょう。 「録音編集」と「TTS」です。思い出しましょう。それぞれ結構違う方式でしたね。しかし、実は技術的に結構似ているところもあるんです。 録音編集方式ってどうするんでしたっけ?。音声をAD変換してコンピュータに取り込んで、その「素片」をメモリ内でカット&ペーストするんでした。 TTS方式ってどうするんでしたっけ?音声の「素片」が用意されていて、よみに従って素片を接合していく。あれ…よく似ていますね。 実はこの2つの枠組みは「素片」の接合、という点ではなはだ似ているのです。 ・録音編集   ⇒ 素片の単位が「句」 ・TTS   ⇒ 素片の単位が「1周期分の波形」     ・PSOLA 法 (プリントが空白になっています。メモしておきましょう。) とくに、TTSで素片の接合を行う手法として PSOLA 法が有名です。 その説明をしていきましょう。 【講義ノート】技術各論>素片の接合 (2) ・PSOLA (Pitch Synchronous Overlap Add)  −1周期分の波形を信号処理によって変形  −韻律(話速、ピッチ周波数)パターンを任意に生成 方式の名称を直訳すると、ピッチに同期させて重ね合わせて加える、となりますね。 PSOLA 法の音声「素片」は、非常に短く、なんと「1周期分の波形」です。この波形を接合する間隔を調整することで、高低自在に音の高さを生成することができます。 【講義ノート】技術各論>素片の接合 (3) 左の方に、例えば「あ」という母音の、2周期分の波形を用意しておきます。 これに前後が減衰する時間窓をかけて、波形の不連続性が目立たなくなるようにします。だいたい1周期分くらいが残ります。 次に右上に、合成したい「高さ」の音声のピッチ周期をインパルス列で準備します。後はこのインパルス列のタイミングで、先ほど準備した1周期分の波形を重ね合わせながら足していきます。 すると何と、好きな高さの母音「あ」を好きな長さだけ合成できるではありませんか?これはいい。 【講義ノート】技術各論>素片の接合 (4) ・PSOLA  −母音の長さを変えられる   ⇒ さまざまな発話速度の音声を合成  −母音のピッチを変えられる   ⇒ さまざまな韻律を持つ音声を合成 というわけで、PSOLA 法の特徴をまとめておきます。 (メモしておきましょう。) --