音声対話システムマニュアル - SEC ·...

53
NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル 1.0 版 独立行政法人産業技術総合研究所 株式会社セック

Transcript of 音声対話システムマニュアル - SEC ·...

Page 1: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト

音声対話システムマニュアル

1.0 版

独立行政法人産業技術総合研究所

株式会社セック

Page 2: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

改版履歴

版数 改版日 改版内容 備考

1.0 2012/02/29 初版作成

-i-

Page 3: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

目次

1 総則 ............................................................................................................................ 1

1.1. 目的 ........................................................................................................................1

1.2. 適用範囲 .................................................................................................................1

1.3. 関連文書等 .............................................................................................................1

1.3.1. 適用文書 ..........................................................................................................1

1.3.2. 関連文書 ..........................................................................................................1

1.3.3. 参考文書 ..........................................................................................................1

1.4. 定義 ........................................................................................................................2

1.4.1. 用語 .................................................................................................................2

1.4.2. 座標系 .............................................................................................................2

1.5. ライセンス .............................................................................................................2

2 システム構成 .............................................................................................................. 3

2.1. システム概要 ..........................................................................................................3

2.2. 使用条件 .................................................................................................................4

2.3. ハードウェア仕様...................................................................................................4

3 サービス仕様 .............................................................................................................. 5

3.1. サービス一覧 ..........................................................................................................5

3.2. 旗上げゲーム ..........................................................................................................5

3.2.1. サービス内容...................................................................................................5

3.2.2. 動作条件・制約 ...............................................................................................5

3.2.3. システム構成...................................................................................................6

3.3. マルチリンガル音声対話システム..........................................................................7

3.3.1. サービス内容...................................................................................................7

3.3.2. 動作条件・制約 ...............................................................................................7

3.3.3. システム構成...................................................................................................7

3.4. 音響エコー除去 ......................................................................................................9

3.4.1. サービス内容...................................................................................................9

3.4.2. 動作条件・制約 ...............................................................................................9

3.4.3. システム構成...................................................................................................9

3.5. 音源定位とビームフォーミング ........................................................................... 11

3.5.1. サービス内容................................................................................................. 11

-ii-

Page 4: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

3.5.2. 動作条件・制約 ............................................................................................. 11

3.5.3. システム構成................................................................................................. 11

4 取扱手順 ....................................................................................................................13

4.1. 環境構築 ...............................................................................................................13

4.1.1. ハード環境 ....................................................................................................13

4.1.2. ソフト環境(Ubuntu) ................................................................................13

4.1.3. ソフト環境(Windows) ..............................................................................15

4.2. 設定・カスタマイズ手順 ......................................................................................20

4.2.1. 音声認識 ........................................................................................................20

4.2.2. 対話制御 ........................................................................................................26

4.2.3. 設定 ...............................................................................................................32

4.3. 起動・終了手順 ....................................................................................................33

4.3.1. Ubuntu .........................................................................................................33

4.3.2. Windows .......................................................................................................37

5 制限事項 ....................................................................................................................38

6 付録 ...........................................................................................................................39

6.1. コンポーネント設定データシート........................................................................39

6.2. メッセージ一覧 ....................................................................................................41

6.2.1. メッセージ一覧(PortAudioInput) ............................................................41

6.2.2. メッセージ一覧(PulseAudioInput) ..........................................................42

6.2.3. メッセージ一覧(PortAudioOutput) .........................................................42

6.2.4. メッセージ一覧(PulseAudioOutput) .......................................................42

6.2.5. メッセージ一覧(NoiseReduction) ............................................................43

6.2.6. メッセージ一覧(EchoSuppressor) ...........................................................43

6.2.7. メッセージ一覧(EchoCanceler) ...............................................................43

6.2.8. メッセージ一覧(Julius)............................................................................43

6.2.9. メッセージ一覧(OpenJTalk) ....................................................................43

6.2.10. メッセージ一覧(Festival) .....................................................................44

6.2.11. メッセージ一覧(SEAT) .........................................................................44

6.2.12. メッセージ一覧(DSArray)....................................................................45

6.2.13. メッセージ一覧(BeamForming)...........................................................45

6.3. トラブルシューティング ......................................................................................47

-iii-

Page 5: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

表目次

表 1-1 適用文書一覧 ...................................................................................................1

表 1-2 関連文書一覧 ...................................................................................................1

表 1-3 参考文書一覧 ...................................................................................................1

表 1-4 音声対話システム 用語一覧 ..........................................................................2

表 2-1 対話制御コンポーネント .................................................................................3

表 2-2 動作環境 ..........................................................................................................4

表 2-3 対話制御システム ハードウェア一覧............................................................4

表 3-1 音声対話システム サービス一覧...................................................................5

表 3-2 旗上げゲーム:使用RTC一覧..........................................................................6

表 3-3 マルチリンガル音声対話システム:使用RTC一覧 .........................................8

表 3-4 音響エコー除去対応旗上げゲーム:使用RTC一覧 .......................................10

表 3-5 音源定位とビームフォーミング:使用RTC一覧 ...........................................12

表 4-1 EclipseのダウンロードURL..........................................................................13

表 4-2 JREのダウンロードURL ..............................................................................14

表 4-3 rtc.conf設定項目............................................................................................14

表 4-4 PythonのダウンロードURL..........................................................................19

表 4-5 OpenRTM-aist-Python 1.1.0-RC1 のダウンロードURL..............................19

表 4-6 音声認識辞書ファイルの使用タグ.................................................................20

表 4-7 音声認識文法ファイルの使用タグ.................................................................20

表 4-8 対話制御スクリプトファイルのアダプタ定義タグ........................................26

表 4-9 対話制御スクリプトファイルのスクリプト定義タグ ....................................26

表 4-10 micset.csv ...................................................................................................32

表 6-1 各コンフィギュレーション ...........................................................................39

図目次

図 2-1 音声対話システム............................................................................................3

図 3-1 旗上げゲーム:システム構成 ..........................................................................6

図 3-2 マルチリンガル音声対話システム:システム構成..........................................7

図 3-3 音響エコー除去対応旗上げゲーム:システム構成..........................................9

図 3-4 音源定位とビームフォーミング:システム構成 ........................................... 11

-iv-

Page 6: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-v-

Page 7: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

1 総則 1.1. 目的 本書は、音声対話システムの使用方法について、記述した文書である。

1.2. 適用範囲 本書は、OpenHRI を用いた音声対話システムに対して適用する。

1.3. 関連文書等 1.3.1. 適用文書 本書の適用文書を表 1-1に示す。

表 1-1 適用文書一覧

No 文書名 版数 発行元

1 コミュニケーション知能コンポーネント共通規格 第 1 版 NEDO 次世代ロボット知能化技

術開発プロジェクト・コミュニケー

ション知能 SWG

1.3.2. 関連文書

表 1-2 関連文書一覧

No 文書名 版数 発行元

1 音声処理モジュール群マニュアル 1.0 独立行政法人産業技術総合研究所

株式会社セック

2 W3C-SRGS(Speech Recognition Grammar Specification)音声認識文法を定義する規格

新版 W3C

3 W3C-PLS(Pronunciation Lexicon Specification) 音声認識辞書を定義する規格

新版 W3C

1.3.3. 参考文書

表 1-3 参考文書一覧

No 文書名 版数 発行元

1 【Web】OpenHRI Webサイト(http://openhri.net/) - 独立行政法人産業技術総合研究所

2 【Web】介護予防リハビリ体操補助ロボット「たいぞう」

http://www.generalrobotix.com/product/taizo/index.htm

- ゼネラルロボティックス株式会社

3 統合ロボットシステムマニュアル 1.0 株式会社安川電機

九州工業大学

株式会社東芝

東北大学

独立行政法人産業技術総合研究所

株式会社セック

-1-

Page 8: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

1.4. 定義 1.4.1. 用語

表 1-4 音声対話システム 用語一覧

No 用語 説明

1 AIST 独立行政法人産業技術総合研究所(産総研)

2 RTM RT ミドルウェア

3 RTC RT コンポーネント

4 OpenHRI 産総研にて開発された音声認識・音声合成・対話制御など、ロボット

のコミュニケーション機能の実現に必要な各要素を実現するコンポ

ーネント群

5 音声入力デバイス マイク等の音声入力装置

6 音声出力デバイス スピーカー等の音声出力装置

7 音声入力エコー 音声出力から再生された音声が収音される状態

8 アクティビティ RTC のロジック

9 コンフィギュレーション 設定

10 ストリーム シーケンシャルなデータ入出力

11 音源定位 音源の位置(角度)の測定

12 ビームフォーミング 指定角度の音声信号の取り出し

13 アレイマイク 複数のマイクロホンをアレイ状に設置したもの

1.4.2. 座標系 音声対話システムでは、座標は取り扱わない。

1.5. ライセンス OpenHRI のライセンスは、Eclipse Public License (EPL)である。 http://www.eclipse.org/legal/epl-v10.html EPL は、コードの改変や再配布、営利利用を許可するオープンソースライセンスであるが、

場合によっては改変内容をライセンス元に開示する必要がある。 OpenHRIが内部で用いているJuliusやOpen JTalkなどのそれぞれのソフトウェアについて

は、各々のライセンスに従う。 なお、本書は、クリエイティブ・コモンズ 表示 2.1 ライセンス

(http://creativecommons.org/licenses/by-sa/2.1/jp/)の下に提供される。

-2-

Page 9: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

2 システム構成 2.1. システム概要 音声対話システムは、計算機やロボットとの情報の授受を音声によって実現するものである。 音声は、人にとって、基本的なコミュニケーション手段であることから、キーボードやマウス

による入力が困難なユーザにも容易に利用可能となることが期待される。

発話

応答

図 2-1 音声対話システム

音声対話システムは、以下の対話制御コンポーネントを中心に構成される。

表 2-1 対話制御コンポーネント

コンポーネント 説明 RTC 名 依存ライブラリ (バージョン)

PortAudioInput libportaudio2(v19 以上) 音声入力 コンポーネント

デバイスより入力された音声

データを取得する PulseAudioInput pulseaudio(0.9.21 以上)

PortAudioOutput libportaudio2(v19 以上) 音声出力 コンポーネント

音声データをデバイスへ出力

する PulseAudioOutput pulseaudio(0.9.21 以上)

EchoSuppressor - エコー除去 コンポーネント

音声入力のエコーを防ぐ

EchoCanceler -

音声認識 コンポーネント

音声データを認識し、テキスト

に変換する Julius libJulius 4.1.2

OpenJTalk open-JTalk(1.00 以上) 音声合成 コンポーネント

応答文を音声化するた応答文

を生成する Festival Festival(1.96 以上)

対話制御 コンポーネント

テキストに対応したた応答文

を生成する SEAT -

-3-

Page 10: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

2.2. 使用条件 システムの動作環境を表 2-2に示す。

表 2-2 動作環境

No. 要求環境 備考

1 Linux Ubuntu 10.04 以上を推奨

2

OS

Windows Windows7

3 ミドルウェ

ア OpenRTM-aist 1.0.0-RELEASE(Python)

4 ツール RT-SystemEditor RTC の操作に必要となる

2.3. ハードウェア仕様 音声認識のための入力音声のデータフォーマットは、サンプリング周波数 16kHz、量子化ビ

ット数 16 ビットでなければならない。本条件を満たすハードウェアであれば、メーカや型番の

指定は特にない。 背景雑音が多い場所では、音声認識ができない場合がある。雑音の多い環境下で使用する場合、

ヘッドセットマイクや指向性マイク等、雑音が入りにくいマイクの使用を推奨する。

表 2-3 対話制御システム ハードウェア一覧

No 種別 メーカー 型番 説明

1 音声入力装置 - - マイクロフォン等

2 音声出力装置 - - スピーカー等

3

-4-

Page 11: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

3 サービス仕様 3.1. サービス一覧 対話制御コンポーネントを利用した音声対話システムのサービスを表 3-1に記述する。

表 3-1 音声対話システム サービス一覧

No 名称

1 旗上げゲーム

2 マルチリンガル音声対話システム

3 音響エコー除去

4 音源定位とビームフォーミング

3.2. 旗上げゲーム 「旗上げゲーム」は左右の手に持った赤と白の旗を指示に応じて上げたり下げたりするゲーム

である。

3.2.1. サービス内容 ・ 旗上げゲームは、「赤あげて」「白あげて」といった音声指示に対し、指示に従える状態

の場合は「はい」、従えない状態の場合は「無理」と音声応答する。

3.2.2. 動作条件・制約 ・ 旗上げゲームでは、「赤あげて」「白あげて」といった音声指示に対する応答音声を出力

する。本処理は、周期的な処理ではなく、音声入力によるイベントドリブン処理となる。 ・ 音声認識のために、入力音声のデータフォーマットは、サンプリング周波数 16kHz、量

子化ビット数 16 ビットでなければならない。 ・ 音声指示内容を認識するために、W3C-SRGS形式の音声認識文法ファイル(4.2.1(2) 音

声認識文法ファイル)を必要とする。音声認識文法ファイル内に定義されていない言葉が

発話された場合でも、定義内容から も近い音声が発話されたものと認識する。具体的な

定義例は、「4.2.1(3)(a) 旗揚げゲーム」参照のこと。 ・ 音声指示への応答内容は、スクリプトファイル(4.2.2(1) 対話制御スクリプトファイル)

に定義する。音声指示に対する応答がスクリプトファイルに定義されていない場合は、音

声指示は無視され、応答しない。具体的な定義例は、「4.2.2(2)(a) 旗上げゲーム」参照の

こと。 ・ 音声認識文法ファイル、スクリプトファイルの文字コードは UTF-8 でなければならない。 ・ 出力音声のデータフォーマットは、サンプリング周波数 16kHz、量子化ビット数 16 ビッ

トで、チャンネル数は1である。

-5-

Page 12: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

3.2.3. システム構成 旗上げゲームのシステム構成を図 3-1に、使用RTCを表 3-2に示す。

図 3-1 旗上げゲーム:システム構成

表 3-2 旗上げゲーム:使用 RTC 一覧

No コンポーネント RTC 名 数

1 音声入力コンポーネント PortAudioInput/PulseAudioInput(*1) 1

2 音声認識コンポーネント Julius 1

3 対話制御コンポーネント SEAT 1

4 音声合成コンポーネント OpenJTalkRTC 1

5 音声出力コンポーネント PortAudioOutput/PulseAudioOutput(*1) 1

(*1)動作環境に応じ、いずれかを使用する。 ・ Windows:PortAudioInput、PortAudioOutput ・ Linux:PulseAudioInput,PulseAudioOutput

-6-

Page 13: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

3.3. マルチリンガル音声対話システム 「マルチリンガル音声対話システム」は複数の言語で話すことができる音声対話システムであ

る。

3.3.1. サービス内容 ・ マルチリンガル音声対話システムは、「おはよう」「こんにちは」と日本語で挨拶された

場合は、「おはようございます」「こんにちは」と応じ、「Hello」「Good-bye」と英語

で挨拶された場合は、「Hello」「Bye」と応じる。 ・

3.3.2. 動作条件・制約 ・ 日本語あるいは英語で挨拶をすると言語に応じた挨拶を音声出力する。本処理は、周期的

な処理ではなく、音声入力によるイベントドリブン処理となる。 ・ 音声認識のために、入力音声のデータフォーマットは、サンプリング周波数 16kHz、量

子化ビット数 16 ビットでなければならない。 ・ 挨拶を認識するため、日本語版、英語版の各々のW3C-SRGS形式の音声認識文法ファイ

ル(4.2.1(2) 音声認識文法ファイル)を必要とする。音声認識文法ファイル内に定義され

ていない言葉が発話された場合でも、定義内容から も近い音声が発話されたものと認識

する。具体的な定義例は、「4.2.1(3)(b) マルチリンガル音声対話システム」参照のこと。 ・ 応答内容は、スクリプトファイル(4.2.2(1) 対話制御スクリプトファイル)に定義する。

応答内容がスクリプトファイルに定義されていない場合は、応答しない。具体的な定義例

は、「4.2.2(2)(b) マルチリンガル音声対話システム」参照のこと。 ・ 音声認識文法ファイル、スクリプトファイルの文字コードは UTF-8 でなければならない。 ・ 出力音声のデータフォーマットは、サンプリング周波数 16kHz、量子化ビット数 16 ビッ

トで、チャンネル数は1である。

3.3.3. システム構成 マルチリンガル音声対話システムのシステム構成を図 3-2に、使用RTCを表 3-3に示す。

図 3-2 マルチリンガル音声対話システム:システム構成

-7-

Page 14: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

表 3-3 マルチリンガル音声対話システム:使用 RTC 一覧

No コンポーネント RTC 名 数

1 音声入力コンポーネント PortAudioInput/ PulseAudioInput(*1)

1

2 音声認識コンポーネント Julius 2

3 認識結果統合コンポーネント combineResults 1

4 対話制御コンポーネント SEAT 1

5 音声合成コンポーネント(日本語) OpenJTalkRTC 1

6 音声合成コンポーネント(英語) Festival 1

7 音声出力コンポーネント PortAudioOutput /PulseAudioOutput(*1)

1

(*1)動作環境に応じ、いずれかを使用する。 ・ Windows:PortAudioInput、PortAudioOutput ・ Linux:PulseAudioInput,PulseAudioOutput

-8-

Page 15: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

3.4. 音響エコー除去 音響エコーとは、スピーカから出力された音声をマイクロフォンが拾ってしまうことで発生す

るループのことを指す。音響エコーが発生すると、正確な音声認識が難しくなる。 音響エコーの問題を軽減するため、以下の 2 種類ののコンポーネントが用意されている。 ・ エコーサプレッサ

音声出力コンポーネントからの出力を検出し、それと同じタイミングで音声入力を減衰さ

せることで、スピーカからマイクへの収音を防ぐコンポーネントである。 長所:高速で処理できる。入力音声の変形が少ない。 短所:音声出力中は音声入力できないため、常に音声出力している場合などは使用

が難しい。 ・ エコーキャンセラ

音声出力コンポーネントからの出力信号よりエコー成分を推測して、マイクから収音した

信号から推測したエコー成分を除去するコンポーネントである。 長所:音声出力中でも音声入力できる。 短所:適応フィルタ係数を毎回更新するため処理が重い。入力音声を加工するため、

その影響による変形が認識に悪影響を及ぼす場合がある。

本項では、3.2旗上げゲームに対し、エコーサプレッサを用いて、音響エコー除去を行う方法

について説明する。

3.4.1. サービス内容 ・ 3.2旗上げゲームと同様である。

3.4.2. 動作条件・制約 ・ 3.2旗上げゲームと同様である。

3.4.3. システム構成 音響エコー除去を行う旗上げゲームのシステム構成を図 3-3に、使用RTCを表 3-2に示す。

図 3-3 音響エコー除去対応旗上げゲーム:システム構成

-9-

Page 16: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

表 3-4 音響エコー除去対応旗上げゲーム:使用 RTC 一覧

No コンポーネント RTC 名 数

1 音声入力コンポーネント PortAudioInput/PulseAudioInput(*1) 1

2 音声認識コンポーネント Julius 1

3 対話制御コンポーネント SEAT 1

4 音声合成コンポーネント OpenJTalkRTC 1

5 音声出力コンポーネント PortAudioOutput/PulseAudioOutput(*1) 1

6 音声フィルタコンポーネント EchoSuppressor 1

(*1)動作環境に応じ、いずれかを使用する。 ・ Windows:PortAudioInput、PortAudioOutput ・ Linux:PulseAudioInput,PulseAudioOutput

-10-

Page 17: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

3.5. 音源定位とビームフォーミング 音源定位とは、複数のマイクを利用し、各マイクへの音声到達時間のずれとマイク間の距離か

ら音源の位置(角度)を計算することを指す。 ビームフォーミングは、複数のマイクを利用し、指定角度での各マイクへの音声到達時間のず

れを計算、補正し、指定角度の音声信号を取り出すことを指す。 OpenHRI では、音源定位コンポーネントとして DSArray、ビームフォーミングコンポーネ

ントとして BeamForming が用意されている。 これらを利用することで、正面にいる人の声のみを取得する、あるいは、移動する人の声に追

随するということが可能となる。 本項では、Kinect をアレイマイクとして使用した場合のビームフォーミングを行う方法につ

いて説明する。なお、Kinect はサンプリングレートが 16kHz、ビット深度が 32bit、チャンネ

ル数は 4 である。

3.5.1. サービス内容 kinect をアレイマイクとして使用し、指定したモードによって、以下の動作を行う。 ・ Const:特定の角度からの音声を取り出す。 ・ Variable:音源定位した角度からの音声を取り出す。音源が移動した場合、強調角度が移

動先に追従する。

3.5.2. 動作条件・制約 ・ 動作環境は Windows7 以降となる。 ・ kinect を使用するためには、Kinect for Windows SDK を必要とする。

(http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx) ・ 音源の角度を取得するため、マイク配置設定ファイル(4.2.3(3)マイク配置設定ファイル

(micset.csv))を必要とする。 ・ 音声入力、音源定位、ビームフォーミングの入力チャンネル数を”4”に設定すること。 ・ サンプリングレート、ビット深度はすべて同じ値とすること。なお、初期設定は、サンプ

リングレートが 16kHz,ビット深度が 16bit となっている。

3.5.3. システム構成 ビームフォーミングを行うシステム構成を図 3-4に、使用RTCを表 3-5に示す。

図 3-4 音源定位とビームフォーミング:システム構成

-11-

Page 18: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

表 3-5 音源定位とビームフォーミング:使用 RTC 一覧

No コンポーネント RTC 名 数

1 音声入力コンポーネント PortAudioInput 1

2 音源定位コンポーネント DSArray 1

3 ビームフォーミングコンポーネント BeamForming 1

4 音声出力コンポーネント PortAudioOutput 1

-12-

Page 19: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-13-

4 取扱手順 4.1. 環境構築 4.1.1. ハード環境 ・ PC 等の計算機にマイクを接続する。 ・ PC 等の計算機にスピーカーを接続する。 ・

4.1.2. ソフト環境(Ubuntu) (1) インストール リスト 4-1に示すコマンドを実行し、インストールする。

リスト 4-1 Ubuntuへのインストール

$ sudo apt-add-repository ppa:openhri/ppa

$ sudo apt-get update

$ sudo apt-get install openhriaudio openhrivoice seatsat

(2) 動作確認環境の準備 (a) RT-SystemEditor(OpenRTM Eclipse tools 1.1.0-RC1) Eclipseのインストール

eclipse342_rtmtools110rc1_linux_ja.tar.gzをダウンロードし、リスト 4-2に示すコマンドを

実行し、展開する。展開するとeclipsというディレクトリができる。

リスト 4-2 Eclipseのインストール

$ wget [ダウンロードURL]

$ tar xvzf eclipse342_rtmtools110rc1_linux_ja.tar.gz

表 4-1 Eclipse のダウンロード URL

ダウンロードページ http://www.openrtm.org/openrtm/ja/node/1736

32bit 版 http://www.openrtm.org/pub/OpenRTM-aist/tools/1.0.0/eclipse342_rtmtools110rc1_linux_ja.tar.gz

ダウンロードファイル

64bit 版 http://www.openrtm.org/pub/OpenRTM-aist/tools/1.1.0/eclipse342_rtmtools110-rc1_x86_64_ja.tar.gz

JREのインストール

Eclipseを動かすためには、JavaのJRE (Java Runtime Environment)またはJDK (Java Development Kit)が必要である。JRE version1.6.02 のインストール例をリスト 4-3に示す。展

開してできたディレクトリをjreという名前でeclipseディレクトリの下へ移動する。

リスト 4-3 JREのインストール

$ wget [ダウンロードURL]

$ chmod a+x ./jre-6u26-linux-i586.bin

Page 20: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-14-

$ ./jre-6u26-linux-i586.bin

$ mv jre1.6.0_26 [eclipseインストール先のディレクトリ]/jre

表 4-2 JRE のダウンロード URL

ダウンロードページ http://www ownload/manual.jsp#lin.java.com/ja/d

ダウンロードファイル BundleId=52240http://javadl.sun.com/webapps/download/AutoDL?

インストール方法の解説 http://www.openrtm.org/openrtm/ja/node/1001#toc0

Eclipseの起動シェル

eclipseを起 まってしまう問題を回避するため、起動シェルをテキスト

#!/bin/sh

動中にプログラムが止

ディタにて作成する。起動シェルの内容をリスト 4-4に示す。

リスト 4-4 Eclipse起動シェル

export GDK_NATIVE_WINDOWS=1

./eclipse -clean -vmargs -Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-1.9.2.18/x

ulrunner

境により、xulrunnerのバージョンが異なる場合がある。以下のコマンドにて、

X に応じて、

リスト 4-5 xulrunnerのバージョン確認

$ ls /usr/lib/xulrunner-*

ULRunnerPath で指定するディレクトリ名を確認し、リスト 4-4内赤字箇所を必要

変更すること。

(3 rtc.confファイルの作成

定ファイルであるrtc.confを作業ディレクトリに作成する。音

他の設定項目等、詳細については、OpenRTM-aistのマニュアル

) コンポーネントマネージャの設

処理モジュールでは、表 4-3にある項目が設定されていればよい。定義例をリスト 4-18に示

す。 その の設定ファイル(基礎編)

表 4-3 rtc.conf 設定項目

参照のこと。

№ パラメタ名 説明

1 corba.nam ネーミングサーバを指定する

ト)

eservers 。

指定フォーマット:host_name:port_number

デフォルトポートは 2809(omniORB のデフォル

2 logger.file_name ログファイル名を指定する。(stdout:標準出力)

Page 21: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

リスト 4-6 rtc.conf 例

corba.nameservers: localhost:9876

logger.file_name:stdout

4.1.3. ソフト環境(Windows) (1) インストール インストーラを以下の URL よりダウンロードし、実行する。 http://openhri.net/getinstaller.php インストーラを実行するとウィザードが起動し、必要なパッケージを順次ダウンロード、イン

ストールする。 OpenHRIAudio の場合を以下に示す。インストールが完了したら、同手順で OpenVoice、

SEATSAT、全てのコンポーネントをインストールすること。

1. 言語を選ぶ。”Japanese”を選択して[OK]ボタンを押下する。

-15-

Page 22: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-16-

2. ウィザードが起動しするので、[次へ(N)]のボタンを押下する。

. ライセンス契約書が表示される。[同意する(A)]のボタンを押下する。3

Page 23: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-17-

4. コンポーネント選択画面が表示される。すべてチェックして[次へ(N)]のボタンを押下す

る。

5. インストール場所の選択である。デフォルトは”C:Program FilesOpenHRIAudio”にイ

れば[インストール]ボタンを押してインストールが開始

ンストールされる。インストール場所を変更する場合は[参照(R)]ボタンを押してインス

トールする場所を指定する。 インストール場所に問題がなけ

される。

Page 24: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-18-

6. インストールが完了したら[次へ(N)]のボタンを押下する。

7. [完了(F)]ボタンを押下する。

) 動作確認環境の準備 ) RT-SystemEditor(OpenRTM-aist-Python 1.1.0-RC1)

ール t-Python をインストールす

場合、Pyt .5、2.6 のいずれかが必要となる。

(2(a Pythonのインスト

OpenRTM-aist-Python-1.1.0-RC1.msi を使用して OpenRTM-aisる hon のバージョン 2.4、2表 4-4のURLよりインストーラをダウンロードし、実行する。インストーラを実行するとウ

ィザードが起動するので、ウィザードに従って、インストールする。

Page 25: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

表 4-4 PythonのダウンロードURL

Python-2.4.4 http://www.pythonorg/ftp/python/2.4.4/python-2.4.4.msi

Python-2.5.1 http://www.pythonorg/ftp/python/2.5.1/python-2.5.1.msi

ダウンロードフ

ァイル

Python-2.6.2 http://www.pythonorg/ftp/python/2.6.2/python-2.6.2.msi

OpenRTM-aist-Python 1.1.0-RC1 のインストール 表 4-5のURLよりインストーラをダウンロードし、実行する。インストーラを実行するとウ

ィザードが起動するので、ウィザードに従って、インストールする。

表 4-5 OpenRTM-aist-Python 1.1.0-RC1 のダウンロードURL

ダウンロードページ http://openrtm.org/openrtm/ja/node/4526#toc5

ダウンロードファイル http://www.openrtm.org/pub/Windows/OpenRTM-aist/pythonopenRTM-aist-Python-1.1.0-RC1.msi

(3) rtc.confファイルの設定 各コンポーネントのインストールディレクトリに、rtc.confが作成されるので、必要に応じて、

設定値を変更する。設定項目については、4.1.2(3)rtc.confファイルの作成の表 4-3を参照のこと。

-19-

Page 26: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

4.2. 設定・カスタマイズ手順 サービスの内容に応じ、音声認識のための音声認識文法ファイル、音声認識辞書ファイルおよ

び対話制御のための対話制御スクリプトが必要である。

4.2.1. 音声認識 (1) 音声認識辞書 音声認識辞書では、音声認識サービスで使用する語彙リストを定義する。 音声認識辞書フォーマットは、W3C-Pronunciation Lexicon Specification

(http://www.w3.org/TR/pronunciation-lexicon/)に準拠する。 音声認識辞書ファイルで使用するタグについて、表 4-6に記述する。

表 4-6 音声認識辞書ファイルの使用タグ

No. タグ 説明

1 lexeme 表記と発音のセットを定義する。

2 grapheme 単語の表記を定義する。

3 phoneme 単語の発音を定義する

(2) 音声認識文法ファイル 音声認識文法ファイルには、音声入力の文法モデルを定義する。 音声認識文法フォーマットは、W3C-Speech Recognition Grammar Specification

(http://www.w3.org/TR/speech-grammar/)に準拠する。本システムでは、W3C-Speech Recognition Grammar Specification の定める XML 形式フォーマットを使用することができる。

音声認識ファイルで使用するタグについて、表 4-7に記述する。なお、本ファイルの文字コー

ドは、UTF-8 でなければならない。

表 4-7 音声認識文法ファイルの使用タグ

No. タグ 説明

1 lexicon 音声認識辞書(次のセクション参照)の URI を定義する。 (任意)

2 rule ID によって区別された各文法を定義する。

ID は音声認識文法の相互参照や、Julius 音声認識コンポーネントによって

認識されるアクティブな文法を切り換えるのに利用する。

3 item 認識される単語や文を定義する。repeat プロパティで繰り替えされる回数

を指定できる。

4 one-of 子項目で定義される文法がすべて許容できることを示す。

5 ruleref uri で指定される文法を参照する。

-20-

Page 27: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-21-

(3) 定義例 (a) 旗揚げゲーム 音声認識辞書ファイル 「旗あげゲーム」の語彙は、「赤」「白」「あげて」「さげて」である。音声認識辞書ファイ

ルとして、リスト 4-7のように定義することができる。

リスト 4-7 音声認識辞書ファイル例(flaggame-ja-lex.xml)

<?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="x-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>

</lexicon>

さらに、「あげない」「さげない」「 初から」の語彙を追加した場合、リスト 4-8のように

定義することができる。

リスト 4-8 音声認識辞書ファイル例(flaggame-ja-lex2.xml)

<?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="x-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>

Page 28: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-22-

<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>

音声認識文法ファイル 「旗あげゲ て」「赤さげて」「白あげて」「白さげて」 のいずれか

rxml)

<?xml version="1.0" encoding="UTF-8" ?>

ーム」の入力は「赤あげ

ある。つまり、「赤」または「白」の次に、「あげて」「さげて」のいずれかが続く。音声認

識文法ファイルとして、リスト 4-9のように定義することができる。

リスト 4-9 音声認識文法ファイル例(flaggame-ja.g

<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">

<lexicon uri="flaggame-ja-lex.xml"/>

<rule id="command">

<one-of>

<item>赤</item>

<item>白</item>

</one-of>

<one-of>

<item>あげて</item>

<item>さげて</item>

</one-of>

</rule>

</grammar>

音声認識辞書ファイルと同様、さらに、「赤あげない」「赤さげない」「白あげない」「白さ

リスト 4-10 音声認識文法ファイル例(flaggame-ja1.grxml)

<?xml version="1.0" encoding="UTF-8" ?>

ない」 「 初から」を認識させる場合、リスト 4-10のように定義することができる。

Page 29: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-23-

<grammar xmln ws="http://www. 3.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="main">

<lexicon uri="flaggame-ja-lex.xml"/>

<rule id="main">

<one-of>

<item><ruleref uri=”#command” /></item>

<item><ruleref uri=”#reset” /></item>

</one-of>

</rule>

<rule id="command">

<one-of>

<item>赤</item>

<item>白</item>

</one-of>

<one-of>

<item>あげて</item>

<item>さげて</item>

<item>あげない</item>

<item>さげない</item>

</one-of>

</rule>

<rule id="reset">

<one-of>

<item>最初から</item>

</one-of>

</rule>

</grammar>

(b) チリンガル音声対話システム 「マルチ ガル音声対話システム」の音声認識ファイルは、日本語、英語の各々で用意する

必要がある。 音声認識辞書ファイル

スト 4-11に、英語の定義例をリスト 4-12に示す。

リスト 4-11 日本語音声認識辞書ファイル例(ja-lex.xml)

マル

リン

日本語の音声認識辞書ファイルの定義例をリ

<?xml version="1.0" encoding="UTF-8"?>

<lexicon version="1.0"

xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"

xmlns:xsi="htt www.w3.org/2001/XMLSchema-instance" p://

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>

Page 30: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-24-

<grapheme>こんばんは</grapheme>

<phoneme>{{KANA|こんばんわ}}</phoneme>

</lexeme>

<lexeme>

<grapheme>バイバイ</grapheme>

<phoneme>{{KANA|ばいばい}}</phoneme>

</lexeme>

<lexeme>

<grapheme>さようなら</grapheme>

<phoneme>{{KANA|さようなら}}</phoneme>

</lexeme>

</lexicon>

4-12 識辞書ファイル例(en-lex.xml)

n="1.0" encoding="UTF-8"?>

リスト 英語語音声認

<?xml versio

<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

0071212/pls.xsd" http://www.w3.org/TR/2007/CR-pronunciation-lexicon-2

alphabet="ARPAbet" xml:lang="en">

<lexeme>

<grapheme>evening</grapheme>

<phoneme>{{ARPABET|iy v n ix ng}}</phoneme>

</lexeme>

<lexeme>

<grapheme>good</grapheme>

<phoneme>{{ARPABET|g uh d}}</phoneme>

</lexeme>

<lexeme>

<grapheme>afternoon</grapheme>

<phoneme>{{ARPABET|ae f t er n uw n}}</phoneme>

</lexeme>

<lexeme>

<grapheme>bye</grapheme>

<phoneme>{{ARPABET|b ay}}</phoneme>

</lexeme>

<lexeme>

<grapheme>hello</grapheme>

<phoneme>{{ARPABET|hh ax l ow}}</phoneme>

</lexeme>

</lexicon>

声認識文法ファイル 日 定義例をリスト 4-9に、英語の定義例をリスト 4-9に示す。

リスト 4-13 日本語音声認識文法ファイル例(ja.grxml)

<?xml version="1.0" encoding="UTF-8" ?>

本語の音声認識文法ファイルの

<grammar 001/06/grammar" xmlns="http://www.w3.org/2

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">

<lexicon uri="ja-lex.xml"/>

Page 31: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-25-

<rule id="command">

<one-of>

<item>おはよう</item>

<item>こんにちは</item>

<item>こんばんは</item>

<item>バイバイ</item>

<item>さようなら</item>

</one-of>

</rule>

</grammar>

音声認識文法ファイル例(en.grxml)

n="1.0" encoding="UTF-8" ?>

リスト 4-14 英語語

<?xml versio

<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="en"

version="1.0" mode="voice" root="command">

<lexicon uri="en-lex.xml"/>

<rule id="command">

<one-of>

<item>hello</item>

<item>good afternoon</item>

<item>good evening</item>

<item>good bye</item>

<item>bye</item>

</one-of>

</rule>

</grammar

Page 32: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

4.2.2. 対話制御 (1) 対話制御スクリプトファイル 対話制御スクリプトファイルは、対話制御の入出力について接続定義する「アダプタ定義」と

状態遷移モデルに基づき、各音声入力に対する処理を定義する「スクリプト定義」で構成される。 (a) アダプタ定義 対話制御のソケットやRTMとの接続のためのアダプタ定義で使用するタグについて、表 4-8

に記述する。

表 4-8 対話制御スクリプトファイルのアダプタ定義タグ

No. タグ 属性 説明

1 general アダプタ定義部

2 名前と通信方法の対応を示す。

3 name アダプタを区別する ID

4 type rtcin:RTM インポート

rtcout:RTM アウトポート

socket:ソケット

5 datatype データ型(”type”属性が”rtcin”、”rtcout”の場合のみ)

6 host ホストの IP アドレス(”type”属性が”socket”の場合のみ)

7

agent

port ポート番号(”type”属性が”socket”の場合のみ)

(b) スクリプト定義 状態遷移モデルに基づき対話管理するためのスクリプト定義で使用するタグについて、表 4-9

に記述する。

表 4-9 対話制御スクリプトファイルのスクリプト定義タグ

No. タグ 属性 説明

1 state スクリプト定義部

2 name 状態遷移モデルで状態を示す。

name の値が以下の場合は、特殊な制御が行われる。

name=“all” :状態の遷移によらず全ての状態で有効になる

name=“start” :起動時に 初に選択される状態

3 rule キーワードとコマンドの組を定義する。

4 key キーワード

5 source キーワードとの一致判定対象を受信するアダプタの ID。(任意)

6 command キーワードと入力が一致したとき実行されるコマンドを示す。

7 host コマンドを送信するアダプタの ID

8 statetransition 状態遷移を示す。

-26-

Page 33: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-27-

(2) 定義例 (a) 旗上げゲーム 「旗上げゲーム」の状態は、「両方さげる」「赤のみあげる」「白のみあげる」「両方あげる」

となる。ゲームは、「両方さげる」の状態で開始する。この状態で「赤あげて」と命じられると、

「赤のみあげる」の状態に遷移する。さらに、「白あげて」と命じられると、「両方あげる」の

状態に遷移し、その後、「赤あげて」と言われても、すでに両方あげているため、状態遷移は行

わない。 「旗上げゲーム」では、状態遷移が行われるときには「はい」と音声出力し、状態遷移が行わ

れない場合は、「無理」と音声出力する場合、対話制御スクリプトファイルは、リスト 4-15のように定義することができる。

リスト 4-15 対話制御スクリプトファイル例(flaggame-ja.seatml)

<?xml version="1.0" encoding="UTF-8"?>

<seatml>

<general name="flaggame">

<agent name="speechin" type="rtcin" datatype="TimedString" />

<agent name="speechout" type="rtcout" datatype="TimedString" />

</general>

<state name="both_down">

<rule>

<key>赤 あげて</key>

<command host="speechout">はい</command>

<statetransition>red_up</statetransition>

</rule>

<rule>

<key>白 あげて</key>

<command host="speechout">はい</command>

<statetransition>white_up</statetransition>

</rule>

<rule>

<key>赤 さげて</key>

<key>白 さげて</key>

<command host="speechout">無理</command>

</rule>

</state>

<state name="both_up">

<rule>

<key>赤 さげて</key>

<command host="speechout">はい</command>

<statetransition>white_up</statetransition>

</rule>

<rule>

<key>白 さげて</key>

<command host="speechout">はい</command>

<statetransition>red_up</statetransition>

</rule>

<rule>

<key>赤 あげて</key>

<key>白 あげて</key>

<command host="speechout">無理</command>

</rule>

</state>

<state name="red_up">

<rule>

<key>赤 さげて</key>

<command host="speechout">はい</command>

<statetransition>both_down</statetransition>

Page 34: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-28-

</rule>

<rule>

<key>白 あげて</key>

<command host="speechout">はい</command>

<statetransition>both_up</statetransition>

</rule>

<rule>

<key>赤 あげて</key>

<key>白 さげて</key>

<command host="speechout">無理</command>

</rule>

</state>

<state name="white_up">

<rule>

<key>赤 あげて</key>

<command host="speechout">はい</command>

<statetransition>both_up</statetransition>

</rule>

<rule>

<key>白 さげて</key>

<command host="speechout">はい</command>

<statetransition>both_down</statetransition>

</rule>

<rule>

<key>赤 さげて</key>

<key>白 あげて</key>

<command host="speechout">無理</command>

</rule>

</state>

</seatml>

さらに、「赤あげない」「赤さげない」「白あげない」「白さげない」 「 初から」に対応

リスト 4-16 対話制御スクリプトファイル例(flaggame-ja1.seatml)

<?xml version="1.0" encoding="UTF-8"?>

せる場合、リスト 4-10のように定義することができる。

<seatml>

<general name="flaggame">

<agent name="speechin" type="rtcin" datatype="TimedString" />

<agent name="speechout" type="rtcout" datatype="TimedString" />

</general>

<state name="both_down">

<rule>

<key>赤 あげて</key>

<key>赤 さげない</key>

<command host="speechout">はい</command>

<statetransition>red_up</statetransition>

</rule>

<rule>

<key>白 あげて</key>

<key>白 さげない</key>

<command host="speechout">はい</command>

<statetransition>white_up</statetransition>

</rule>

<rule>

<key>赤 さげて</key>

<key>白 さげて</key>

Page 35: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-29-

<key>赤あげない</key>

<key>白 あげない</key>

<command host="speechout">無理</command>

</rule>

</state>

<state name="both_up">

<rule>

<key>赤 さげて</key>

<key>赤 あげない</key>

<command host="speechout">はい</command>

<statetransition>white_up</statetransition>

</rule>

<rule>

<key>白 さげて</key>

<key>白 あげない</key>

<command host="speechout">はい</command>

<statetransition>red_up</statetransition>

</rule>

<rule>

<key>赤 あげて</key>

<key>白 あげて</key>

<key>赤 さげない</key>

<key>白 さげない</key>

<command host="speechout">無理</command>

</rule>

</state>

<state name="red_up">

<rule>

<key>赤 さげて</key>

<key>赤 あげない</key>

<command host="speechout">はい</command>

<statetransition>both_down</statetransition>

</rule>

<rule>

<key>白 あげて</key>

<key>白 さげない</key>

<command host="speechout">はい</command>

<statetransition>both_up</statetransition>

</rule>

<rule>

<key>赤 あげて</key>

<key>白 さげて</key>

<key>赤 さげない</key>

<key>白 あげない</key>

<command host="speechout">無理</command>

</rule>

</state>

<state name="white_up">

<rule>

<key>赤 あげて</key>

<key>赤 さげない</key>

<command host="speechout">はい</command>

<statetransition>both_up</statetransition>

</rule>

<rule>

<key>白 さげて</key>

<key>白 あげない</key>

<command host="speechout">はい</command>

<statetransition>both_down</statetransition>

</rule>

<rule>

<key>赤 さげて</key>

<key>白 あげて</key>

<key>赤 あげない</key>

Page 36: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-30-

<key>白 さげない</key>

<command host="speechout">無理</command>

</rule>

</state>

<state name="all">

<rule>

<key>最初から</key>

<command host="speechout">リセットします</command>

<statetransition>both_down</statetransition>

</rule>

</state>

</seatml>

Page 37: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

(b) マルチリンガル音声対話システム 「マルチリンガル音声対話システム」では、状態遷移は行わない。 「おはよう」「こんにちは」「こんばんは」…と日本語での挨拶に対して、「おはよう」「こ

んにちは」「こんばんは」…と返答する。同様に、「hello」「good afternoon」「good evening」・・・と英語での挨拶に対しては、「hello」「good afternoon」「good evening」と返答する。発話

言語が異なるため、言語に応じたアウトポートを用意する。本内容を対話制御スクリプトで定義

すると、リスト 4-15のようになる。

リスト 4-17 対話制御スクリプトファイル例(flaggame-ja.seatml)

<?xml version="1.0" encoding="UTF-8"?>

<seatml>

<general name="sample">

<agent name="speechin" type="rtcin" datatype="TimedString" />

<agent name="jaout" type="rtcout" datatype="TimedString" />

<agent name="enout" type="rtcout" datatype="TimedString" />

</general>

<state name="OPEN">

<rule>

<key>おはよう</key>

<command host="jaout">おはよう</command>

</rule>

<rule>

<key>こんにちは</key>

<command host="jaout">こんにちは</command>

</rule>

<rule>

<key>こんばんは</key>

<command host="jaout">こんばんは</command>

</rule>

<rule>

<key>さようなら</key>

<command host="jaout">さようなら</command>

</rule>

<rule>

<key>hello</key>

<command host="enout">hello</command>

</rule>

<rule>

<key>good morning</key>

<command host="enout">good morning</command>

</rule>

<rule>

<key>good afternoon</key>

<command host="enout">good afternoon</command>

</rule>

<rule>

<key>good evening</key>

<command host="enout">good evening</command>

</rule>

<rule>

<key>bye</key>

<key>good bye</key>

<command host="enout">good bye</command>

</rule>

</state>

</seatml>

-31-

Page 38: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

4.2.3. 設定 (1) rtc.conf 全システムで使用する設定ファイルは、rtc.conf である。 設定項目については、「4.1.2(3)rtc.confファイルの作成」の表 4-3を参照のこと。

(2) コンフィギュレーションの設定 音声処理モジュールでは、サンプリング周波数、録音に使うフォーマットやチャネルをコンフ

ィギュレーションとして持っており、変更可能である。 コンフィギュレーションのパラメーター項目と取り得る値については、「6.1コンポーネント

設定データシート」を参照のこと。 1. なお、コンフィギュレーション情報はRTSystemEditor上で変更する。RT System

Editorの操作方法については、「2コンポーネントの起動

端末上よりコマンドを入力する。なお、OpenHRIAudioパッケージに含まれるコンポーネン

トはOpenHRIAudioManagerを起動し、起動したいコンポーネント名のボタンを押下すること

でも起動できる。

リスト 4-20 OpenHRIAudioManagerの起動

$ openhriaudiomanager

RT System Editorの起動と操作」を参照のこと。

(3) マイク配置設定ファイル(micset.csv) 音源定位とビームフォーミングを行うためには、マイク配置設定ファイルが必要となる。マイ

ク配置設定ファイルは、表 4-10に示す項目をカンマ区切りで設定する。設定例をリスト 4-18に記述する。

表 4-10 micset.csv

№ 項目 説明

1 x 座標

2 y 座標

3 z 座標

リスト 4-18 micset.csv 例

-0.115,0.0,0.0

0.035,0.0,0.0

0.075,0.0,0.0

0.115,0.0,0.0

-32-

Page 39: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

4.3. 起動・終了手順

4.3.1. Ubuntu Linux で起動、終了する方法について記述する。

(1) 起動 1.ネーミングサービスの起動

CORBA のネーミングサービスを起動する。端末上よりコマンドを入力する。

リスト 4-19 ネーミングサービスの起動

$ rtm-naming

2. コンポーネントの起動

端末上よりコマンドを入力する。なお、OpenHRIAudio パッケージに含まれるコンポーネン

トは OpenHRIAudioManager を起動し、起動したいコンポーネント名のボタンを押下すること

でも起動できる。

リスト 4-20 OpenHRIAudioManager の起動

$ openhriaudiomanager

3. RT System Editor の起動と操作

RT System Editor を起動する前にネーミングサービスおよびコンポーネントを起動しておく。

① Eclipse の起動シェルを実行する。

② メニューの[ウィンドウ]-[パースペクティブを開く]-[その他]を選択し、ダイアログ

より「RT Ssytem Editor」を選択する。

-33-

Page 40: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

③ 「Name Service View」の「ネームサーバを追加」を選択し、rtc.conf で指定したネー

ムサーバを登録する。

④ 「Open New System Editor」のアイコンを押下し、新規エディタ画面を開く。

⑤ 「Name Service View」よりコンポーネントをエディタ画面にドラッグ&ドロップし、

配置する。

⑥ 配置したコンポーネントのデータポートを接続する。データポートのコネクタ部分を

クリックし、

-34-

Page 41: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

接続先のコネクタまでドラッグする。

表示された接続設定ダイアログの「OK」を押下すると接続される。

接続するとコネクタの色が緑色に変化する。

-35-

Page 42: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

⑦「All Active」を押下し、すべての RTC をアクティブ状態に遷移させる。

アクティブ状態になると、オブジェクトの色が青から緑に変化する。

⑧コンフィギュレーションの設定は、コンフィギュレーションビューで行う。

コンフィギュレーションビューでは、選択された RTC のコンフィグレーションを表示/編集

することができる。左側に CofigurationSet のリストが表示され、右側に ConfigurationSet内のプロパティが表示される。

「編集」ボタンを押下するとプロパティ値を編集するためのダイアログが表示される。ま

た、コンフィギュレーションビューでは、編集中(未適用)の項目は、「適用」ボタンが押

下されるまで赤く表示される。

-36-

Page 43: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

(2) 終了 起動しているコンポーネントを終了させるには、各コンポーネントのターミナル上でコントロ

ールキー+C キーを押下する。

4.3.2. Windows Windows で起動、終了する方法について記述する。

(1) 起動 1.ネーミングサービスの起動

[スタートボタン]-[すべてのプログラム]-[OpenRTM-aist]-[Python]-[tools]-[Start Naming Service]を選択し、CORBA のネーミングサービスを起動する。

2.各コンポーネントを立ち上げる

[スタート]メニュー-[すべてのプログラム]-[OpenHRI]から対応するコンポーネントを選択

する。 OpenHRIAudio に関しては、[スタート]メニュー-[すべてのプログラム]-

[OpenHRI]-[OpenHRIAudioManager]を選択し、OpenHRIAudioManager より起動することも

可能である。

3.RT System Editor の起動と操作

① RT System Editor の起動 [スタートボタン]-[すべてのプログラム]-[OpenRTM-aist]-[Python]-[tools]-[Start Naming

Service]を選択し、RT System Editor を起動する。 以後、RT System Editorの操作方法については、「3 RT System Editorの起動と操作」③以

後を参照のこと。

-37-

Page 44: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

② ネームサーバの登録

③ 新規エディタ画面を開く

④ 各コンポーネントをエディタ画面に配置する。

⑤ 各コンポーネントのデータポート同士を接続する。

⑥ コンポーネントをアクティブ状態にする。

(2) 終了 起動しているコンポーネントを終了させるには、各コンポーネントのターミナル上でコントロ

ールキー+C キーを押下する。

5 制限事項 ・ 音声文法ファイルや対話制御スクリプトファイルのファイル名やパス名に全角文字を含ま

ないこと。

-38-

Page 45: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

6 付録 6.1. コンポーネント設定データシート (1) コンフィギュレーションの設定 コンフィギュレーション情報はRTSystemEditor上で変更する。これはOpenRTM-aistに共通

する操作であるため、OpenRTM-aistの RTSystemEditorのマニュアルを参照のこと。 なお、OpenRTM-1.0.0 では、コンフィグレーションパラメータは常時変更可能であるが、コ

ンフィグレーションパラメータの変更は、表内の説明に記述されているタイミングでのみ反映さ

れる。

表 6-1 各コンフィギュレーション

№ RTC名 項目 パラメタ名 デフォルト値 説明

1 サンプリング

周波数 sample_rate 16000 0 以上の数値を設定

する。アクティブ時に

反映される。

2 録音フォーマ

ット format int16 「 int8 」「 int16 」

「int24」「int32」の

いずれかを設定する。

アクティブ時に反映

される。

3

PortAudioInput

録音チャンネ

ル数 channels 1 「1」の場合モノラル、

「2」の場合ステレオ。

アクティブ時に反映

される。

4 サンプリング

周波数 sample_rate 16000 0 以上の数値を設定

する。アクティブ時に

反映される。

5 録音フォーマ

ット format int16 「 int8 」「 int16 」

「int24」「int32」の

いずれかを設定する。

アクティブ時に反映

される。

6

PulseAudioInput

録音チャンネ

ル数 channels 1 「1」の場合モノラル、

「2」の場合ステレオ。

アクティブ時に反映

される。

4 サンプリング

周波数 OutputSampleRate 16000 0 以上の数値を設定

する。アクティブ時に

反映される。

5

PortAudioOutput

録音フォーマ

ット OutputSampleByte int16 「 int8 」「 int16 」

「int24」「int32」の

いずれかを設定する。

アクティブ時に反映

される。

-39-

Page 46: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-40-

№ RTC名 項目 パラメタ名 デフォルト値 説明

6 録音チャンネ

ル数 OutputChannelNumbers 1 「1」の場合モノラル、

「2」の場合ステレオ。

アクティブ時に反映

される。

7 出力する音声

データ長 DelayCount 0 0 以上の数値を設定

する。アクティブ時に

反映される。

8 サンプリング

周波数 OutputSampleRate 16000 0 以上の数値を設定

する。アクティブ時に

反映される。

9 録音フォーマ

ット OutputSampleByte int16 「 int8 」「 int16 」

「int24」「int32」の

いずれかを設定する。

アクティブ時に反映

される。

10 録音チャンネ

ル数 OutputChannelNumbers 1 「1」の場合モノラル、

「2」の場合ステレオ。

アクティブ時に反映

される。

11

PulseAudioOutput

出力する音声

データ長 BufferLength 0 0 以上の数値を設定

する。アクティブ時に

反映される。

12 音響モデル phonemodel male (”male”に固定)

13 音声アクティ

ビティの検出

トリガー

voiceactivitydetection internal (”internal”に固定)

14

Julius

対象言語 language japanese japanese:日本語

english:英語

german:ドイツ語

15 出力される音

声の周波数 rate 16000 (16kHz 固定)

16 音声キャラク

タ character male male:男性

female:女性

17

OpenJTalk

出力音声フォ

ーマット format int16 (”int16”固定)

18 出力される音

声の周波数 rate 16000 (16kHz 固定)

19 音声キャラク

タ character male (”male”固定)

20

Festival

出力音声フォ

ーマット format int16 (”int16”固定)

21 対話制御スク

リプトファイ

scriptfile none 対話制御スクリプト

ファイル名

22

SEAT

音声認識スコ

ア下限値 scorelimit 0.0 音声認識スコアの下

限値

Page 47: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-41-

№ RTC名 項目 パラメタ名 デフォルト値 説明

23 サンプリング

周波数 SampleRate 16000 サンプリング周波数

として、1以上の数値

を設定する。

24 音源角度 ConstAngle 0 固定角度モード時の

角度を 360 未満の数

値で設定する。

25 角度指定モー

ド Mode const ビームの向きとして、

「const」(固定角度)、

「valiable」(可変角

度)のいずれかのモー

ド(※)を設定する。

26

BeamForming

入力チャンネ

ル数 ChannelNumbers 8 入力音声のチャンネ

ル数として、2 以上の

数値を設定する。

27 サンプリング

周波数 SampleRate 16000 サンプリング周波数

として、1以上の数値

を設定する。

28

DsArray

入力チャンネ

ル数 ChannelNumbers 4 入力音声のチャンネ

ル数として、2 以上の

数値を設定する。

6.2. メッセージ一覧

各コンポーネントでログとして出力されるメッセージについて記述する。 出力先や出力されるメッセージ種別は、設定ファイル(rtc.conf)の logger の設定による。

6.2.1. メッセージ一覧(PortAudioInput)

№ レベル メッセージ 説明

1 INFO PortAudioInput : Audio input component using portaudio library

Copyright (C) 2010-2011 Yosuke Matsusaka and AIST-OpenHRI development team

Version [バージョン番号]

Active 状態に遷移した際にコンポーネント情報

を出力する。

2 WARN PortAudio failed onActivated: [エラー内容]

Active 状態に遷移した際の初期処理やデバイス

の起動等でエラーが発生した場合に出力される。

3 WARN PortAudio ReadStream failed: [エラー内容]

入力された音声データの取得でエラーが発生し

た場合に出力される。

4 WARN PortAudio Stream close failed onDeactivated: [エラー内容]

Inactive 状態に遷移した際にストリームの終了

処理でエラーが発生した場合に出力される。

5 WARN PortAudio Stream close failed onFinalize: [エラー内容]

コンポーネントの終了処理でストリームの終了

処理でエラーが発生した場合に出力される。

Page 48: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

6.2.2. メッセージ一覧(PulseAudioInput)

№ レベル メッセージ 説明

1 INFO PulseAudioInput : Audio input component using pulseaudio api

Copyright (C) 2010-2011 Yosuke Matsusaka and AIST-OpenHRI development team

Version [バージョン番号]

Active 状態に遷移した際にコンポーネント情報

を出力する。

2 WARN pa_simple_new() failed onActivated:[エラー内容]

Active 状態に遷移した際の初期処理やデバイス

の起動等でエラーが発生した場合に出力される。

3 WARN pa_stream_drop():capture stream drop failed.

pa_stream_drop()でエラーが発生した場合に出

力される。

6.2.3. メッセージ一覧(PortAudioOutput)

№ レベル メッセージ 説明

1 INFO PortAudioOutput : Audio output component using portaudio library Copyright (C) 2010-2011 Yosuke Matsusaka and AIST-OpenHRI development team Version [バージョン番号]

Active 状態に遷移した際にコンポーネント情報

を出力する。

2 WARN PortAudio failed onActivated: [エラー内容]

Active 状態に遷移した際の初期処理やデバイス

の起動等でエラーが発生した場合に出力される。

3 WARN PortAudio WriteStream failed:: [エラー内容]

音声データの出力でエラーが発生した場合に出

力される。

4 WARN PortAudio Stream close failed onDeactivated: [エラー内容]

Inactive 状態に遷移した際にストリームの終了

処理でエラーが発生した場合に出力される。

5 WARN PortAudio Stream close failed onFinalize: [エラー内容]

コンポーネントの終了処理でストリームの終了

処理でエラーが発生した場合に出力される。

6.2.4. メッセージ一覧(PulseAudioOutput)

№ レベル メッセージ 説明

1 INFO PulseAudioOutput : Audio output component using pulseaudio api Copyright (C) 2010-2011 Yosuke Matsusaka and AIST-OpenHRI development team

Version [バージョン番号]

Active 状態に遷移した際にコンポーネント情報

を出力する。

2 WARN pa_simple_new() failed onActivated:[エラー内容]

Active 状態に遷移した際の初期処理やデバイス

の起動等でエラーが発生した場合に出力される。

3 WARN pa_stream_begin_write() failed. pa_stream_begin_write()でエラーが発生した場合

に出力される。

4 WARN pa_stream_drop():capture stream drop failed.

pa_stream_drop()でエラーが発生した場合に出

力される。

-42-

Page 49: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

6.2.5. メッセージ一覧(NoiseReduction)

№ レベル メッセージ 説明

1 INFO NoiseReduction : FFT/IFFT based Noise reduction component Copyright (C) 2010-2011 Yosuke Matsusaka and AIST-OpenHRI development team

Version [バージョン番号]

Active 状態に遷移した際にコンポーネント情報

を出力する。

6.2.6. メッセージ一覧(EchoSuppressor)

№ レベル メッセージ 説明

1 INFO EchoSuppressor : Acoustic echo cancellation component Copyright (C) 2010-2011 Yosuke Matsusaka and AIST-OpenHRI development team

Version [バージョン番号]

Active 状態に遷移した際にコンポーネント情報

を出力する。

6.2.7. メッセージ一覧(EchoCanceler)

№ レベル メッセージ 説明

1 INFO EchoCanceler : Acoustic echo cancellation component using adaptive filter Copyright (C) 2010-2011 Yosuke Matsusaka and AIST-OpenHRI development team

Version [バージョン番号]

Active 状態に遷移した際にコンポーネント情報

を出力する。

6.2.8. メッセージ一覧(Julius)

№ レベル メッセージ 説明

1 INFO JuliusRTC version [バージョン番

号] Copyright (C) 2010-2011 Yosuke Matsusaka

This component depends on following softwares and datas:

[依存ソフトウェア情報]

起動時にコンポーネント情報を出力する。

2 INFO [ステータス] 音声認識の処理状態(status)を出力する

3 INFO register grammar:[文法 ID] Active 状態に遷移した際に、出力する。

4 INFO #[順位]:[認識文]([認識スコア]) 音声認識の実行結果を出力する。

6.2.9. メッセージ一覧(OpenJTalk)

№ レベル メッセージ 説明

1 INFO OpenJTalkRTC version [バージョ 起動時にコンポーネント情報を出力する。

-43-

Page 50: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

ン番号]

Copyright (C) 2010-2011 Yosuke Matsusaka

This component depends on following softwares and datas:

[依存ソフトウェア情報]

2 INFO [合成対象文字列] [サンプリング周波

数][音声モデル] 音声合成時に出力する。

3 INFO stream started/ stream finished ステータス状態を出力する。

4 ERROR [スタックトレース] 例外発生時にスタックトレースの内容を出力す

る。

6.2.10. メッセージ一覧(Festival)

№ レベル メッセージ 説明

1 INFO FestivalRTC version [バージョン番

号]

Copyright (C) 2010-2011 Yosuke Matsusaka

This component depends on following softwares and datas:

[依存ソフトウェア情報]

起動時にコンポーネント情報を出力する。

2 INFO [合成対象文字列] [サンプリング周波

数][音声モデル] 音声合成時に出力する。

3 INFO stream started/ stream finished ステータス状態を出力する。

4 ERROR [スタックトレース] 例外発生時にスタックトレースの内容を出力す

る。

6.2.11. メッセージ一覧(SEAT)

№ 種別 メッセージ 説明

1 INFO SEAT (Speech Event Action Transfer) version [バージョン番号]

初期処理にて出力する

2 INFO Copyright (C) 2009-2010 Yosuke Matsusaka and Isao Hara

初期処理にて出力する

3 INFO scriptfile=[スクリプトファイル名] 対話制御スクリプトファイル名を出力する

4 INFO load script file:[スクリプトファイル

名] 対話制御スクリプトファイル読込時に対話制御

スクリプトファイル名を出力する。

5 INFO create inport:[インポートのポート

名] 作成したインポートのポート名を出力する

6 INFO create outport:[アウトポートのポー

ト名] 作成したストポートのポート名を出力する

7 INFO register [状態]:::entry 解析した対話制御スクリプトの内容を出力する

8 INFO register [状態]:::exit 解析した対話制御スクリプトの内容を出力する

9 INFO register [状態]:source:[key] 解析した対話制御スクリプトの内容を出力する

10 INFO register [状態]: default:[key] 解析した対話制御スクリプトの内容を出力する

-44-

Page 51: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

11 INFO current state [状態]

loaded successfully

初の状態を出力する。

12 INFO loaded successfully 対話制御スクリプトの読込完了時に出力する。

13 INFO sending command [値] ([送信先]) 制御処理情報を出力する。

14 INFO got input [値] ([取得元]) 入力情報を出力する。

15 INFO #[ランク]:[テキスト]([スコア]) 音声認識結果情報を出力する。

16 INFO [rejected] score under limit 音声認識スコアの下限値を下回った場合に出力

する。

17 INFO looking up...[入力値] 制御スクリプト内に当該入力値のキーを検索す

る際に出力する。

18 INFO State transition from [現在の状態] to [遷移後の状態]

当該入力値による状態遷移内容を出力する。

19 INFO No command found 当該入力値に対応する制御コマンドがない場合

に出力する

20 ERROR No such adaptor[コマンド送信先] コマンド送信先がアダプタ定義になかった場合

21 WARN state buffer is empty 状態管理が空の場合

22 INFO [ログ出力情報] 制御スクリプトにて log 指定した内容を出力す

る。

23 ERROR invalid xml syntax :[error] 制御スクリプトに XML 文法エラーがあった場

合に出力する。

24 ERROR unable to open file [スクリプトファ

イル名]:[error] 制御スクリプトファイルを開けなかった場合に

出力する。

25 ERROR invalid script file:[スクリプトファ

イル名]:[error] 制御スクリプトに文法エラーがあった場合に出

力する。

26 ERROR トレースログ 例外発生時にスタックトレースの内容を出力す

る。

27 ERROR No available state 制御スクリプトにて、利用できない状態が指定さ

れた場合に出力する。

6.2.12. メッセージ一覧(DSArray)

№ レベル メッセージ 説明

1 INFO DSArray : Sound localization component using microphone array

Copyright (C) 2010-2011 Yosuke Matsusaka and AIST-OpenHRI development team

Version [バージョン番号]

起動時にコンポーネント情報を出力する。

2 WARN onDeactivated error Deactive 処理で Exception が発生した際に出力

する。

6.2.13. メッセージ一覧(BeamForming)

№ レベル メッセージ 説明

-45-

Page 52: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

1 WARN onDeactivated error Deactive 処理で Exception が発生した際に出力

する。

-46-

Page 53: 音声対話システムマニュアル - SEC · nedo次世代ロボット知能化技術開発プロジェクト . 音声対話システムマニュアル . 1.0版 . 独立行政法人産業技術総合研究所

NEDO 次世代ロボット知能化技術開発プロジェクト 音声対話システムマニュアル

-47-

6.3. トラブルシューティング 音声が出力されない

デバイスの音量や消音になっていないかを確認する。

⇒デバイスの音量を調整する。

各コンポーネントでエラーが発生していないかをログで確認する。

⇒エラーの原因を除去する。なお、音声出力コンポーネントのバッファエラーが

頻発する場合、動作マシンを高スペックのものにすることで解消される場合があ

る。

出力音声が途切れる

音声出力コンポーネントのコンフィギュレーションにある出力バッファ長

(DelayCount)を確認する。

⇒DelayCount の値を増加させた後、アクティブにする。

音声が認識されない

音声認識コンポーネントの入力音声フォーマット(サンプリング周波数:

16kHz、、量子化ビット数:16 ビット)を確認する。

⇒規定の入力音声フォーマットを使用する。

音声認識文法ファイルの内容を確認する。音声認識文法ファイルの文法誤り

に関しては、検証ツール(validatesrgs)や SRGSEditor で確認できる。

$ validatesrgs [grammarfile]

⇒文法誤りを修正する。

音声認識の実行結果ログより、スコアを確認する。

⇒単調な発話の方が認識されやすい。

対話制御の制御結果が正しくない。

対話制御のログより、入力値、状態、コマンドを確認する。

⇒対話制御のスクリプトに誤りがある場合、修正する。

対話制御スクリプトの内容を確認する。対話制御スクリプトファイルの文法

誤りに関しては、検証ツール(validateseatml)や SEATEditor で確認できる。

$ validateseatml [scriptfile]

⇒文法誤りを修正する。