|
|
13行目: |
13行目: |
| === これからやること === | | === これからやること === |
| * NAKAYO 電話機を Asterisk のパーク保留に対応させる | | * NAKAYO 電話機を Asterisk のパーク保留に対応させる |
− |
| |
| | | |
| == Asterisk で音声認識 == | | == Asterisk で音声認識 == |
− | Asterisk と Julius を連携させて、音声認識を実現する。
| + | [[Julius を使った音声認識]] に移動しました。 |
− | <br/>なお、以下の番号で山手線の駅名を認識するデモを用意してあります。
| |
− | <pre>055-287-7709</pre>
| |
− | | |
− | === 材料 ===
| |
− | * 必ず必要なもの
| |
− | <ul>
| |
− | * x86 系の Linux 環境
| |
− | * Asterisk 1.4 系のソース<br/>2009/10/6 の最新版<br/>http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.4.26.2.tar.gz
| |
− | * Julius ソース<br/>http://sourceforge.jp/projects/julius/downloads/37582/julius-4.1.2.tar.gz/
| |
− | * Julius ディクテーション実行キット<br/>http://prdownloads.sourceforge.jp/julius/28977/dictation-kit-v3.2.tar.gz
| |
− | * Asterisk 連携用パッチと Julius プラグインのソース<br/>http://www2.iweave.jp/asterisk-julius/asterisk-julius-20091006.tgz
| |
− | </ul>
| |
− | * デモ環境<br/>このデモでは、音声合成に galatea talk + unidic を利用しています。
| |
− | <ul>
| |
− | * 山手線の駅名の認識デモ<br/>http://www2.iweave.jp/asterisk-julius/asterisk-julius-20091006-jr.tgz
| |
− | * OSC 2009 Okinawa で使ったデモ<br/>http://www2.iweave.jp/asterisk-julius/asterisk-julius-20091006-yui.tgz
| |
− | </ul>
| |
− | | |
− | === 環境の構築 ===
| |
− | * 期待するディレクトリ構成
| |
− | <blockquote><pre>
| |
− | /root
| |
− | |-- work
| |
− | | |-- dictation-kit-v3.2
| |
− | | | `-- model
| |
− | | | `-- phone_m
| |
− | | `-- julius-4.1.2
| |
− | | `-- plugin
| |
− | |-- jr
| |
− | `-- yui
| |
− | </pre></blockquote>
| |
− | | |
− | * 事前準備
| |
− | <ul>
| |
− | * /root/work ディレクトリの準備
| |
− | <blockquote><pre>
| |
− | # mkdir /root/work
| |
− | </pre></blockquote>
| |
− | * ソースの取得
| |
− | <blockquote><pre>
| |
− | # cd /root/work
| |
− | # wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.4.26.2.tar.gz
| |
− | # w3m http://sourceforge.jp/projects/julius/downloads/37582/julius-4.1.2.tar.gz/
| |
− | # w3m http://prdownloads.sourceforge.jp/julius/28977/dictation-kit-v3.2.tar.gz
| |
− | # wget http://www2.iweave.jp/asterisk-julius/asterisk-julius-20091006.tgz
| |
− | # wget http://www2.iweave.jp/asterisk-julius/asterisk-julius-20091006-jr.tgz
| |
− | # wget http://www2.iweave.jp/asterisk-julius/asterisk-julius-20091006-yui.tgz
| |
− | </pre></blockquote>
| |
− | </ul>
| |
− | | |
− | * Julius ビルド
| |
− | <ul>
| |
− | * /root/work に julius-4.1.2.tar.gz を展開する。
| |
− | <blockquote><pre>
| |
− | # cd /root/work
| |
− | # tar zxf julius-4.1.2.tar.gz
| |
− | </pre></blockquote>
| |
− | * julius/Makefile.in の LDFLAGS の定義の最後に -rdynamic を追加する。
| |
− | <blockquote><pre>
| |
− | # cd julius-4.1.2
| |
− | # sed 's/^\(LDFLAGS=.*\)/\1 -rdynamic/' julius/Makefile.in > julius/Makefile.in.temp
| |
− | # mv julius/Makefile.in.temp julius/Makefile.in
| |
− | </pre></blockquote>
| |
− | * ビルド&インストール
| |
− | <blockquote><pre>
| |
− | # ./configure
| |
− | # make
| |
− | # make install
| |
− | </pre></blockquote>
| |
− | * 参考ページ<br/>http://julius.sourceforge.jp/juliusbook/ja/desc_install.html#id2486532
| |
− | </ul>
| |
− | | |
− | * Julius プラグインビルド
| |
− | <ul>
| |
− | * /root/work に asterisk-julius-20091006.tgz を展開する。
| |
− | <blockquote><pre>
| |
− | # cd /root/work
| |
− | # tar zxf asterisk-julius-20091006.tgz
| |
− | </pre></blockquote>
| |
− | * ソースを Julius のディレクトリにコピーする。
| |
− | <blockquote><pre>
| |
− | # cp asterisk-julius/udpadin.c julius-4.1.2/plugin
| |
− | </pre></blockquote>
| |
− | * プラグインをビルドする。
| |
− | <blockquote><pre>
| |
− | # cd julius-4.1.2/plugin
| |
− | # gcc -shared -o udpadin.jpi udpadin.c
| |
− | </pre></blockquote>
| |
− | </ul>
| |
− | | |
− | * 音響モデルの用意
| |
− | <ul>
| |
− | * /root/work に dictation-kit-v3.2.tar.gz を展開する。<br/>ビルド作業はありません。
| |
− | <blockquote><pre>
| |
− | # cd /root/work
| |
− | # tar zxf dictation-kit-v3.2.tar.gz
| |
− | </pre></blockquote>
| |
− | </ul>
| |
− | | |
− | * Asterisk 連携アプリケーションのビルド
| |
− | <ul>
| |
− | * /root/work に Asterisk 1.4 系のソースを展開する。
| |
− | <blockquote><pre>
| |
− | # cd /root/work
| |
− | # tar zxf asterisk-1.4.*.tar.gz
| |
− | </pre></blockquote>
| |
− | * /root/work に asterisk-julius-20091006.tgz を展開する(展開していない場合)。
| |
− | <blockquote><pre>
| |
− | # tar zxf asterisk-julius-20091006.tgz
| |
− | </pre></blockquote>
| |
− | * app_talkdetect.c にパッチを当てる。
| |
− | <blockquote><pre>
| |
− | # cd asterisk-1.4.*
| |
− | # patch -p1 < ../asterisk-julius/app_talkdetect-julius.patch
| |
− | </pre></blockquote>
| |
− | * Asterisk のビルドオプションを選択、ビルドして、インストールする。
| |
− | <blockquote><pre>
| |
− | # ./configure
| |
− | # make menuconfig
| |
− | # make
| |
− | # make install
| |
− | # make samples
| |
− | # make config
| |
− | </pre></blockquote>
| |
− | * /etc/asterisk/sip.conf 等を編集して、電話機を登録する。
| |
− | * すでにビルド環境がある場合は、その環境に app_talkdetect.c をコピーして、再ビルド&インストールしてください。
| |
− | </ul>
| |
− | | |
− | === デモ環境構築 ===
| |
− | * 山手線の駅名の認識デモ
| |
− | <ul>
| |
− | * /root に asterisk-julius-20091006-jr.tgz を展開する。
| |
− | <blockquote><pre>
| |
− | # cd /root
| |
− | # tar zxf work/asterisk-julius-20091006-jr.tgz
| |
− | </pre></blockquote>
| |
− | * /root/work に asterisk-julius-20091006.tgz を展開する(展開していない場合)。
| |
− | <blockquote><pre>
| |
− | # cd /root/work
| |
− | # tar zxf asterisk-julius-20091006.tgz
| |
− | </pre></blockquote>
| |
− | * 番号計画をコピーする。
| |
− | <blockquote><pre>
| |
− | # cp /root/work/asterisk-julius/extensions.ael /etc/asterisk
| |
− | </pre></blockquote>
| |
− | * default コンテキストの 200 番でデモが利用できる。
| |
− | </ul>
| |
− | | |
− | * OSC 2009 Okinawa で使ったデモ
| |
− | <ul>
| |
− | * /root に asterisk-julius-20091006-yui.tgz を展開する。
| |
− | <blockquote><pre>
| |
− | # cd /root
| |
− | # tar zxf work/asterisk-julius-20091006-yui.tgz
| |
− | </pre></blockquote>
| |
− | * /root/work に asterisk-julius-20091006.tgz を展開する(展開していない場合)。
| |
− | <blockquote><pre>
| |
− | # cd /root/work
| |
− | # tar zxf asterisk-julius-20091006.tgz
| |
− | </pre></blockquote>
| |
− | * 番号計画をコピーする(コピーしていない場合)。
| |
− | <blockquote><pre>
| |
− | # cp /root/work/asterisk-julius/extensions.ael /etc/asterisk
| |
− | </pre></blockquote>
| |
− | * default コンテキストの 201 番でデモが利用できる。
| |
− | </ul>
| |
− | | |
− | === デモの実行 ===
| |
− | * 山手線の駅名の認識デモ
| |
− | <ul>
| |
− | * Asterisk を再起動する。
| |
− | <blockquote><pre>
| |
− | # /etc/init.d/asterisk restart
| |
− | </pre>
| |
− | あるいは
| |
− | <pre>
| |
− | # /etc/rc.d/init.d/asterisk restart
| |
− | </pre></blockquote>
| |
− | * Julius を起動する。
| |
− | <blockquote><pre>
| |
− | # cd /root
| |
− | # julius -C jr/jconf-jr
| |
− | </pre></blockquote>
| |
− | * 接続している電話機から 200 番をダイアルする。
| |
− | </ul>
| |
− | | |
− | * OSC 2009 Okinawa で使ったデモ<br/>ゆいレールの駅名を認識します。
| |
− | <ul>
| |
− | * Asterisk を再起動する。
| |
− | <blockquote><pre>
| |
− | # /etc/init.d/asterisk restart
| |
− | </pre>
| |
− | あるいは
| |
− | <pre>
| |
− | # /etc/rc.d/init.d/asterisk restart
| |
− | </pre></blockquote>
| |
− | * Julius を起動する。
| |
− | <blockquote><pre>
| |
− | # cd /root
| |
− | # julius -C yui/jconf-yui
| |
− | </pre></blockquote>
| |
− | * 接続している電話機から 201 番をダイアルする。
| |
− | * ゆいレールの情報はこちらで確認下さい。<br/>右側に駅名が記載されています。<br/>http://www.yui-rail.co.jp/
| |
− | </ul>
| |
− | | |
− | === 制限 ===
| |
− | * 音声認識は、同時に1チャネルのみ利用可能です。<br/>複数チャネルで利用した場合は、正しい結果を得ることができません。
| |
− | * 登録されていない単語に対しても、常に登録した単語として認識してしまいます。
| |
− | * 騒がしい環境で利用すると、ノイズを音声とみなし、登録した単語として誤認識します。
| |
− | | |
− | === その他のオプション ===
| |
− | 以下につきましては、iWeave 小西(直通電話番号 055-244-7663)までお問い合わせ下さい。
| |
− | * 電話用音響モデル
| |
− | * 複数チャネル同時認識対応
| |
− | * 複数文法対応
| |
− | * 環境ノイズ対応(環境ノイズを誤認識しないように)
| |
− | * システム構築、技術支援など
| |
− | | |
− | === 備考 ===
| |
− | * 音声認識 Julius のページ<br/>http://julius.sourceforge.jp/
| |
− | * 音声合成 galatea talk のページ<br/>http://www.sp.nitech.ac.jp/~demo/gtalk/demo.php<br/>http://sourceforge.jp/projects/galateatalk/
| |
− | * 形態素解析辞書 unidic のページ<br/>http://www.tokuteicorpus.jp/dist/
| |