FPGA を用いた簡易音声認識に関する研究

平成 21 年度
電子制御工学科
中間発表会
FPGA を用いた簡易音声認識に関する研究
高岡 碧
1.緒言
現在,パーソナルコンピュータや携帯電話など
の情報機器が広く一般家庭に普及している.それ
に伴い,柔軟で扱いやすいインターフェースが必
要とされており,その代表として音の利用技術の
一つである音声認識による入力インターフェース
が注目されている.
音声認識の究極の目標は,誰の声でも・どのよ
うな話し方でも・どのような言葉でも・どのよう
な状況下でも認識できるということである.この
ような目標は音声認識 LSI やパーソナルコンピュ
ータのソフトウェアでほぼ実現されているが,高
価で内部処理が不明瞭で複雑であることが挙げら
れる.
本研究では,FPGA を用いた高速で汎用性が高
く,内部処理を単純化した小型で軽量な音声認識
による入力インターフェースの開発を目的とする.
2.FPGA とは
FPGA1)(Field Programmable Gate Array)と
は現場で書き換え可能な集積回路のことで,一つ
の LSI 上に共通のゲートが並んでおり,プログラ
ムにより回路を記述することが出来る素子である.
ハードウェア記述言語といったプログラム言語を
用い,FPGA 内に回路を記述することが出来る.
回路開発を小型軽量化,大容量化,高速処理化,
低消費電力化,配線長による雑音等の除去,費用
削減,また短期間での開発のために開発され,現
在では広く普及している.
マイコンがプログラムを実行をする際,動作ク
ロック(20MHz 程度まで)に合わせて命令読み出
し→命令解析→命令実行といった流れで処理をす
るのが,FPGA の場合は設計者がプログラミング
により記述した,任意の回路を動作するので並列
処理が行われ,クロック(~数百 MHz)に同期し,
高速で処理できる.
FPGA は,マイコンに比べ,条件判断を多用す
る処理は論理規模が多くなってしまい,並列処理
をするメリットがなくなってしまうため不得意で
ある.しかし,並列処理を活かした回路処理や,
演算ロジック,ディジタルフィルタ等の処理はマ
イコンに比べ得意である.最近では,CPU 自体を
FPGA 内に作ってしまっているので,不得意とさ
れる部分も高速に処理できるようになっている.
本研究では,このような FPGA の小型軽量,高
速処理化,柔軟性を活かし,音声認識による入力
インターフェースの開発を行う.
3.音声認識インターフェース
音声認識インターフェースを図 1 に示す.マイ
クより入力された音声信号を FPGA 内に取り込
み,A/D 変換を用いてディジタル値(離散信号)
に変換する.取り込まれた音声信号はフーリエ変
換を行い,時系列信号から周波数信号に変更した
飯田 賢一
後,周波数ごとの特徴抽出,各信号の比較処理を
行って制御対象への操作量を出力する.
また,音声取り込み用マイクは audio-technica
社のモノラルマイクロフォン AT9903(図 2)を
用いる.このマイクはバッテリー方式とプラグイ
ン方式の 2 種類で駆動が出来,小型で軽量な入力
インターフェースのユニット化に適している.さ
らに,使用する FPGA のボードは Xilinx 社の
SPARTAN-3E スターターキット(図 3)を用い,ハ
ードウェア言語の一つである Verilog-HDL を用
いてプログラムを記述する.Xilinx 社の FPGA は
web 上でフリーの書き込みソフトが提供されてお
り,スターターキットに搭載されている FPGA は
ポート数が多く,低コストで最も低消費電力なデ
バイスである.プログラミングに用いる
Verilog-HDL はハードウェア記述言語の中で一番
C 言語に似た文法系をしており習得がしやすく,
現在ハードウエア開発において最も使われている
言語である.
FPGA
LCD
音声入力
A/D変換
マイク
内部演算
比較
制御対象
判断
操作量
単語モデル
音声データ
図 1 インターフェース構成
図 2 マイク
図 3 スターターキット
4.現状と今後の予定
現状は SPARTAN-3E スターターキットを用い
て,結果出力のための LCD 表示や,高速フーリ
エ変換等の演算,組み合わせ論理回路のプログラ
ム記述,各母音のデータを取り込み PC 内で処理
し,特徴を比較している段階である.今後はこの
スターターキットを用いて A/D 変換回路や,音声
信号のデータを保存するためのメモリ回路,PC
やマイコンとデータがやり取りするための通信プ
ログラムの記述や,内部処理のアルゴリズム検討
を行う予定である.
また,緒言で述べたように誰の声でも認識可能
にするために多くの音声サンプルデータの取得も
行い,作成した単語モデルと入力音声信号の比較
方法も検討し,考察する必要がある.
<参考文献>
1)「手軽にはじめる FPGA」,トランジスタ技 2009
年 3 月号,CQ 出版社