更新日:2004/11/04 変更履歴 ------ Beta1からの変更点 * Speak()関数のAPIを変更。AIBOから音声が再生される * VAIBOTTS.h エラーコード追加 // Speak E_VAIBOTTS_ERROR_OVER_STRING, E_VAIBOTTS_ERROR_NOT_CONNECTED, E_VAIBOTTS_ERROR_BUSY_NETAUDIO, E_VAIBOTTS_ERROR_NOT_START_NETAUDIO, E_VAIBOTTS_ERROR_NOT_MAKEWAVEFILE, E_VAIBOTTS_ERROR_NOT_SNEDWAVEFILE, // エラーコード一覧 enum { E_VAIBOTTS_NOERROR, // All E_VAIBOTTS_ERROR, // 汎用 E_VAIBOTTS_ERROR_NOT_START, // エンジンが初期化されていない E_VAIBOTTS_ERROR_ILLEGAL_LEXICON, // 入力された辞書種別がおかしい // SonyTTS E_VAIBOTTS_ERROR_SONYTTS_INIT, // エンジンの初期化に失敗した E_VAIBOTTS_ERROR_SONYTTS_NOT_START, // エンジンが初期化されていない E_VAIBOTTS_ERROR_SONYTTS_OPENFILE, // Waveファイルのオープンエラー E_VAIBOTTS_ERROR_SONYTTS_CONVERTER, // 音声データへの変換エラー E_VAIBOTTS_ERROR_SONYTTS_BUFFER_SIZE_OVER, // バッファサイズが足らない E_VAIBOTTS_ERROR_SONYTTS_ACM_FORMAT_COMVERTER, // Waveフォーマットの変換エラー E_VAIBOTTS_ERROR_SONYTTS_LEXICON_INIT, // 辞書がオープンできない E_VAIBOTTS_ERROR_SONYTTS_LEXICON_ILLEGAL_WORDNO, // 単語のインデックスがおかしい E_VAIBOTTS_ERROR_SONYTTS_LEXICON_ILLEGAL_WORD, // 登録する単語がおかしい E_VAIBOTTS_ERROR_SONYTTS_LEXICON_ILLEGAL_PHONE, // 登録する単語の読みがおかしい E_VAIBOTTS_ERROR_SONYTTS_LEXICON_ILLEGAL_PART, // 登録する単語の品詞がおかしい E_VAIBOTTS_ERROR_SONYTTS_LEXICON_ENTRY_API, // 登録するSonyTTS API でエラー // SAPI E_VAIBOTTS_ERROR_SAPI_INIT, // エンジンの初期化に失敗した E_VAIBOTTS_ERROR_SAPI_NOT_START, // エンジンが初期化されていない E_VAIBOTTS_ERROR_SAPI_OUTPUTSTREAM, // 音声の出力でエラー E_VAIBOTTS_ERROR_SAPI_LEXICON_INIT, // 辞書の初期化でエラー E_VAIBOTTS_ERROR_SAPI_LEXICON_NOT_START, // 辞書が初期化されていない E_VAIBOTTS_ERROR_SAPI_LEXICON_ILLEGAL_WORDNO, // 単語のインデックスがおかしい E_VAIBOTTS_ERROR_SAPI_LEXICON_ILLEGAL_LANGUAGE, // 辞書の言語設定がおかしい E_VAIBOTTS_ERROR_SAPI_LEXICON_ILLEGAL_PART, // 登録する単語の品詞がおかしい E_VAIBOTTS_ERROR_SAPI_LEXICON_CONVERTER, // 登録する単語のコンバータでエラー // Speak E_VAIBOTTS_ERROR_OVER_STRING, // 入力文章が長すぎる E_VAIBOTTS_ERROR_NOT_CONNECTED, // AIBOに接続できていない E_VAIBOTTS_ERROR_BUSY_NETAUDIO, // NETAUDIO使用中 E_VAIBOTTS_ERROR_NOT_START_NETAUDIO, // NETAUDIOが開始されていない E_VAIBOTTS_ERROR_NOT_MAKEWAVEFILE, // WAVEファイルが作成できない E_VAIBOTTS_ERROR_NOT_SNEDWAVEFILE, // WAVEファイルをAIBOに送れない MAX_E_VAIBOTTS_ERROR }; ■Init 【機能】ライブラリの初期化 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】ライブラリを初期化する 【形式】 int CVAIBOTTS::Init() ■End 【機能】ライブラリの終了 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】ロイブラリを終了する 【形式】 int CVAIBOTTS::End() ■GetTTSEngineNum 【機能】TTSエンジンの個数の取得 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】TTSエンジンの個数を取得する 【形式】 int CVAIBOTTS::GetTTSEngineNum( int& nListNum ) // エンジンの個数(出力) ■GetTTSEngineName 【機能】TTSエンジンの名前の取得 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】TTSエンジンの名前を取得する 【形式】 int CVAIBOTTS::GetTTSEngineName( int nIdx, // エンジンのインデックス char* strEngineName ) // エンジンの名前(出力) ■GetTTSEngineKind 【機能】TTSエンジンの種別の取得 【戻り値】TTSエンジンの種別(E_VAIBOTTS_ENGINE_SONYTTS,E_VAIBOTTS_ENGINE_SAPI..) 【機能説明】TTSエンジンの種別を取得する 【形式】 E_VAIBOTTS_ENGINE CVAIBOTTS::GetTTSEngineKind( int nIdx ) // エンジンのインデックス ■GetVoiceEngine 【機能】カレントのTTSエンジンの取得 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】カレントのTTSエンジンを取得する 【形式】 int CVAIBOTTS::GetVoiceEngine( int* pIdx ) // エンジンのインデックス(出力) ■SetVoiceEngine 【機能】カレントのTTSエンジンの設定 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】カレントのTTSエンジンを設定する 【形式】 int CVAIBOTTS::SetVoiceEngine( int nIdx ) // エンジンのインデックス ■Speak 【機能】文字列をTTS変換して再生 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】文字列をTTS変換して再生する m_vaibo で声を出すAIBOを設定する。NULLを設定するとPCのスピーカで再生する 【形式】 int CVAIBOTTS::Speak( CVAIBO *m_vaibo, // 話すAIBO const char* strText ) // 入力文字列 ■MakeWaveFile 【機能】文字列をTTS変換してWAVEファイルを出力 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】文字列をTTS変換してWAVEファイルを出力する 【形式】 int CVAIBOTTS::MakeWaveFile( const char* strText, // 入力文字列 const char* strFileName ) // 出力ファイル名 ■MakePcmData 【機能】文字列をTTS変換してPCMデータを出力 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】文字列をTTS変換してPCMデータを出力する 【形式】 int CVAIBOTTS::MakePcmData( const char* strText, // 入力文字列 char* pPcmData, // 出力バッファ int* pPcmDataSize, // 出力データサイズ int nMaxSize ) // 出力バッファサイズ ■SetVoiceSpeed 【機能】VOICEのスピードの設定 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】VOICEのスピードを設定する 【形式】 int CVAIBOTTS::SetVoiceSpeed( unsigned int unSpeed ) // スピード(0〜VOICE_PARAM_MAX(100)) ■SetVoicePitch 【機能】VOICEのピッチの設定 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】VOICEのピッチを設定する。SAPIのエンジンに対しては無効 【形式】 int CVAIBOTTS::SetVoicePitch( unsigned int unPitch ) // ピッチ(0〜VOICE_PARAM_MAX(100)) ■SetVoiceAccent 【機能】VOICEのアクセントの設定 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】VOICEのアクセントを設定する。SAPIのエンジンに対しては無効 【形式】 int CVAIBOTTS::SetVoiceAccent( unsigned int unAccent ) // アクセント(0〜VOICE_PARAM_MAX(100)) ■SetVoiceVolume 【機能】VOICEのボリュームの設定 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】VOICEのボリュームを設定する 【形式】 int CVAIBOTTS::SetVoiceVolume( unsigned int unVolume ) // ボリューム(0〜VOICE_PARAM_MAX(100)) ■SetOutputFormat 【機能】出力PCMデータフォーマットの設定 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】出力PCMデータフォーマットを設定する 【形式】 int CVAIBOTTS::SetOutputFormat( int nWaveFormat ) // PCMデータフォーマット(E_TTS_WAVE_FORMAT_16K_16BIT,E_TTS_WAVE_FORMAT_8K_8BIT..) ■GetVoiceSpeed 【機能】VOICEのスピードの取得 【戻り値】スピード(0〜VOICE_PARAM_MAX(100)) 【機能説明】VOICEのスピードを取得する 【形式】 unsigned int CVAIBOTTS::GetVoiceSpeed() ■GetVoicePitch 【機能】VOICEのピッチの取得 【戻り値】ピッチ(0〜VOICE_PARAM_MAX(100)) 【機能説明】VOICEのピッチを取得する 【形式】 unsigned int CVAIBOTTS::GetVoicePitch() ■GetVoiceAccent 【機能】VOICEのアクセントの取得 【戻り値】アクセント(0〜VOICE_PARAM_MAX(100)) 【機能説明】VOICEのアクセントを取得する 【形式】 unsigned int CVAIBOTTS::GetVoiceAccent() ■GetVoiceVolume 【機能】VOICEのボリュームの取得 【戻り値】ボリューム(0〜VOICE_PARAM_MAX(100)) 【機能説明】VOICEのボリュームを取得する 【形式】 unsigned int CVAIBOTTS::GetVoiceVolume() ■GetOutputFormat 【機能】出力PCMデータフォーマットの取得 【戻り値】PCMデータフォーマット(E_TTS_WAVE_FORMAT_16K_16BIT,E_TTS_WAVE_FORMAT_8K_8BIT..) 【機能説明】出力PCMデータフォーマットを取得する 【形式】 int CVAIBOTTS::GetOutputFormat() ■GetWordNumInLexicon 【機能】辞書登録語句数の取得 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】辞書登録語句数を取得する 【形式】 int CVAIBOTTS::GetWordNumInLexicon( E_VAIBOTTS_LEXICON eLexicon, // 辞書種別(E_VAIBOTTS_LEXICON_SONYTTS_J,E_VAIBOTTS_LEXICON_SAPI_E..) int& nWord ) // 語句数(出力) ■GetWordInLexicon 【機能】辞書登録語句の取得 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】辞書登録語句を取得する 【形式】 int CVAIBOTTS::GetWordInLexicon( E_VAIBOTTS_LEXICON eLexicon, // 辞書種別(E_VAIBOTTS_LEXICON_SONYTTS_J,E_VAIBOTTS_LEXICON_SAPI_E..) int nIdx, // 語句のインデックス char* strWord ) // 語句(出力) ■GetPronunciationInLexicon 【機能】辞書登録語句の発音の取得 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】辞書登録語句の発音を取得する 日本語辞書の場合は読み仮名、英語の場合は発音記号文字列を返す 【形式】 int CVAIBOTTS::GetPronunciationInLexicon( E_VAIBOTTS_LEXICON eLexicon, // 辞書種別(E_VAIBOTTS_LEXICON_SONYTTS_J,E_VAIBOTTS_LEXICON_SAPI_E..) int nIdx, // 語句のインデックス char* strPronunciation ) // 発音文字列(出力) ■GetPartInLexicon 【機能】辞書登録語句の品詞の取得 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】辞書登録語句の品詞を取得する 【形式】 int CVAIBOTTS::GetPartInLexicon( E_VAIBOTTS_LEXICON eLexicon, // 辞書種別(E_VAIBOTTS_LEXICON_SONYTTS_J,E_VAIBOTTS_LEXICON_SAPI_E..) int nIdx, // 語句のインデックス char* strPart ) // 品詞文字列(出力) ■AddWordInLexicon 【機能】辞書に新規語句の登録 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】辞書に新規語句を登録する SonyTTSとSAPIでは登録できる品詞に違いがある 【形式】 int CVAIBOTTS::AddWordInLexicon( E_VAIBOTTS_LEXICON eLexicon, // 辞書種別(E_VAIBOTTS_LEXICON_SONYTTS_J,E_VAIBOTTS_LEXICON_SAPI_E..) char* strWord, // 語句 char* strPhone, // 発音文字列 E_VAIBOTTS_PART ePart ) // 品詞(E_VAIBOTTS_PART_SAPI_NOUN,E_VAIBOTTS_PART_SONYTTS_FUTUU_NOUN) ■DeleteWordInLexicon 【機能】辞書登録語句の削除 【戻り値】成功:E_VAIBOTTS_NOERROR 失敗:エラーコード 【機能説明】辞書登録語句を削除する 【形式】 int CVAIBOTTS::DeleteWordInLexicon( E_VAIBOTTS_LEXICON eLexicon, // 辞書種別(E_VAIBOTTS_LEXICON_SONYTTS_J,E_VAIBOTTS_LEXICON_SAPI_E..) int nIdx ) // 語句のインデックス