TOP > C++版API

rospeex API(C++版)

概要

ここでは、rospeexのAPIリファレンスを紹介する。 (Python版はこちら

初期化

関数名

rospeex::Interface.init(ss_enable, sr_enable, spi_enable)

関数概要

rospeexインタフェースを初期化する。 本関数は、rospy.init_node() を呼び出した後に実行する。

パラメータ

パラメータ 初期値 説明
ss_enable bool True 音声合成APIを有効にするか。True: 有効 / False: 無効
sr_enable bool True 音声認識APIを有効にするか。True: 有効 / False: 無効
spi_enabe bool True 発話検出機能を有効にするか。True: 有効 / False: 無効

戻り値

なし

音声合成結果取得用コールバック関数登録

関数名

rospeex::Interface.registerSSResponse(callback)

関数概要

音声合成結果取得用コールバック関数をrospeexに登録する。合成音声の再生が終了した際にコールされる。

パラメータ

パラメータ 初期値 説明
callback void function(const std::string&) None 音声合成結果(バイナリ)を取得するコールバック関数を登録する

返り値

なし

音声認識結果取得用コールバック関数登録

関数名

rospeex::Interface.registerSRResponse(callback)

関数概要

音声認識結果取得用コールバック関数をrospeexに登録する。

パラメータ

パラメータ 初期値 説明
callback void function(const std::string&) None 音声認識結果(文字列)を取得するコールバック関数を登録する

戻り値

なし

発話検出機能の設定

関数名

rospeex::Interface.setSPIConfig(language, engine)

関数概要

rospeexが用いる音声認識エンジンの設定を行う。 発話検出ノードによって作成された音声情報は rospeex::Interface.recognize に渡される。
パラメータであるlanguageとengineはこの時に使用される。

パラメータ

パラメータ 初期値 説明
language std::string ja 音声認識に使用される言語を設定する。設定可能な言語を以下に示す。
  • ja: 日本語
  • en: 英語
  • zh: 中国語
  • ko: 韓国語
engine std::string nict 音声認識エンジンを設定する。設定可能な音声認識エンジンを以下に示す。
  • nict (使用可能言語 ja, en, zh, ko)
  • google (使用可能言語 ja, en)
※ google音声認識APIエンジンの使用には、別途 API KEYが必要。

戻り値

なし

音声合成(発話)

関数名

rospeex::Interface.say(message, language, engine, voice_font)

関数概要

指定した音声合成エンジンとボイスフォントで音声合成を行い、再生する。

パラメータ

パラメータ 初期値 説明
message std::string 音声合成を行う文章を設定する
language std::string ja 音声合成に使用される言語を設定する。設定可能な言語を以下に示す。
  • ja: 日本語
  • en: 英語
  • zh: 中国語
  • ko: 韓国語
engine std::string nict 音声合成エンジンを設定する。設定可能な音声合成エンジンを以下に示す。
  • nict (使用可能言語 ja, en, zh, ko)
  • google (使用可能言語 ja, en)
voice_font * std::string 各音声合成エンジンで使用可能なボイスフォントを以下に示す。 本パラメータでの * は、各エンジンの初期ボイスフォントを示す。
  • nict(ja): F128, F117, *
  • nict(en): EF007, *
  • nict(zh): CJF101, *
  • nict(ko): KF001, *
  • google: *

※ google音声合成APIエンジンは、現在使用不可。

戻り値

なし

音声合成(ファイルに保存)

関数名

rospeex::Interface.tts(message, file, language, engine, voice_font)

関数概要

音声合成エンジンにリクエストを送出し、返ってきた合成音声をファイルに保存する。

パラメータ

パラメータ 初期値 説明
message std::string 音声合成を行う文を設定する
file std::string 音声合成結果の保存ファイルを指定する。
language std::string ja 音声合成に使用される言語を設定する。設定可能な言語を以下に示す。
  • ja: 日本語
  • en: 英語
  • zh: 中国語
  • ko: 韓国語
engine nict std::string 音声合成エンジンを設定する。設定可能な音声合成エンジンを以下に示す。
  • nict (使用可能言語 ja, en, zh, ko)
  • google (使用可能言語 ja, en)
voice_font std::string * 各音声合成エンジンで使用可能なボイスフォントを以下に示す。 本パラメータでの * は、各エンジンの初期ボイスフォントを示す。
  • nict(ja): F128, F117, *
  • nict(en): EF007, *
  • nict(zh): CJF101, *
  • nict(ko): KF001, *
  • google: *

※ google音声合成APIエンジンは、現在使用不可。

戻り値

なし

音声再生

関数名

rospeex::Interface.playSound(file_name)

関数概要

指定された音声ファイルを再生する。

パラメータ

パラメータ 初期値 説明
file_name std::string None 再生する音声ファイルのパス(相対または絶対パス)を記述する

戻り値

なし

音声認識

関数名

rospeex::Interface.recognize(data, language, engine)

関数概要

指定した音声データ(バイナリ)の音声認識をする。 ここで指定するバイナリデータのフォーマットは以下とする。

Format sampling rate channel num endian
wave 16kHz mono little

パラメータ

パラメータ 初期値 説明
data std::string 音声認識対象の音声データ
language std::string ja 音声認識に使用される言語を設定する。設定可能な言語を以下に示す。
  • ja: 日本語
  • en: 英語
  • zh: 中国語
  • ko: 韓国語
engine std::string nict 音声認識エンジンを設定する。設定可能な音声認識エンジンを以下に示す。
  • nict (使用可能言語 ja, en, zh, ko)
  • google (使用可能言語 ja, en)

戻り値

なし