N.Yamazaki's blog

主に音声合成について思ったことを書いてみようと思います。
<< Webサイト管理ツールをIISで起動 | main | コマンドトーク 窓の杜で紹介される >>
コーパスベースの音声合成
このところ、コーパスベースの音声合成というのがブームです。
とはいえ、これが世の中に現れてから、すでに10年くらい経っていますが・・・。

コーパスベースの音声合成とは、テキスト音声合成の技術的な方式のひとつで、大雑把に言えば、人間の声を大量に録音してデータベース化しておき、合成するときには、ここから出来るだけ長くマッチする部分を切り出して、それを連結して文章を生成するというものです。

ですから、合成したい文がデータベース中に完全に一致したなら、単に録音して再生しているだけですので、そりゃもう高品質な音声になります。単純な話、この方式では、より高品質な合成音声にするには、データベースを大きくすれば良いのです。

というわけで、コーパスベースでは、どうしても音声合成システムに必要なデータサイズは大きくなってしまいます。普通のシステムでも数100Mbyteはあるでしょうか。現在のコンピュータのHDD容量を考えれば、どうってことないサイズですが、これを数10秒程度のメッセージのアプリケーションで使うには、ちょっともったいない気がしますね。


ここからは、すこし専門的な話。

■データサイズの削減

ところで、コーパスベース方式をやっていると、お客さんから、「データ量を削減できないか!?」という要求が必ずくるようです。
そこで、音声波形をコーデックで圧縮する、あるいは、コーパスのサイズ(文章の量)を少なくしよう考えるわけです。
前者の方法は、全体的な音質の劣化と処理量の増大を考慮する必要がありますが、まぁ正しい選択かと思います。
一方で、後者の方法は、コーパスベースの本質に逆行するアプローチではないかと・・・。

ここで、もし、コーパスサイズをどんどん小さくしていき、マッチする平均長さが音節くらいの長さまで短くなったとしたら、これはもう古典的なCVを合成単位とした音声合成と変わらなくなります。
このように合成単位の観点から考えると、コーパスベースの音声合成とそれ以外の音声合成の明確な線引きって非常にあいまいなものなんですね。
コーパスベースの音声合成の定義は『合成時に"比較的大量の"コーパスから音声を合成する』というあいまいな定義ってことになるのかな?


■もっと、音韻について探求しようよ!

私は、このコーパスベースの音声合成方式を、一つの良いアプローチ方法だと思っています。
しかし、この方式では、技術的課題が「高速な検索手法」、「滑らかに接続する手法」、「コーパスの文の選定方法」などになるため、研究者たちが音声の物理的な側面を見つめることから遠ざかってしまうのが、とても残念に思われます。

このことは、多くの音声認識の研究者が、HMM方式の発明、そしてHTKの普及により、やることは言語レベルのテキスト処理が中心になってしまい、音響分析部分は、そこあるものを適当に使用するみたいな感じになった状況に似ていると思うのです。

しかし、この分野に携わる研究者は、未だに音韻を弁別する物理的特徴が明確になっていないという事実を、常に頭の片隅に置いておく必要があると思います。
例えば、/p/、/t/、/k/のこれら音韻の物理的特長の違いを示せといわれて、ちゃんと答えられる人がいるのかな?どこからも歯切れの悪い答えしか得られないのが現状ではないでしょうか。

音声合成でも、音声認識でも、もっともっと音韻の物理的特長について探求する必要がありますね。
がんばりましょう!

| 音声合成一般 | 15:39 | - | - |
PROFILE
Follow
CATEGORIES
LATEST ENTRIES
SEARCH THIS SITE