匿名

差分

利用者:Konishi

8,397 バイト追加, 2009年10月6日 (火) 18:44
新しいページ: '== 私はだれ? == * 名前: 小西 * 所属: 株式会社アイウィーヴ http://www.iweave.jp/ === これまでにやったこと === これまで、こんなことを...'
== 私はだれ? ==
* 名前: 小西
* 所属: 株式会社アイウィーヴ http://www.iweave.jp/

=== これまでにやったこと ===
これまで、こんなことをやりました。
* Digium アナログカードの、ナンバーディスプレイ対応パッチ作成
* Dialogic Diva Server 用、i ナンバー対応パッチ作成
* Asterisk と Julius を連携させた音声認識
* Asterisk と VoiceText の連携
* SAXA 電話機を Asterisk のパーク保留に対応させる

=== これからやること ===
* NAKAYO 電話機を Asterisk のパーク保留に対応させる


== Asterisk で音声認識 ==
Asterisk と 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/<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/
17
回編集