|
ailia_speech
1.4.0.0
|
ailia Speech AI音声認識 ライブラリ [詳解]
#include "ailia.h"#include "ailia_tokenizer.h"
クラス | |
| struct | _AILIASpeechApiCallback |
| struct | _AILIASpeechText |
関数 | |
| int AILIA_API | ailiaSpeechCreate (struct AILIASpeech **net, int env_id, int num_thread, int memory_mode, int task, int flags, AILIASpeechApiCallback callback, int version) |
| ネットワークオブジェクトを作成します。 [詳解] | |
| int AILIA_API | ailiaSpeechOpenModelFileA (struct AILIASpeech *net, const char *encoder_path, const char *decoder_path, int model_type) |
| モデルを指定します。(MBSC) [詳解] | |
| int AILIA_API | ailiaSpeechOpenModelFileW (struct AILIASpeech *net, const wchar_t *encoder_path, const wchar_t *decoder_path, int model_type) |
| モデルを指定します。(UTF16) [詳解] | |
| int AILIA_API | ailiaSpeechOpenVadFileA (struct AILIASpeech *net, const char *vad_path, int vad_type) |
| 無音検知に適用するVADモデルを指定します。(MBSC) [詳解] | |
| int AILIA_API | ailiaSpeechOpenVadFileW (struct AILIASpeech *net, const wchar_t *vad_path, int vad_type) |
| 無音検知に適用するVADモデルを指定します。(UTF16) [詳解] | |
| int AILIA_API | ailiaSpeechOpenDictionaryFileA (struct AILIASpeech *net, const char *dictionary_path, int dictionary_type) |
| 誤り訂正辞書を指定します。(MBSC) [詳解] | |
| int AILIA_API | ailiaSpeechOpenDictionaryFileW (struct AILIASpeech *net, const wchar_t *dictionary_path, int dictionary_type) |
| 誤り訂正辞書を指定します。(UTF16) [詳解] | |
| int AILIA_API | ailiaSpeechOpenPostProcessFileA (struct AILIASpeech *net, const char *encoder_path, const char *decoder_path, const char *source_path, const char *target_path, const char *prefix, int post_process_type) |
| 後処理知に適用するAIモデルを指定します。(MBSC) [詳解] | |
| int AILIA_API | ailiaSpeechOpenPostProcessFileW (struct AILIASpeech *net, const wchar_t *encoder_path, const wchar_t *decoder_path, const wchar_t *source_path, const wchar_t *target_path, const char *prefix, int post_process_type) |
| 後処理知に適用するAIモデルを指定します。(UTF16) [詳解] | |
| int AILIA_API | ailiaSpeechOpenDiarizationFileA (struct AILIASpeech *net, const char *segmentation_path, const char *embedding_path, int type) |
| 話者分離に適用するAIモデルを指定します。(MBSC) [詳解] | |
| int AILIA_API | ailiaSpeechOpenDiarizationFileW (struct AILIASpeech *net, const wchar_t *segmentation_path, const wchar_t *embedding_path, int type) |
| 話者分離に適用するAIモデルを指定します。(UTF16) [詳解] | |
| int AILIA_API | ailiaSpeechPushInputData (struct AILIASpeech *net, const float *src, unsigned int channels, unsigned int samples, unsigned int sampling_rate) |
| 音声をキューに投入します。 [詳解] | |
| int AILIA_API | ailiaSpeechFinalizeInputData (struct AILIASpeech *net) |
| 音声のキューへの投入を終了します。 [詳解] | |
| int AILIA_API | ailiaSpeechBuffered (struct AILIASpeech *net, unsigned int *buffered) |
| 音声認識を行うために十分なデータが存在するかどうかを判定します。 [詳解] | |
| int AILIA_API | ailiaSpeechComplete (struct AILIASpeech *net, unsigned int *complete) |
| 全てのデータの処理が完了したかどうかを判定します。 [詳解] | |
| int AILIA_API | ailiaSpeechSetPrompt (struct AILIASpeech *net, const char *prompt) |
| プロンプトの設定を行います。 [詳解] | |
| int AILIA_API | ailiaSpeechSetConstraint (struct AILIASpeech *net, const char *constraint, int type) |
| 制約の設定を行います。 [詳解] | |
| int AILIA_API | ailiaSpeechSetLanguage (struct AILIASpeech *net, const char *language) |
| 言語設定を行います。 [詳解] | |
| int AILIA_API | ailiaSpeechSetSilentThreshold (struct AILIASpeech *net, float silent_threshold, float speech_sec, float no_speech_sec) |
| 無音判定の閾値を設定します。 [詳解] | |
| int AILIA_API | ailiaSpeechSetIntermediateCallback (struct AILIASpeech *net, AILIA_SPEECH_USER_API_INTERMEDIATE_CALLBACK callback, void *handle) |
| 認識の途中結果を取得するコールバックを設定します。 [詳解] | |
| int AILIA_API | ailiaSpeechTranscribe (struct AILIASpeech *net) |
| 音声認識を行います。 [詳解] | |
| int AILIA_API | ailiaSpeechPostProcess (struct AILIASpeech *net) |
| 後処理を行います。 [詳解] | |
| int AILIA_API | ailiaSpeechGetTextCount (struct AILIASpeech *net, unsigned int *count) |
| 認識したテキストの数を取得します。 [詳解] | |
| int AILIA_API | ailiaSpeechGetText (struct AILIASpeech *net, AILIASpeechText *text, unsigned int version, unsigned int idx) |
| 認識したテキストを取得します。 [詳解] | |
| int AILIA_API | ailiaSpeechSetText (struct AILIASpeech *net, const AILIASpeechText *text, unsigned int version, unsigned int idx) |
| ポストプロセス対象のテキストを設定します。 [詳解] | |
| void AILIA_API | ailiaSpeechDestroy (struct AILIASpeech *net) |
| ネットワークオブジェクトを破棄します。 [詳解] | |
| int AILIA_API | ailiaSpeechResetTranscribeState (struct AILIASpeech *net) |
| ネットワークオブジェクトの内部状態を初期化します。 [詳解] | |
| const char *AILIA_API | ailiaSpeechGetErrorDetail (struct AILIASpeech *net) |
| エラーの詳細を返します [詳解] | |
ailia Speech AI音声認識 ライブラリ
| #define AILIA_API __stdcall |
| #define AILIA_SPEECH_API_CALLBACK_VERSION (6) |
構造体バージョン
| #define AILIA_SPEECH_CONSTRAINT_CHARACTERS (0) |
文字の制約を行います。
| #define AILIA_SPEECH_CONSTRAINT_WORDS (1) |
単語の制約を行います。単語はカンマで区切ります。
| #define AILIA_SPEECH_DIARIZATION_TYPE_PYANNOTE_AUDIO (0) |
PyannoteAudio
| #define AILIA_SPEECH_DICTIONARY_TYPE_REPLACE (0) |
置換辞書
| #define AILIA_SPEECH_FLAG_LIVE (1) |
ライブ変換モードを有効にします
| #define AILIA_SPEECH_FLAG_NONE (0) |
フラグを設定しません
| #define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_BASE (1) |
Whisper Base model
| #define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_LARGE (4) |
Whisper Large model
| #define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_LARGE_V3 (5) |
Whisper Large V3 model
| #define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_MEDIUM (3) |
Whisper Medium model
| #define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_SMALL (2) |
Whisper Small model
| #define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_TINY (0) |
Whisper Tiny model
| #define AILIA_SPEECH_POST_PROCESS_TYPE_FUGUMT_EN_JA (1) |
FuguMT EN JA
最大トークン長は384です。これを超えた場合はStripされます。
| #define AILIA_SPEECH_POST_PROCESS_TYPE_FUGUMT_JA_EN (2) |
FuguMT JA EN
最大トークン長は512です。これを超えた場合はStripされます。
| #define AILIA_SPEECH_POST_PROCESS_TYPE_T5 (0) |
T5
| #define AILIA_SPEECH_SPEAKER_ID_UNKNOWN 0xFFFFFFFF |
speaker_id が無効であることを示す値 (話者分離無効時などに設定される)
| #define AILIA_SPEECH_TASK_TRANSCRIBE (0) |
音声のテキスト化を行います
| #define AILIA_SPEECH_TASK_TRANSLATE (1) |
音声のテキスト化と翻訳を行います
| #define AILIA_SPEECH_TEXT_VERSION (2) |
構造体バージョン
| #define AILIA_SPEECH_USER_API |
| #define AILIA_SPEECH_VAD_TYPE_SILERO (0) |
SileroVAD
| #define ailiaSpeechOpenDiarizationFile ailiaSpeechOpenDiarizationFileA |
| #define ailiaSpeechOpenDictionaryFile ailiaSpeechOpenDictionaryFileA |
| #define ailiaSpeechOpenModelFile ailiaSpeechOpenModelFileA |
| #define ailiaSpeechOpenPostProcessFile ailiaSpeechOpenPostProcessFileA |
| #define ailiaSpeechOpenVadFile ailiaSpeechOpenVadFileA |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_AUDIO_GET_FRAME_LEN) (int *, int, int, int, int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_AUDIO_GET_MEL_SPECTROGRAM) (void *, const void *, int, int, int, int, int, int, int, int, float, int, float, float, int, int, int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN) (int *, int, int, int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_AUDIO_RESAMPLE) (void *, const void *, int, int, int, int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_COPY_BLOB_DATA) (struct AILIANetwork *dst_net, unsigned int dst_blob_idx, struct AILIANetwork *src_net, unsigned int src_blob_idx) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_CREATE) (struct AILIANetwork **, int, int) |
| typedef void(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_DESTROY) (struct AILIANetwork *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_BLOB_DATA) (struct AILIANetwork *, void *, unsigned int, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_BLOB_SHAPE) (struct AILIANetwork *, AILIAShape *, unsigned int, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_ENVIRONMENT) (AILIAEnvironment **env, unsigned int env_idx, unsigned int version) |
| typedef const char*(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_ERROR_DETAIL) (struct AILIANetwork *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_FILE_A) (struct AILIANetwork *, const char *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_FILE_W) (struct AILIANetwork *, const wchar_t *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_MEM) (struct AILIANetwork *, const void *, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_SET_INPUT_BLOB_DATA) (struct AILIANetwork *, const void *, unsigned int, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_SET_INPUT_BLOB_SHAPE) (struct AILIANetwork *, const AILIAShape *, unsigned int, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_SET_MEMORY_MODE) (struct AILIANetwork *, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_CREATE) (struct AILIATokenizer **, int, int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_DECODE) (struct AILIATokenizer *, const int *, unsigned int) |
| typedef void(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_DESTROY) (struct AILIATokenizer *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_ENCODE) (struct AILIATokenizer *, const char *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TEXT) (struct AILIATokenizer *, char *, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TEXT_LENGTH) (struct AILIATokenizer *, unsigned int *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TOKEN_COUNT) (struct AILIATokenizer *, unsigned int *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TOKENS) (struct AILIATokenizer *, int *, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_OPEN_MODEL_FILE_A) (struct AILIATokenizer *, const char *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_OPEN_MODEL_FILE_W) (struct AILIATokenizer *, const wchar_t *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_UTF32_TO_UTF8) (char *, unsigned int *, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_UTF8_TO_UTF32) (unsigned int *, unsigned int *, const char *, unsigned int) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_UPDATE) (struct AILIANetwork *) |
| typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_INTERMEDIATE_CALLBACK) (void *handle, const char *text) |
推論の途中の状況を通知します。
| handle | ailiaSpeechSetIntermediateCallbackに指定したhandle |
| text | 推論の途中のテキスト |
| typedef struct _AILIASpeechApiCallback AILIASpeechApiCallback |
| typedef struct _AILIASpeechText AILIASpeechText |
| int AILIA_API ailiaSpeechBuffered | ( | struct AILIASpeech * | net, |
| unsigned int * | buffered | ||
| ) |
音声認識を行うために十分なデータが存在するかどうかを判定します。
| net | ネットワークオブジェクトポインタ |
| buffered | 存在フラグ(1で存在、0で存在しない) |
| int AILIA_API ailiaSpeechComplete | ( | struct AILIASpeech * | net, |
| unsigned int * | complete | ||
| ) |
全てのデータの処理が完了したかどうかを判定します。
| net | ネットワークオブジェクトポインタ |
| complete | 完了フラグ(1で完了、0で完了していない) |
| int AILIA_API ailiaSpeechCreate | ( | struct AILIASpeech ** | net, |
| int | env_id, | ||
| int | num_thread, | ||
| int | memory_mode, | ||
| int | task, | ||
| int | flags, | ||
| AILIASpeechApiCallback | callback, | ||
| int | version | ||
| ) |
ネットワークオブジェクトを作成します。
| net | ネットワークオブジェクトポインタへのポインタ |
| env_id | 計算に利用する推論実行環境のID( ailiaGetEnvironment() で取得) AILIA_ENVIRONMENT_ID_AUTO にした場合は自動で選択する |
| num_thread | スレッド数の上限( AILIA_MULTITHREAD_AUTO にした場合は自動で設定) |
| memory_mode | メモリモード(AILIA_MEMORY_MODE_*) |
| task | AILIA_SPEECH_TASK_* |
| flag | AILIA_SPEECH_FLAG_*の論理和 |
| api_callback | ailiaのAPIへのコールバック |
| version | AILIA_SPEECH_API_CALLBACK_VERSION |
ネットワークオブジェクトを作成します。
| void AILIA_API ailiaSpeechDestroy | ( | struct AILIASpeech * | net | ) |
ネットワークオブジェクトを破棄します。
| net | ネットワークオブジェクトポインタ |
| int AILIA_API ailiaSpeechFinalizeInputData | ( | struct AILIASpeech * | net | ) |
音声のキューへの投入を終了します。
| net | ネットワークオブジェクトポインタ |
音声ファイルの末尾であることを通知することで、30秒分のデータが存在しなくてもailiaSpeechBufferedが1を返すようになります。 ailiaSpeechFinalizeInputDataを実行後、ailiaSpeechPushInputDataの実行前に、ailiaSpeechResetTranscribeStateを呼び出す必要があります。
| const char* AILIA_API ailiaSpeechGetErrorDetail | ( | struct AILIASpeech * | net | ) |
エラーの詳細を返します
| net | ネットワークオブジェクトポインタ |
返値は解放する必要はありません。 文字列の有効期間は次にailiaSpeechのAPIを呼ぶまでです。 モデルが暗号化されている場合は空文字を返します。
| int AILIA_API ailiaSpeechGetText | ( | struct AILIASpeech * | net, |
| AILIASpeechText * | text, | ||
| unsigned int | version, | ||
| unsigned int | idx | ||
| ) |
認識したテキストを取得します。
| net | ネットワークオブジェクトポインタ |
| text | テキスト |
| version | AILIA_SPEECH_TEXT_VERSION |
| idx | テキストのインデックス |
返値は解放する必要はありません。 文字列の有効期間は次にailiaSpeechのAPIを呼ぶまでです。
| int AILIA_API ailiaSpeechGetTextCount | ( | struct AILIASpeech * | net, |
| unsigned int * | count | ||
| ) |
認識したテキストの数を取得します。
| net | ネットワークオブジェクトポインタ |
| count | テキストの数 |
| int AILIA_API ailiaSpeechOpenDiarizationFileA | ( | struct AILIASpeech * | net, |
| const char * | segmentation_path, | ||
| const char * | embedding_path, | ||
| int | type | ||
| ) |
話者分離に適用するAIモデルを指定します。(MBSC)
| net | ネットワークオブジェクトポインタ |
| segmentation_path | onnxファイルのパス名(MBSC) |
| embedding_path | onnxファイルのパス名(MBSC) |
| type | AILIA_SPEECH_DIARIZATION_TYPE_PYANNOTE_AUDIO |
| int AILIA_API ailiaSpeechOpenDiarizationFileW | ( | struct AILIASpeech * | net, |
| const wchar_t * | segmentation_path, | ||
| const wchar_t * | embedding_path, | ||
| int | type | ||
| ) |
話者分離に適用するAIモデルを指定します。(UTF16)
| net | ネットワークオブジェクトポインタ |
| segmentation_path | onnxファイルのパス名(UTF16) |
| embedding_path | onnxファイルのパス名(UTF16) |
| type | AILIA_SPEECH_DIARIZATION_TYPE_PYANNOTE_AUDIO |
| int AILIA_API ailiaSpeechOpenDictionaryFileA | ( | struct AILIASpeech * | net, |
| const char * | dictionary_path, | ||
| int | dictionary_type | ||
| ) |
誤り訂正辞書を指定します。(MBSC)
| net | ネットワークオブジェクトポインタ |
| dictionary_path | 辞書ファイルのパス名(MBSC) |
| dictionary_type | AILIA_SPEECH_DICTIONARY_TYPE_* |
| int AILIA_API ailiaSpeechOpenDictionaryFileW | ( | struct AILIASpeech * | net, |
| const wchar_t * | dictionary_path, | ||
| int | dictionary_type | ||
| ) |
誤り訂正辞書を指定します。(UTF16)
| net | ネットワークオブジェクトポインタ |
| dictionary_path | 辞書ファイルのパス名(UTF16) |
| dictionary_type | AILIA_SPEECH_DICTIONARY_TYPE_* |
| int AILIA_API ailiaSpeechOpenModelFileA | ( | struct AILIASpeech * | net, |
| const char * | encoder_path, | ||
| const char * | decoder_path, | ||
| int | model_type | ||
| ) |
モデルを指定します。(MBSC)
| net | ネットワークオブジェクトポインタ |
| encoder_path | onnxファイルのパス名(MBSC) |
| decoder_path | onnxファイルのパス名(MBSC) |
| model_type | AILIA_SPEECH_MODEL_TYPE_* |
| int AILIA_API ailiaSpeechOpenModelFileW | ( | struct AILIASpeech * | net, |
| const wchar_t * | encoder_path, | ||
| const wchar_t * | decoder_path, | ||
| int | model_type | ||
| ) |
モデルを指定します。(UTF16)
| net | ネットワークオブジェクトポインタ |
| encoder_path | onnxファイルのパス名(UTF16) |
| decoder_path | onnxファイルのパス名(UTF16) |
| model_type | AILIA_SPEECH_MODEL_TYPE_* |
| task | AILIA_SPEECH_TASK_* |
| flag | AILIA_SPEECH_FLAG_*の論理和 |
| int AILIA_API ailiaSpeechOpenPostProcessFileA | ( | struct AILIASpeech * | net, |
| const char * | encoder_path, | ||
| const char * | decoder_path, | ||
| const char * | source_path, | ||
| const char * | target_path, | ||
| const char * | prefix, | ||
| int | post_process_type | ||
| ) |
後処理知に適用するAIモデルを指定します。(MBSC)
| net | ネットワークオブジェクトポインタ |
| encoder_path | onnxファイルのパス名(MBSC) |
| decoder_path | onnxファイルのパス名(MBSC) |
| source_path | Tokenizerのmodelファイルのパス名(MBSC) |
| target_path | Tokenizerのmodelファイルのパス名(MBSC) |
| prefix | T5のprefix (UTF8)、FuguMTの場合はNULL |
| post_process_type | AILIA_SPEECH_POST_PROCESS_TYPE_* |
| int AILIA_API ailiaSpeechOpenPostProcessFileW | ( | struct AILIASpeech * | net, |
| const wchar_t * | encoder_path, | ||
| const wchar_t * | decoder_path, | ||
| const wchar_t * | source_path, | ||
| const wchar_t * | target_path, | ||
| const char * | prefix, | ||
| int | post_process_type | ||
| ) |
後処理知に適用するAIモデルを指定します。(UTF16)
| net | ネットワークオブジェクトポインタ |
| encoder_path | onnxファイルのパス名(UTF16) |
| decoder_path | onnxファイルのパス名(UTF16) |
| source_path | Tokenizerのmodelファイルのパス名(UTF16) |
| target_path | Tokenizerのmodelファイルのパス名(UTF16) |
| prefix | T5のprefix (UTF8)、FuguMTの場合はNULL |
| post_process_type | AILIA_SPEECH_POST_PROCESS_TYPE_* |
| int AILIA_API ailiaSpeechOpenVadFileA | ( | struct AILIASpeech * | net, |
| const char * | vad_path, | ||
| int | vad_type | ||
| ) |
無音検知に適用するVADモデルを指定します。(MBSC)
| net | ネットワークオブジェクトポインタ |
| vad_path | onnxファイルのパス名(MBSC) |
| vad_type | AILIA_SPEECH_VAD_TYPE_* |
| int AILIA_API ailiaSpeechOpenVadFileW | ( | struct AILIASpeech * | net, |
| const wchar_t * | vad_path, | ||
| int | vad_type | ||
| ) |
無音検知に適用するVADモデルを指定します。(UTF16)
| net | ネットワークオブジェクトポインタ |
| vad_path | onnxファイルのパス名(UTF16) |
| vad_type | AILIA_SPEECH_VAD_TYPE_* |
| int AILIA_API ailiaSpeechPostProcess | ( | struct AILIASpeech * | net | ) |
後処理を行います。
| net | ネットワークオブジェクトポインタ |
認識した結果はailiaSpeechGetText APIで取得します。
| int AILIA_API ailiaSpeechPushInputData | ( | struct AILIASpeech * | net, |
| const float * | src, | ||
| unsigned int | channels, | ||
| unsigned int | samples, | ||
| unsigned int | sampling_rate | ||
| ) |
音声をキューに投入します。
| net | ネットワークオブジェクトポインタ |
| src | PCMデータ(チャンネルインタリーブ、ステレオの場合はLRLR順、PCMは-1.0〜1.0のレンジ) |
| channels | チャンネル数 |
| samples | チャンネルあたりのサンプル数 |
| sampling_rate | サンプリングレート(Hz) |
| int AILIA_API ailiaSpeechResetTranscribeState | ( | struct AILIASpeech * | net | ) |
ネットワークオブジェクトの内部状態を初期化します。
| net | ネットワークオブジェクトポインタ |
このAPIを呼び出すことで、前回のデコード結果などの内部状態を初期化します。 このAPIを呼び出した後、モデルを再び開く必要はありません。 ailiaSpeechOpenModelFile、ailiaSpeechSetIntermediateCallback、ailiaSpeechSetLanguage、ailiaSpeechSetSilentThreshold、ailiaSpeechSetPromptのステートは保持されます。
| int AILIA_API ailiaSpeechSetConstraint | ( | struct AILIASpeech * | net, |
| const char * | constraint, | ||
| int | type | ||
| ) |
制約の設定を行います。
| net | ネットワークオブジェクトポインタ |
| constraint | 制約となるテキスト(UTF8) |
| type | 制約モード (AILIA_SPEECH_CONSTRAINT_*) |
| int AILIA_API ailiaSpeechSetIntermediateCallback | ( | struct AILIASpeech * | net, |
| AILIA_SPEECH_USER_API_INTERMEDIATE_CALLBACK | callback, | ||
| void * | handle | ||
| ) |
認識の途中結果を取得するコールバックを設定します。
| net | ネットワークオブジェクトポインタ |
| callback | コールバック |
| handle | コールバックに渡されるハンドル |
返値は解放する必要はありません。 文字列の有効期間は次にailiaSpeechのAPIを呼ぶまでです。
| int AILIA_API ailiaSpeechSetLanguage | ( | struct AILIASpeech * | net, |
| const char * | language | ||
| ) |
言語設定を行います。
| net | ネットワークオブジェクトポインタ |
| language | 言語コード(en, jaなど) |
languageに"auto"を指定すると自動選択を行います。
| int AILIA_API ailiaSpeechSetPrompt | ( | struct AILIASpeech * | net, |
| const char * | prompt | ||
| ) |
プロンプトの設定を行います。
| net | ネットワークオブジェクトポインタ |
| prompt | promptとなるテキスト(UTF8) |
| int AILIA_API ailiaSpeechSetSilentThreshold | ( | struct AILIASpeech * | net, |
| float | silent_threshold, | ||
| float | speech_sec, | ||
| float | no_speech_sec | ||
| ) |
無音判定の閾値を設定します。
| net | ネットワークオブジェクトポインタ |
| silent_threshold | 有音判定のしきい値 |
| speech_sec | 有音区間の時間(秒数) |
| no_speech_sec | 無音区間の時間(秒数) |
有音区間が一定以上存在する場合に無音区間が一定時間以上続いた場合に30secを待たずに滞留しているバッファを処理します。
| int AILIA_API ailiaSpeechSetText | ( | struct AILIASpeech * | net, |
| const AILIASpeechText * | text, | ||
| unsigned int | version, | ||
| unsigned int | idx | ||
| ) |
ポストプロセス対象のテキストを設定します。
| net | ネットワークオブジェクトポインタ |
| text | テキスト |
| version | AILIA_SPEECH_TEXT_VERSION |
| idx | テキストのインデックス |
音声認識を使用せず、ポストプロセスのみを使用する場合に使用します。 文字列は内部バッファにコピーされるため、呼び出し後に解放することができます。 idxがailiaSpeechGetTextCountよりも大きい場合、自動的に内部バッファが拡張されます。
| int AILIA_API ailiaSpeechTranscribe | ( | struct AILIASpeech * | net | ) |
音声認識を行います。
| net | ネットワークオブジェクトポインタ |
認識した結果はailiaSpeechGetText APIで取得します。