Julius
Contents
1.概説
Julius(http://julius.sourceforge.jp/)は、フリーで利用できる音声認識エンジンです。
本コンポーネントは、受け取った音声データをJuliusを用いて音声認識して認識テキストに変換します。
2.動作環境
当RTCの動作に必要な環境を表2-1に記します。
表2-1 動作環境詳細表
-
区分 要求環境 参考 動作OS Ubuntu Linux バージョン9.10以上を推奨 Ubuntu Linux バージョン8.04以前での動作未確認 OpenRTM OpenRTM-aist-1.0.0-RELEASE(Python)
OpenRTMの動作に必要なパッケージを含む Julius バージョン4.1.2以上を推奨 バージョン4.1.2以前での動作未確認
3.コンポーネントのインストール方法
Juliusコンポーネントはopenhrivoiceパッケージに含まれます。コマンドラインで以下のコマンドを入力してください。
% sudo apt-get install openhrivoice上記コマンドを入力する前にapt-sourceの設定が必要で す。以下のコマンドでリポジトリ登録が可能です。既に登録済みであれば必要ありま せん。
% sudo apt-add-repository ppa:openhri/ppaパッケージマネージャからのインストールはチュートリアルの「step1 インストール」を 参照してください。
4.コンポーネントの起動方法
コンフィグレーションファイル(ファイル名:rtc.conf)、音声認識文法ファイル、音声認識辞書ファイル、の3つのファイルを同じフォルダ内に用意し、カレントディレクトリを同フォルダに移動して、音声認識文法ファイルをコマンドラインオプションに指定して実行します。
例:Juliusコンポーネント起動コマンド(文法ファイル名sample.xml)
% juliusrtc sample.xml複数の音声認識文法ファイルを指定したときは指定した数だけJuliusコンポーネントが起動します。
音声認識文法ファイルと音声認識辞書ファイルの書式は「7.音声認識文法フォーマット」を参照してください。
5.入出力ポート情報
各入出力ポートのイメージを図5−1に示します。
図5-1 入出力ポートイメージ図
5.1.データポート
データポートの詳細を表5.1-1に記します。
表5.1-1 データポート詳細一覧表
| 入出力 | ポート名 | データ型 | 説明 |
| 入力 | data | TimedOctetSeq | 解析する音声データ入力 入力データパラメータは以下の値で固定 サンプリング周波数:16kHz チャンネル数:1(モノラル) フォーマット:16bit |
| 入力 | activegrammar | TimedString | 有効化する音声認識文法 |
| 出力 | status | TimedString | 音声認識モジュールの入力データ解析状態出力 ”LISTEN”:入力開始 “STARTREC”:入力始端検知 “ENDREC”:入力終端検知 “REJECTED”:入力棄却 |
| 出力 | result | TimedString | 解析された音声変換テキスト出力 |
| 出力 | log | TimedOctetSeq | 解析した音声データ |
6.コンフィグレーションパラメータ情報
コンフィングレーションパラメータの設定はありません。
7.音声認識文法フォーマット
音声認識文法フォーマットは、W3C-Speech Recognition Grammar Specification(http://www.w3.org/TR/speech-grammar/)に準拠します。
当RTCは、W3C-Speech Recognition Grammar Specificationの定めるXML形式フォーマットを使用できます。
以下に認識文法例を記します。
<?xml version="1.0" encoding="UTF-8" ?>
<grammar xmlns="http://www.w3.org/2001/06/grammar"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/06/grammar
http://www.w3.org/TR/speech-grammar/grammar.xsd"
xml:lang="jp"
version="1.0" mode="voice" root="command">
<rule id="command">
<one-of>
<item><ruleref uri="#greeting"/></item>
<item><ruleref uri="#control"/></item>
</one-of>
</rule>
<rule id="greeting">
<one-of>
<item>おはよう</item>
<item>こんにちは</item>
<item>こんばんは</item>
</one-of>
</rule>
<rule id="control">
<one-of>
<item>前進</item>
<item>バック</item>
</one-of>
<item repeat="0-1">
<ruleref uri="#garbage"/>
</item>
</rule>
<rule id="garbage">
<one-of>
<item>して</item>
<item>してください</item>
</one-of>
</rule>
</grammar>音声認識辞書フォーマットは、W3C-Pronunciation Lexicon Specification(http://www.w3.org/TR/pronunciation-lexicon/)に準拠します。
以下にその例を記します。
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon
http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"
alphabet="kana" xml:lang="jp">
<lexeme>
<grapheme>おはよう</grapheme>
<phoneme>{{KANA|おはよう}}</phoneme>
</lexeme>
<lexeme>
<grapheme>こんにちは</grapheme>
<phoneme>{{KANA|こんにちわ}}</phoneme>
</lexeme>
<lexeme>
<grapheme>こんばんは</grapheme>
<phoneme>{{KANA|こんばんわ}}</phoneme>
</lexeme>
<lexeme>
<grapheme>前進</grapheme>
<phoneme>{{KANA|ぜんしん}}</phoneme>
</lexeme>
<lexeme>
<grapheme>バック</grapheme>
<phoneme>{{KANA|ばっく}}</phoneme>
</lexeme>
<lexeme>
<grapheme>して</grapheme>
<phoneme>{{KANA|して}}</phoneme>
</lexeme>
<lexeme>
<grapheme>してください</grapheme>
<phoneme>{{KANA|してください}}</phoneme>
</lexeme>
</lexicon>








AIST
OpenRTM-aist