Speech Recognition HOWTO Stephen Cook scook@gear21.com 服部高資 - 日本語訳 htakashi@yabumi.com Revision History Revision v2.0 April 19, 2002 Revised by: scc Changed license information (now GFDL) and added a new publication. Revision v1.2 February 5, 2002 Revised by: scc Added more commercial software listings (sent by Mayur Patel). Revision v1.1 October 5, 2001 Revised by: scc Added info for Vocalis Speechware. Fixed/Updated various other items. Revision v1.0 November 20, 2000 Revised by: scc Added info on L and H and HTK Revision v0.5 September 13, 2000 Revised by: scc Initial HOWTO Submission Linux 上での自動音声認識 (ASR) が簡単になりつつあります. 開発者だけでな くユーザでも入手可能なものもあります. この文書では, 音声認識の基礎と入 手可能な音声認識ソフトウェアについて記述します. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents 1. 法的な注意 1.1. 著作権/ライセンス 1.2. 免責 1.3. 商標 2. 前置き 2.1. 2.2. 謝辞 2.3. コメント/最新情報/フィードバック 2.4. ToDo 2.5. 改訂履歴 3. はじめに 3.1. 音声認識の基礎 3.2. 音声認識のタイプ 3.3. 利用法と応用 4. ハードウェア 4.1. サウンドカード 4.2. マイク 4.3. コンピュータ/プロセッサ 5. 音声認識ソフトウェア 5.1. フリーソフトウェア 5.2. 商用ソフトウェア 6. 音声認識の内側 6.1. どのように認識しているか 6.2. ディジタルオーディオの基礎 7. 出版物 7.1. 書籍 7.2. インターネット 8. 日本語訳について 1. 法的な注意 1.1. 著作権/ライセンス (訳注: 原文を残します.) Copyright (c) 2000-2002 Stephen C. Cook. Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. この文書をFree Software Foundation が発行する GNU Free Documentation License の 1.1 あるいはそれ以降のバージョンの条件のもとで, 複製, 配布, 修正することが許可されています. This document is made available under the terms of the GNU Free Documentation License (GFDL) , which is hereby incorporated by reference. この文書は GNU Free Documentation License (GFDL) の条件の元で入手可能になっています. ここでライセンス へのリンクを挙げて, 同文書を添付したものとします. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2. 免責 (訳注: 原文を残します.) The author disclaims all warranties with regard to this document, including all implied warranties of merchantability and fitness for a certain purpose; in no event shall the author be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use of this document. 著者は, 全ての商行為が可能であることの暗黙の保証, ある目的へ適合するこ とを含めてこの文書に関する全ての保証を放棄します; どのような出来事があ っても, この文書の使用との継がりの内外で起こる, 規約の中の活動, 怠慢あ るいは他の不法行為によるものであろうと, あらゆる特別な, 間接的または, 結果的な損害や使用, データ, 利益の損失による損害などに対して作者は責任 を負いません. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3. 商標 この文書に含まれる全ての商標はそれぞれの所有者の著作権/登録商標です. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2. 前置き 2.1. この文書は音声認識の学習に興味があり, 試してみようとしている初級から中 級レベルの Linux ユーザをターゲットにしています. また, 興味を持った開発 者のために音声認識に関するプログラミングの基礎についても説明します. どのような音声認識ソフトウェアと開発用のライブラリが Linux で使用できる のかを調べ始めたときにこの文書を書きはじめました. Linux 上での自動音声 認識 (ASR または単に SR) はちょうど本領を発揮しはじめたことろで, この文 書で正しい方向へ後押しできることを願っています - ASR 技術のユーザと開発 者の両方をサポートすることで. この文書は SR の技術については触れていません, その代りに "HOWTO" という 側面に集中しています (これは HOWTO ですから…). ここでカバーできていな いことについては, 興味を持った読者が本や記事を探せるように出版物の節を 用意しました. これがLinux 上の ASR についての最終的な報告ということでは ありません. この文書の最新版は, LDP のアーカイブをチェックするか, http:// www.gear21.com/speech/index.htmlから入手してください. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2. 謝辞 この文書を見直し, 援助してくださった以下の人々に感謝します: ・ Jessica Perry Hekman ・ Geoff Wexler ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3. コメント/最新情報/フィードバック コメントや, 提案, 改訂, 最新情報があれば, また, ただ ASR についてチャッ トしたいときも, 私のアドレス scook@gear21.com に Email を下さい. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4. ToDo 以下のことが "to do" として残っています: ・ 出版物の節に説明を加える. ・ 出版物の節により多くの本を加える. ・ より多くのリンクを説明付きで加える. ・ ASR システムの手順についての説明を充実させる. ・ FFT とフィルターの説明を加える. ・ DSP の原理の説明を加える. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.5. 改訂履歴 v0.1 最初の草案 2000年 8月 v0.5 最終草案 2000年 9月 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3. はじめに 3.1. 音声認識の基礎 音声認識とは, コンピュータ (あるいは他のタイプの機械) が話し言葉を認識 する処理です. 基本的には, コンピュータに向って話し, その上で, その言葉 がコンピュータに正しく認識されるという意味です. 以下の定義は音声認識の技術を理解するために必要な基礎です. 発話 発話は, 1つの意味を表す単語やいくつかの言葉をコンピュータに向かって 発声する (話す) ことです. 発話は単語であったり, 言葉であったり, 文 であったり, あるいは複数の文であったりします. 話者への依存 話者に依存するシステムは特定の話者を対象として設計されます. そのシ ステムは一般に, その特定の話者の発声に対しては正確ですが, 他の話者 では精度がずっと悪くなります. それらは話者が一定の声と速度で話すこ とを仮定しています. 話者に依存しないシステムは様々な話者に向けて設 計されます. 順応性のあるシステムは普通, 話者に依存しないシステムと してスタートし, 学習技術を利用して認識精度を高めることで話者に適応 していきます. 語彙 語彙 (あるいは辞書) とは, SR システムに認識されるための言葉や発話の リストです. 一般に, コンピュータにとっては少ない語彙のほうが認識し やすく, 語彙が多くなるほど認識が困難になります. 普通の辞書とは異な り, それぞれの項目は単語ではありません. それらは文や文章ほど長くな ることもあります. 少ない語彙は1つか2つの認識された文 (例えば "Wake up") しかないかもしれませんが, とても多い語彙では 10 万語以上となり ます. 精度 認識装置の能力はその精度を測定することによって, あるいはまた, 話さ れた言葉をどれくらい認識するかによって調べることができます. これは 発話を正確に特定するだけでなく, 発話が語彙に含まれているかどうかを 特定することも含んでいます. 良い ASR システムは 98% 以上の精度があ ります. あるシステムの精度の許容範囲はその用途に強く依存します. 学習 話者に順応する能力を持つ音声認識もあります. システムがこの能力をも っているときは, 学習させることができます. ASR システムは話者に標準 的な言葉や一般的な言葉を繰り返させ, 比較のアルゴリズムを特定の話者 に調和することで学習されます. 一般に認識装置を学習させることで, そ の精度は向上します. 学習は, 話し方やある種の単語の発音がうまくできない話者にも利用され ます. 話者が首尾一貫して発話を繰り返す限り, 学習機能のある ASR シス テムは適応することが可能でしょう. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2. 音声認識のタイプ 音声認識のシステムは, どのようなタイプの発話を認識する能力を持っている かによって, 幾つかのクラスに分類することができます. このようなクラスは 話者がいつ発話を始め, いつ終えたのかを測定する能力が ASR の難しさの 1つ であるという事実に基づいています. 多くのパッケージが使用中のモードによ って, 複数のクラスに適合します. 孤立した言葉 孤立した言葉の認識には, それぞれの発話ごとにサンプルウィンドウ (サ ンプルの開始から終了の期間)の前後に音のない時間 (オーディオ信号の無 い状態)が必要となります. 認識装置が単語を受け取るというわけでなく一 度には発話は一つという意味です. このシステムでは普通なのですが, ``音声入力状態 / 認識状態'' という 2 つの状態があるため,話者はとぎ れとぎれに話さなければなりません (声がとぎれたときに認識処理をして います). 孤立した発話はこのクラスではより良い名前かもしれません. 連続した言葉 連続した言葉 (あるいはより正確に '連続した発話') のシステムは孤立し た言葉のシステムに似ていますが, 間に最短の休止をはさみながら '続け て発声される' 個別の発話を認識します. 連続した音声 連続した認識が次のステップです. 連続した音声を認識できる装置は最も 作りにくいものです, なぜなら発話の境界を特定するために特殊な方法を 使用しなければならないからです. 連続した音声認識装置はユーザにほと んど自然に話すことを許します, 一方でコンピュータが内容を特定します. 基本的に, それはコンピュータの書き取りです. 自然な音声 実際に自然な音声が何であるかの定義はさまざまあるようです. 基本的な 段階では, それは自然な音の発生であって繰り返されるものではないとい う考えであるかもしれません. 自然な音声の機能を備えた ASR システムは "ums" と "ahs" など, 混合された言葉などのさまざまな自然の音声の特徴 や, 微かな口ごもりさえ, 扱うことが可能でしょう. 音声照合/識別 いくつかの ASR システムは特定のユーザを識別する機能を持っています. この文書では照合やセキュリティのためのシステムについては扱いません. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3. 利用法と応用 コンピュータと人間を仲介する仕事全般において, ASR の出番があるかもしれ ません. 現在は下記に挙げたアプリケーションが一般的です. 書き取り 書き取りは, 今日最も一般的な ASR システムの使用法です. これは一般の 文書処理と同様に医学記録転写や, 法律や仕事の書き取りも含みます. シ ステムの精度を向上させるために, 特別な語彙が使われる場合もあります. 音声命令システム コンピュータのコマンドを実行する ASR システムのことを, 音声命令シス テムと定義します. "Open Netscape" や "Start a new xterm" のように音 声で命令すると, 発話どおりのコマンドが実行されます. 電話 いくつかの PBX/Voice メールシステムは, ボタンを押すかわりにコマンド を話すことで電話をかけられます. 携帯機器 入力手段が限定されている携帯機器では, 話すことは当然可能です. 医療/ハンディキャップ 多くの人が, 反復運動過多損傷 (RSI), 筋ジストロフィーなどのような身 体的な制限のためにタイピングに問題を抱えています. 例えば聴覚に問題 のある人は, 相手の声をテキストに変えるために電話に接続されたシステ ムを使用できるでしょう. 組み込みアプリケーション 新しい携帯電話のなかには "Call Home" のような発話を解釈する C&C 音 声認識を備えたものもあります. これは将来の ASR と Linux の主要事項 となるかもしれません. なぜ私はまだテレビに話しかけられないのでしょ うか? ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4. ハードウェア 4.1. サウンドカード 音声は比較的低い帯域幅を必要とするので, 中程度から高品質の 16 ビットサ ウンドカードなら使えるでしょう. カーネルでサウンドを有効にして正しいド ライバをインストールしなければなりません. サウンドカードについてのこれ 以上の情報は http://www.LinuxDoc.org/ にある "The Linux Sound HOWTO" を 見てください. サウンドカードの品質については精度とノイズの影響について, しばしば議論がまき起こります. 最も綺麗な A/D (アナログからディジタル) への変換機能を持ったサウンドカ ードを勧めますが, しばしばディジタルサンプルの明瞭さはマイクの性能に依 存し, 周囲のノイズにはいっそう大きく依存します. モニタや, PCI スロット, ハードディスクなどからの電気信号的なノイズはふつう, コンピュータのファ ンや椅子のきしむ音, 呼吸から聞こえるノイズに比べて小さなものです. ASR ソフトウェアパッケージには特定のサウンドカードを必要とするものがあ ります. 特定のハードウェアへの依存を避けるのは通常良いことです, なぜな ら将来の選択肢を狭めてしまうからです. もし適切に動作するためには特別な ハードウェアが必要となるようなパッケージを考えているのなら, あなたは利 益とコストを考慮しなければならないでしょう. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.2. マイク マイクの品質は ASR を使う上で重要です. 多くの場合において, 卓上マイクは この使用法に向きません. 周囲のノイズを拾いがちになるので, ASR プログラ ムがうまく動作しないことになります. マイクをずっと持ちつづけているのは大変なので, ハンドマイクも最善の選択 ではありません. 周囲のノイズの量を抑えながら, 頻繁に話者が変わる場合や 認識装置に向って話すことがあまりない場合は (ヘッドセットを付けることも 選択できないとき) 最も便利です. 断然人気のある一番よい選択はヘッドセットです. それを使えば, いつもあな たの口もとにマイクを置いたままでも, 周囲の騒音を最小に抑えることができ ます. ヘッドセットはイアホンの無いものとあるもの (モノラルかステレオか) もあります. ステレオのヘッドホンを勧めますが, それは個人の好みの問題で す. $25 から $100 くらいで素晴らしい性能を持ったヘッドセット型マイクが買え ます. http://www.headphones.com か http://www.speechcontrol.com から探 してみてください. レベルについての短かいメモ: マイクのボリュームを上げることを忘れないで ください. これは XMixer か OSS Mixer のようなプログラムを使って行なうこ とができます, そしてフィードバックノイズを避けるように使用することに注 意してください. ASR ソフトウェアが自動調節プログラムを含んでいれば, そ れらを代りに使ってください, それらはその特定の認識システムに最適化され ています. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3. コンピュータ/プロセッサ ASR アプリケーションはプロセッサの速度に強く依存することがあります. こ れは ASR では大変な量のディジタルフィルタリングと信号処理が起こりうるか らです. CPU 負荷の高いソフトウェアと同じく, 速いほど良くなります. また, メモリ が大きい程よくなります. いくつかの ASR は 100MHz と 16MB の RAM でも可 能ですが, 高速で処理する (大きな辞書や複雑な認識スキーム, 高サンプルレ ート) には, 最低でも 400MHz で 128MB の RAM が良いでしょう. 必要とする 処理性能の関係で, ほとんどのソフトウェアでは最小限の必要条件が記載され ています. 大規模の認識を行なうのに, クラスタ (Beowulf や他ものも) を利用すること は行なわれていません. 進行中や開発中のプロジェクトをご存知ならお知らせ ください. scook@gear21.com ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5. 音声認識ソフトウェア 5.1. フリーソフトウェア ここで挙げるフリーソフトウェアの多くは, ここからダウンロードできます: http://sunsite.uio.no/pub/Linux/sound/apps/speech/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.1. XVoice XVoice はさまざまな XWindow アプリケーションで使用できる音声認識のソフ トウェアで, 書き取りや連続した音声認識が可能です. ユーザがマクロを定義 することもでき, 確かな未来のある良いプログラムです. 一度設定すれば, 充 分な精度で動作します. XVoice を使うためには IBM の ViaVoice for Linux (商用の節を見てくださ い) を入手してインストールする必要があります. また ViaVoice を正しく動 作させるために設定が必要です. 加えて Lesstif/Motif (libXm) も必要です. このプログラムは X Window とやりとりするので, X リソースを利用できるよ うにしておかなければならないことに注意することも重要です, このため, ネ ットワークに継がったマシンやマルチユーザのマシンで使用するときは, 気を 付けてください. このソフトウェアは主にユーザ向けです. RPM を入手できます. HomePage: http://www.compapp.dcu.ie/~tdoris/Xvoice/ http:// www.zachary.com/creemer/xvoice.html Project: http://xvoice.sourceforge.net Community: http://www.onelist.com/community/xvoice ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.2. CVoiceControl/kVoiceControl CVoiceControl (Console Voice Control の略) は元々 KVoiceControl(KDE Voice Control) でした. このプログラムはユーザがコマンドを話すことで Linux のコマンドを実行できる, 基本的な音声認識システムです. CVoiceControl が KVoiceControl に置き代わりました. このソフトウェアにはマイクレベルを設定するユーティリティ, 新しいコマン ドと発話を追加するための語彙モデルエディタ, 音声認識システムが含まれて います. CVoiceControl は ASR を始めようとする経験豊富なユーザにとって, 素晴らし い出発点となります. 必ずしもユーザフレンドリであるとは言えませんが, 正 しく学習させれば, とても役立ちます. セットアップを行う時にはドキュメン トを良く読んでください. このソフトウェアは主にユーザ向けです. Homepage: http://www.kiecza.de/daniel/linux/index.html Documents: http://www.kiecza.de/daniel/linux/cvoicecontrol/index.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.3. Open Mind Speech 1999 年後半に始まった Open Mind Speech は何度か名前を変えました (かつて は VoiceControl, その後は SpeechInput で, それから FreeSpeech です). ま た今では, オープンソースプロジェクトの "Open Mind Initiative" の一部で す. 今の所は完全に機能するわけではなく, 主に開発者向けです. このソフトウェアは主に開発者に向けたものです. Homepage: http://freespeech.sourceforge.net ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.4. GVoice GVoice は Gtk/GNOME アプリケーションを制御するために IBM の (フリーの) ViaVoice SDK を使用した音声 ASR ライブラリで, 初期化, 認識エンジン, 辞 書操作, パネルのコントロールを行うためのライブラリが含まれています. 開 発は一年以上停滞しています. このソフトウェアは主に開発者に向けたものです. Homepage: http://www.cse.ogi.edu/~omega/gnome/gvoice/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.5. ISIP Mississippi State University の Institute for Signal and Information Processing はその音声認識エンジンを公開しました. このツールキットはフロ ントエンドとデコーダー, そして訓練モジュールを含んでいます. これは機能 的なツールキットです. このソフトウェアは主に開発者に向けたものです. このツールキット (と ISIP についての情報) はここで入手できます: http:// www.isip.msstate.edu/project/speech/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.6. CMU Sphinx Sphinx はもともと CMU で始められ, 最近オープンソースとして公開されまし た. これは多くのツールと情報を含んだ, かなり大きなプログラムです. これ はいまだに"開発中"ですが, 学習のためのソフトウェアと認識装置, 音響モデ ル, 言語モデル, 作成中の文書を含んでいます. このソフトウェアは主に開発者に向けたものです. Homepage: http://www.speech.cs.cmu.edu/sphinx/Sphinx.html Source: http://download.sourceforge.net/cmusphinx/sphinx2-0.1a.tar.gz ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.7. Ears Ears の開発は完全ではありませんが, ASR を始めたいと思っているプログラマ には良いきっかけになるでしょう. このソフトウェアは主に開発者に向けたものです. FTP site: ftp://svr-ftp.eng.cam.ac.uk/comp.speech/recognition/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.8. NICO ANN Toolkit NICO Artificial Neural Network toolkitは音声認識アプリケーションに最適 化されたフレキシブルバックプロパゲーションニューラルネットワークツール キットです. このソフトウェアは主に開発者に向けたものです. homepage: http://www.speech.kth.se/NICO/index.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.9. Myers' Hidden Markov Model Software Richard Myers のこのソフトウェアは C++ で記述された HMM アルゴリズムで す. これは L. Rabiner の本である "Fundamentals of Speech Recognition" に記述された HMM のための例と学習ツールを提供します. このソフトウェアは主に開発者に向けたものです. 情報はここで入手できます: http://www.itl.atr.co.jp/comp.speech/Section6 /Recognition/myers.hmm.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.10. Jialong He's Speech Recognition Research Tool もともと Linux 向けに書かれたものではありませんが, この研究ツールは Linux でコンパイルできます. 異なる3つのタイプの認識装置を備えています: DTW, Dynamic Hidden Markov Model, Continuous Density Hidden Markov Model です. これは研究と開発用のもので, 完全な ASR システムではありませ ん. このツールキットはいくつかの便利なツールを持っています. このソフトウェアは主に開発者に向けたものです. さらに多くの情報はここで入手できます: http://www.itl.atr.co.jp/ comp.speech/Section6/Recognition/jialong.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1.11. まだ他にもありますか? 上記以外のものをご存じなら私までお知らせください: scook@gear21.com . もしよろしかったら, 紹介頂いたソフトウェアの コピーを入手できる場所も教えてください. さらに感想も送って頂けると幸い です. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2. 商用ソフトウェア 5.2.1. IBM ViaVoice SDK の未来はどうなるかわかりませんが, IBM は ViaVoice シリーズで Linux をサポートするという約束をしています, (開発者とのライセンス契約は現時点 では公式には行われていません, もう少し先になるでしょう. ) 商用の (フリーでない) 製品である, IBM ViaVoice Dictation for Linux (http://www-4.ibm.com/software/speech/linux/dictation.html から入手でき ます) の性能はとても良いのですが, 基本的な ASR システム (64M RAM と 233MHz Pentium) に比較してさらに大きなシステムを必要とします. $59.95US で Andrea NC-8 マイクも付属しています. マルチユーザで使用することも可能 です (しかし, 私はマルチユーザで実験していないので, だれか実験した人が いれば私のおしりを叩いてください). このパッケージは次のものを含みます: 文書 (PDF), 学習ツール, 書き取りシステム, それからインストールスクリプ ト. 2.2系カーネルをベースにした他の Linux ディストリビューションのサポ ートも最新のリリースではされています. この ASR SDK は自由に入手でき, IBM の SMAPI, 文法 API, 文書, と様々なサ ンプルプログラムを含んでいます. ViaVoice Run Time Kit は書き取り機能の ための ASR エンジンとデータファイル, ユーザユーティリティを提供します. この ViaVoice Command & Control Run Time Kit は音声命令システムのための ASR エンジンとデータファイルとユーザユーティリティを含んでいます. この SDK と Kit には 128MB の RAM と Linux 2.2 以上が必要です. SDK と Kit はここで自由に入手できます: http://www-4.ibm.com/software/ speech/dev/sdk_linux.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2.2. Vocalis Speechware Vocalis と Vocalis Speechware についてのさらなる情報は: http:// www.vocalisspeechware.com と http://www.vocalis.com. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2.3. Babel Technologies Babel Technologies は Babear と呼ばれる Linux SDK を提供しています. こ れは Hybrid Markov Model と Artificial Neural Network テクノロジに基づ いた話者に依存しないシステムです. テキスト音声変換や話者照合, 音素解析 に関するさまざまな製品があります. 他の情報については: http:// www.babeltech.com. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2.4. SpeechWorks 彼らのウェブサイトでは Linux について特に言及していませんが, 彼らの "OpenSpeech Recognizer" はオープンスタンダードである VoiceXML を使用し ています. 他の情報については: http://www.speechworks.com. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2.5. Nuance Nuance はさまざまな *nix プラットフォーム用の音声認識/自然言語の製品 (現在は Nuance 8.0) を提供しています. 非常に大きな語彙を扱うことが可能 でスケーラビリティと障害許容のために特有の分散アーキテクチャを使用して います. 他の情報はここから入手できます: http://www.nuance.com. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2.6. Abbot/AbbotDemo Abbot は非常に大きな語彙, 話者に依存しない ASR システムです. それはもと もと, Cambridge University の Connectionist Speech Groupによって開発さ れ, いまは, SoftSound (商用)に移っています. くわしい情報は: http:// www.softsound.com AbbotDemo は Abbot のデモパッケージです. このデモシステムは約 5000 語の 語彙を持ち, connectionist/HMM の連続した音声アルゴリズムを利用していま す. これはソースコードの附属しないデモプログラムです. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2.7. Entropic Entropic の周辺の有能な人は Micro$oft に買い取られてしまいました. . . 製品とサポートサービスは全て消えてしまいました. HTK と ESPS/waves+ のサ ポートは打ち切られてしまい, 彼らの未来は M$ にかかっています. 古いウェ ブサイト http://www.entropic.com にさらに情報があります. K.K. Chin が私に HTK の元々の開発者 (Cambridge の Speech Vision and Robotic Group) がまだそれに対するサポートをしていると情報をくれました. http://htk.eng.cam.ac.ukではフリーなバージョンも入手できます. Microsoft が現行の HTK のコードの著作権を所有していることには注意してください. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2.8. 他の商用製品 より多くの商用の ASR 製品が (L&H を含めて) 近い将来入手できるようになる という噂があります. 私は Comdex 2000 (Vegas) で L&H の代表 2,3 人と話を しましたが, 誰も Linux リリースについて, また Linux 向けにどの製品のリ リースを計画したのかについてさえ情報をくれませんでした. もしこれ以上の 情報を持っていれば, 詳細を私 scook@gear21.com に送ってください. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6. 音声認識の内側 6.1. どのように認識しているか 認識システムは 2 つの主な部分に分解できます. パターン認識システムは適合 を判断するためにパターンを既知のものや学習したパターンと比較します. Acoustic Phonetic システムは音声の特徴 (母音などの音などの音声) を比較 するために人体に関する知識 (声の生成, と聴覚) を利用します. ほとんどの 現代的なシステムはこのようなパターン認識アプローチに重点を置いています, なぜなら. それは現在のコンピュータ利用技術とうまく結びつき, 高い精度を 得やすいからです. ほとんどの認識装置は以下のような段階に分解できます: 1. オーディオの記録と発話の検出 2. プリフィルタリング (プリエンファサイズ, 正規化, バンディングなど) 3. フレーミングとウィンドウィング (データを使用できる形式に分解する) 4. フィルタリング (更にそれぞれのwindow/frame/freq.bandをフィルタリン グ) 5. 比較と適合 (発話の認識) 6. 動作 (認識されたパターンに関連した機能を実行) それぞれの段階は単純に見えますが, 一つ一つは多数の異なる (そしてときど きは完全に逆の) 技術を利用しています. (1) オーディオ/発声の録音: いろいろな方法があります. 始めは周囲のオーデ ィオのレベル (いくつかの場合では音響のエネルギー) を録音されているサン プルと比較することです. 終点の判別は, 話者が呼吸やため息, 歯の鳴き, エ コーなどの "artifacts" を残しがちなのでさらに困難です. (2) プリフィルタリング: 認識システムの他の機能に依存して, いろいろな方 法で行なわれます. 最も一般的な方法は, サンプルの準備のために一連のオー ディオフィルターを使用する "Bank-of-Filters" 法と, 差異(誤差)の計算のた めに予測機能を使用する Linear Predictive Coding 法です. 異なる形式のス ペクトル解析も利用されます. (3) フレーミング/ウインドウィングはサンプルデータを特定の大きさに分割す ることです. これはしばしば step2 と step4 へ進みます. この段階は分析の ためにサンプル境界 (淵のカチンという音などを除くこと) を用意することも 含んでいます. (4) 追加のフィルタリングはいつも存在するわけではありません. これは比較 と適合の前でのそれぞれのウィンドウに対する最後の準備です. しばしばこれ は時間の配置と正規化から構成されます. (5)の比較と適合については可能な技術が大量にあります. ほとんどは現在のウ ィンドウと既知のサンプルの比較を必要とします.Hidden Markov Models (HMM), 周波数解析, 差異解析, 線型代数の技術/近道, スペクトル歪を利用す る方法や時間歪曲法もあります. これらのすべての方法は一致の確率と精度を 得るために使用されています. (6) 動作は開発者が望んだことだけです. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2. ディジタルオーディオの基礎 オーディオは本質的にアナログな現象です. ディジタルサンプルで録音するこ とは, マイクからのアナログ信号をサウンドカード上の A/D コンバータでディ ジタル信号に変換することです. マイクが動作していれば, 音波はマイクの中 の磁石の要素を振動させ, サウンドカードへの電流 (スピーカが逆に動作して いると考えてください) を発生させます. 基本的にそのA/Dコンバータは特定の 間隔での電圧の値を記録します. この過程の中に2つの重要な要素があります. 1つめは "sample rate", あるい はどのような頻度で電圧を記録するのかというもの. 2つめは "bits per second", どのような精度で値が記録されるかというものです. 3つめの要素は チャンネルの数 (モノかステレオか), しかし, 多くの ASR アプリケーション ではモノで十分です. 多くのアプリケーションではこれらのパラメータに予め 設定された値を使用して, ユーザは文書に書かれていないかぎり変更するべき ではありません. 開発者は異なる値でそのアルゴリズムとは何が合うのかを実 験することで決定するべきです. それでは, ASR についてはどのようなサンプルレートが良いのでしょうか? 音 声は比較的低い帯域幅 (ほとんど 100Hz から 8kHz) ですから, 8000 samples/ sec (8kHz) はほとんどの基本的な ASR に対しては十分です. しかし, さらに 正確な高周波数の情報を得られるので 16000 samples/sec(16kHz) を好む人も います. もし処理能力があれば 16kHz を使うべきです. ほとんどの ASR アプ リケーションでは 22kHz 以上のサンプリングレートは無駄です. そしてどのような値が "bits per sample" (1サンプル当りのビット数) につい て良いのでしょうか? 8 bits per sample は 0 から 255 の間で値を記録しま す, これはマイク成分の大きさが 256個の中の1つであるということを意味しま す. 16 bits per sampleは成分の大きさを 65536 個に分割します. サンプルレ ートも同様です. 比較のために, 音楽用 Compact Disc は 44kHz で 16 bits per sampleでエンコードされています. 使用されるエンコーディングフォーマットは線型な符号付あるいは符号なし整 数のように単純であるべきです. U-Law/A-Law アルゴリズムまたは他の圧縮法 を使用することは普通価値がありません, なぜならそれは計算能力のコストが かかり, コストに見合った能力を十分に得ることができないからです ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7. 出版物 このリストに載っていないもので, ここに加えたほうがいいと思う出版物があ れば, 私scook@gear21.com へ情報を送ってくださ い. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.1. 書籍 ・ "Fundamentals of Speech Recognition". L. Rabiner & B. Juang. 1993. ISBN: 0130151572. ・ "How to Build a Speech Recognition Application". B. Balentine, D. Morgan, and W. Meisel. 1999. ISBN: 0967127815. ・ "Speech Recognition : Theory and C++ Implementation". C. Becchetti and L.P. Ricotti. 1999. ISBN: 0471977306. ・ "Applied Speech Technology". A. Syrdal, R. Bennett, S. Greenspan. 1994. ISBN: 0849394562. ・ "Speech Recognition : The Complete Practical Reference Guide". P. Foster, T. Schalk. 1993. ISBN: 0936648392. ・ "Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition". D. Jurafsky, J. Martin. 2000. ISBN: 0130950696. ・ "Discrete-Time Processing of Speech Signals (IEEE Press Classic Reissue)". J. Deller, J. Hansen, J. Proakis. 1999. ISBN: 0780353862. ・ "Statistical Methods for Speech Recognition (Language, Speech, and Communication)". F. Jelinek. 1999. ISBN: 0262100665. ・ "Digital Processing of Speech Signals" L. Rabiner, R. Schafer. 1978. ISBN: 0132136031 ・ "Foundations of Statistical Natural Language Processing". C. Manning, H. Schutze. 1999. ISBN: 0262133601. ・ "Designing Effective Speech Interfaces". S. Weinschenk, D. T. Barker. 2000. ISBN: 0471375454. 多数のオンラインで読める参考文献リストがあるので, Institut Fur Phoneti をチェックしたほうがいいでしょう: http:// www.informatik.uni-frankfurt.de/~ifb/bib_engl.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.2. インターネット news:comp.speech コンピュータと音声に関するニュースグループです. □ US: http://www.speech.cs.cmu.edu/comp.speech/ □ UK: http://svr-www.eng.cam.ac.uk/comp.speech/ □ Aus: http://www.speech.su.oz.au/comp.speech/ news:comp.speech.users 音声に関するソフトウェアのユーザのためのニュースグループです. □ http://www.speechtechnology.com/users/comp.speech.users.html news:comp.speech.research 音声に関係したソフトウェアとハードウェアのためのニュースグループで す. news:comp.dsp ディジタル信号処理のためのニュースグループです. news:alt.sci.physics.acoustics 音の物理学のためのニュースグループです. DDLinux Email List Linux の音声認識のメーリングリストです. □ Homepage: http://leb.net/ddlinux/ □ Archives: http://leb.net/pipermail/ddlinux/ Linux Software Repository for speech applications http://sunsite.uio.no/pub/linux/sound/apps/speech/ Russ Wilcox's List of Speech Recognition Links (excellent) http://www.tiac.net/users/rwilcox/speech.html Online Bibliography Online Bibliography of Phonetics and Speech Technology Publications. http://www.informatik.uni-frankfurt.de/~ifb/ bib_engl.html MIT's Spoken Language Systems Homepage http://www.sls.lcs.mit.edu/sls/ Oregon Graduate Institute Oregon Graduate Institute の Spoken Language Understanding のセンタ ーです. 開発者と研究者にとって素晴らしい場所です. http:// cslu.cse.ogi.edu/ IBM's ViaVoice Linux SDK http://www-4.ibm.com/software/speech/dev/sdk_linux.html Mississippi State Signal and Information Processingについてのミシシッピ州立大学開発者 に向けた大量の情報があるホームページです. http:// www.isip.msstate.edu/projects/speech/ Speech Technology ASR ソフトウェアとアクセサリです. http://www.speechtechnology.com Speech Control 音声制御のコンピュータシステム. ASR用のマイク, ヘッドセット, ワイヤ レス製品です. http://www.speechcontrol.com Microphones.com ASR 用のマイクとアクセサリです. http://www.microphones.com 21st Century Eloquence "Speech Recognition Specialists." http://voicerecognition.com Computing Out Loud 主には Windows ユーザに向けたものですが, 良い情報があります. http:/ /www.out-loud.com Say I Can.com "The Speech Recognition Information Source." http://www.sayican.com ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8. 日本語訳について 日本語訳は Linux Japanese FAQ Project が行いました. 翻訳に関するご意見 は JF プロジェクト 宛に連絡してください. 2.0j 翻訳: 服部高資 校正: □ 中谷千絵 □ 野本浩一