ailia_speech  1.3.0.0
クラス | マクロ定義 | 型定義 | 関数
ailia_speech.h ファイル

ailia Speech AI音声認識 ライブラリ [詳解]

#include "ailia.h"
#include "ailia_tokenizer.h"
ailia_speech.h の依存先関係図:

[ソースコード]

クラス

struct  _AILIASpeechApiCallback
 
struct  _AILIASpeechText
 

マクロ定義

#define AILIA_API   __stdcall
 
#define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_TINY   (0)
 Whisper Tiny model [詳解]
 
#define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_BASE   (1)
 Whisper Base model [詳解]
 
#define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_SMALL   (2)
 Whisper Small model [詳解]
 
#define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_MEDIUM   (3)
 Whisper Medium 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_TASK_TRANSCRIBE   (0)
 音声のテキスト化を行います [詳解]
 
#define AILIA_SPEECH_TASK_TRANSLATE   (1)
 音声のテキスト化と翻訳を行います [詳解]
 
#define AILIA_SPEECH_CONSTRAINT_CHARACTERS   (0)
 文字の制約を行います。 [詳解]
 
#define AILIA_SPEECH_CONSTRAINT_WORDS   (1)
 単語の制約を行います。単語はカンマで区切ります。 [詳解]
 
#define AILIA_SPEECH_FLAG_NONE   (0)
 フラグを設定しません [詳解]
 
#define AILIA_SPEECH_FLAG_LIVE   (1)
 ライブ変換モードを有効にします [詳解]
 
#define AILIA_SPEECH_VAD_TYPE_SILERO   (0)
 SileroVAD [詳解]
 
#define AILIA_SPEECH_DICTIONARY_TYPE_REPLACE   (0)
 置換辞書 [詳解]
 
#define AILIA_SPEECH_POST_PROCESS_TYPE_T5   (0)
 T5 [詳解]
 
#define AILIA_SPEECH_POST_PROCESS_TYPE_FUGUMT_EN_JA   (1)
 FuguMT EN JA [詳解]
 
#define AILIA_SPEECH_POST_PROCESS_TYPE_FUGUMT_JA_EN   (2)
 FuguMT JA EN [詳解]
 
#define AILIA_SPEECH_USER_API
 
#define AILIA_SPEECH_API_CALLBACK_VERSION   (6)
 構造体バージョン [詳解]
 
#define AILIA_SPEECH_TEXT_VERSION   (2)
 構造体バージョン [詳解]
 
#define ailiaSpeechOpenModelFile   ailiaSpeechOpenModelFileA
 
#define ailiaSpeechOpenVadFile   ailiaSpeechOpenVadFileA
 
#define ailiaSpeechOpenDictionaryFile   ailiaSpeechOpenDictionaryFileA
 
#define ailiaSpeechOpenPostProcessFile   ailiaSpeechOpenPostProcessFileA
 

型定義

typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_AUDIO_GET_FRAME_LEN) (int *, int, int, int, int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_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_APIAILIA_SPEECH_USER_API_AILIA_AUDIO_RESAMPLE) (void *, const void *, int, int, int, int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN) (int *, int, int, int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_CREATE) (struct AILIATokenizer **, int, int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_OPEN_MODEL_FILE_A) (struct AILIATokenizer *, const char *)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_OPEN_MODEL_FILE_W) (struct AILIATokenizer *, const wchar_t *)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_ENCODE) (struct AILIATokenizer *, const char *)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TOKEN_COUNT) (struct AILIATokenizer *, unsigned int *)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TOKENS) (struct AILIATokenizer *, int *, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_DECODE) (struct AILIATokenizer *, const int *, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TEXT_LENGTH) (struct AILIATokenizer *, unsigned int *)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TEXT) (struct AILIATokenizer *, char *, unsigned int)
 
typedef void(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_DESTROY) (struct AILIATokenizer *)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_UTF8_TO_UTF32) (unsigned int *, unsigned int *, const char *, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_TOKENIZER_UTF32_TO_UTF8) (char *, unsigned int *, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_CREATE) (struct AILIANetwork **, int, int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_FILE_A) (struct AILIANetwork *, const char *)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_FILE_W) (struct AILIANetwork *, const wchar_t *)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_MEM) (struct AILIANetwork *, const void *, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_SET_MEMORY_MODE) (struct AILIANetwork *, unsigned int)
 
typedef void(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_DESTROY) (struct AILIANetwork *)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_UPDATE) (struct AILIANetwork *)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_GET_BLOB_DATA) (struct AILIANetwork *, void *, unsigned int, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_SET_INPUT_BLOB_DATA) (struct AILIANetwork *, const void *, unsigned int, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_SET_INPUT_BLOB_SHAPE) (struct AILIANetwork *, const AILIAShape *, unsigned int, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_GET_BLOB_SHAPE) (struct AILIANetwork *, AILIAShape *, unsigned int, unsigned int)
 
typedef int(AILIA_SPEECH_USER_APIAILIA_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_APIAILIA_SPEECH_USER_API_AILIA_GET_ENVIRONMENT) (AILIAEnvironment **env, unsigned int env_idx, unsigned int version)
 
typedef struct _AILIASpeechApiCallback AILIASpeechApiCallback
 
typedef int(AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_INTERMEDIATE_CALLBACK) (void *handle, const char *text)
 推論の途中の状況を通知します。 [詳解]
 
typedef struct _AILIASpeechText AILIASpeechText
 

関数

const typedef char *AILIA_SPEECH_USER_APIAILIA_SPEECH_USER_API_AILIA_GET_ERROR_DETAIL (struct AILIANetwork *)
 
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 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音声認識 ライブラリ

日付
2024/01/13

マクロ定義詳解

◆ AILIA_API

#define AILIA_API   __stdcall

◆ AILIA_SPEECH_API_CALLBACK_VERSION

#define AILIA_SPEECH_API_CALLBACK_VERSION   (6)

構造体バージョン

◆ AILIA_SPEECH_CONSTRAINT_CHARACTERS

#define AILIA_SPEECH_CONSTRAINT_CHARACTERS   (0)

文字の制約を行います。

◆ AILIA_SPEECH_CONSTRAINT_WORDS

#define AILIA_SPEECH_CONSTRAINT_WORDS   (1)

単語の制約を行います。単語はカンマで区切ります。

◆ AILIA_SPEECH_DICTIONARY_TYPE_REPLACE

#define AILIA_SPEECH_DICTIONARY_TYPE_REPLACE   (0)

置換辞書

◆ AILIA_SPEECH_FLAG_LIVE

#define AILIA_SPEECH_FLAG_LIVE   (1)

ライブ変換モードを有効にします

◆ AILIA_SPEECH_FLAG_NONE

#define AILIA_SPEECH_FLAG_NONE   (0)

フラグを設定しません

◆ AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_BASE

#define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_BASE   (1)

Whisper Base model

◆ AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_LARGE

#define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_LARGE   (4)

Whisper Large model

◆ AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_LARGE_V3

#define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_LARGE_V3   (5)

Whisper Large V3 model

◆ AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_MEDIUM

#define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_MEDIUM   (3)

Whisper Medium model

◆ AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_SMALL

#define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_SMALL   (2)

Whisper Small model

◆ AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_TINY

#define AILIA_SPEECH_MODEL_TYPE_WHISPER_MULTILINGUAL_TINY   (0)

Whisper Tiny model

◆ AILIA_SPEECH_POST_PROCESS_TYPE_FUGUMT_EN_JA

#define AILIA_SPEECH_POST_PROCESS_TYPE_FUGUMT_EN_JA   (1)

FuguMT EN JA

最大トークン長は384です。これを超えた場合はStripされます。

◆ AILIA_SPEECH_POST_PROCESS_TYPE_FUGUMT_JA_EN

#define AILIA_SPEECH_POST_PROCESS_TYPE_FUGUMT_JA_EN   (2)

FuguMT JA EN

最大トークン長は512です。これを超えた場合はStripされます。

◆ AILIA_SPEECH_POST_PROCESS_TYPE_T5

#define AILIA_SPEECH_POST_PROCESS_TYPE_T5   (0)

T5

◆ AILIA_SPEECH_TASK_TRANSCRIBE

#define AILIA_SPEECH_TASK_TRANSCRIBE   (0)

音声のテキスト化を行います

◆ AILIA_SPEECH_TASK_TRANSLATE

#define AILIA_SPEECH_TASK_TRANSLATE   (1)

音声のテキスト化と翻訳を行います

◆ AILIA_SPEECH_TEXT_VERSION

#define AILIA_SPEECH_TEXT_VERSION   (2)

構造体バージョン

◆ AILIA_SPEECH_USER_API

#define AILIA_SPEECH_USER_API

◆ AILIA_SPEECH_VAD_TYPE_SILERO

#define AILIA_SPEECH_VAD_TYPE_SILERO   (0)

SileroVAD

◆ ailiaSpeechOpenDictionaryFile

#define ailiaSpeechOpenDictionaryFile   ailiaSpeechOpenDictionaryFileA

◆ ailiaSpeechOpenModelFile

#define ailiaSpeechOpenModelFile   ailiaSpeechOpenModelFileA

◆ ailiaSpeechOpenPostProcessFile

#define ailiaSpeechOpenPostProcessFile   ailiaSpeechOpenPostProcessFileA

◆ ailiaSpeechOpenVadFile

#define ailiaSpeechOpenVadFile   ailiaSpeechOpenVadFileA

型定義詳解

◆ AILIA_SPEECH_USER_API_AILIA_AUDIO_GET_FRAME_LEN

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_AUDIO_GET_FRAME_LEN) (int *, int, int, int, int)

◆ AILIA_SPEECH_USER_API_AILIA_AUDIO_GET_MEL_SPECTROGRAM

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)

◆ AILIA_SPEECH_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN) (int *, int, int, int)

◆ AILIA_SPEECH_USER_API_AILIA_AUDIO_RESAMPLE

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_AUDIO_RESAMPLE) (void *, const void *, int, int, int, int)

◆ AILIA_SPEECH_USER_API_AILIA_COPY_BLOB_DATA

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)

◆ AILIA_SPEECH_USER_API_AILIA_CREATE

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_CREATE) (struct AILIANetwork **, int, int)

◆ AILIA_SPEECH_USER_API_AILIA_DESTROY

typedef void(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_DESTROY) (struct AILIANetwork *)

◆ AILIA_SPEECH_USER_API_AILIA_GET_BLOB_DATA

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_BLOB_DATA) (struct AILIANetwork *, void *, unsigned int, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_GET_BLOB_SHAPE

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_BLOB_SHAPE) (struct AILIANetwork *, AILIAShape *, unsigned int, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_GET_ENVIRONMENT

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_ENVIRONMENT) (AILIAEnvironment **env, unsigned int env_idx, unsigned int version)

◆ AILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_FILE_A

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_FILE_A) (struct AILIANetwork *, const char *)

◆ AILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_FILE_W

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_FILE_W) (struct AILIANetwork *, const wchar_t *)

◆ AILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_MEM

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_OPEN_WEIGHT_MEM) (struct AILIANetwork *, const void *, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_SET_INPUT_BLOB_DATA

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_SET_INPUT_BLOB_DATA) (struct AILIANetwork *, const void *, unsigned int, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_SET_INPUT_BLOB_SHAPE

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_SET_INPUT_BLOB_SHAPE) (struct AILIANetwork *, const AILIAShape *, unsigned int, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_SET_MEMORY_MODE

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_SET_MEMORY_MODE) (struct AILIANetwork *, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_CREATE

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_CREATE) (struct AILIATokenizer **, int, int)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_DECODE

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_DECODE) (struct AILIATokenizer *, const int *, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_DESTROY

typedef void(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_DESTROY) (struct AILIATokenizer *)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_ENCODE

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_ENCODE) (struct AILIATokenizer *, const char *)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TEXT

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TEXT) (struct AILIATokenizer *, char *, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TEXT_LENGTH

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TEXT_LENGTH) (struct AILIATokenizer *, unsigned int *)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TOKEN_COUNT

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TOKEN_COUNT) (struct AILIATokenizer *, unsigned int *)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TOKENS

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_GET_TOKENS) (struct AILIATokenizer *, int *, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_OPEN_MODEL_FILE_A

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_OPEN_MODEL_FILE_A) (struct AILIATokenizer *, const char *)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_OPEN_MODEL_FILE_W

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_OPEN_MODEL_FILE_W) (struct AILIATokenizer *, const wchar_t *)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_UTF32_TO_UTF8

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_UTF32_TO_UTF8) (char *, unsigned int *, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_TOKENIZER_UTF8_TO_UTF32

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_TOKENIZER_UTF8_TO_UTF32) (unsigned int *, unsigned int *, const char *, unsigned int)

◆ AILIA_SPEECH_USER_API_AILIA_UPDATE

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_UPDATE) (struct AILIANetwork *)

◆ AILIA_SPEECH_USER_API_INTERMEDIATE_CALLBACK

typedef int(AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_INTERMEDIATE_CALLBACK) (void *handle, const char *text)

推論の途中の状況を通知します。

引数
handleailiaSpeechSetIntermediateCallbackに指定したhandle
text推論の途中のテキスト
戻り値
0を返すと継続、0以外を返すと推論を中断します。

◆ AILIASpeechApiCallback

◆ AILIASpeechText

関数詳解

◆ AILIA_SPEECH_USER_API_AILIA_GET_ERROR_DETAIL()

const typedef char* AILIA_SPEECH_USER_API* AILIA_SPEECH_USER_API_AILIA_GET_ERROR_DETAIL ( struct AILIANetwork *  )

◆ ailiaSpeechBuffered()

int AILIA_API ailiaSpeechBuffered ( struct AILIASpeech *  net,
unsigned int *  buffered 
)

音声認識を行うために十分なデータが存在するかどうかを判定します。

引数
netネットワークオブジェクトポインタ
buffered存在フラグ(1で存在、0で存在しない)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechComplete()

int AILIA_API ailiaSpeechComplete ( struct AILIASpeech *  net,
unsigned int *  complete 
)

全てのデータの処理が完了したかどうかを判定します。

引数
netネットワークオブジェクトポインタ
complete完了フラグ(1で完了、0で完了していない)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechCreate()

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_*)
taskAILIA_SPEECH_TASK_*
flagAILIA_SPEECH_FLAG_*の論理和
api_callbackailiaのAPIへのコールバック
versionAILIA_SPEECH_API_CALLBACK_VERSION
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

ネットワークオブジェクトを作成します。

◆ ailiaSpeechDestroy()

void AILIA_API ailiaSpeechDestroy ( struct AILIASpeech *  net)

ネットワークオブジェクトを破棄します。

引数
netネットワークオブジェクトポインタ

◆ ailiaSpeechFinalizeInputData()

int AILIA_API ailiaSpeechFinalizeInputData ( struct AILIASpeech *  net)

音声のキューへの投入を終了します。

引数
netネットワークオブジェクトポインタ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

音声ファイルの末尾であることを通知することで、30秒分のデータが存在しなくてもailiaSpeechBufferedが1を返すようになります。 ailiaSpeechFinalizeInputDataを実行後、ailiaSpeechPushInputDataの実行前に、ailiaSpeechResetTranscribeStateを呼び出す必要があります。

◆ ailiaSpeechGetErrorDetail()

const char* AILIA_API ailiaSpeechGetErrorDetail ( struct AILIASpeech *  net)

エラーの詳細を返します

引数
netネットワークオブジェクトポインタ
戻り値
エラー詳細

返値は解放する必要はありません。 文字列の有効期間は次にailiaSpeechのAPIを呼ぶまでです。 モデルが暗号化されている場合は空文字を返します。

◆ ailiaSpeechGetText()

int AILIA_API ailiaSpeechGetText ( struct AILIASpeech *  net,
AILIASpeechText text,
unsigned int  version,
unsigned int  idx 
)

認識したテキストを取得します。

引数
netネットワークオブジェクトポインタ
textテキスト
versionAILIA_SPEECH_TEXT_VERSION
idxテキストのインデックス
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

返値は解放する必要はありません。 文字列の有効期間は次にailiaSpeechのAPIを呼ぶまでです。

◆ ailiaSpeechGetTextCount()

int AILIA_API ailiaSpeechGetTextCount ( struct AILIASpeech *  net,
unsigned int *  count 
)

認識したテキストの数を取得します。

引数
netネットワークオブジェクトポインタ
countテキストの数
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechOpenDictionaryFileA()

int AILIA_API ailiaSpeechOpenDictionaryFileA ( struct AILIASpeech *  net,
const char *  dictionary_path,
int  dictionary_type 
)

誤り訂正辞書を指定します。(MBSC)

引数
netネットワークオブジェクトポインタ
dictionary_path辞書ファイルのパス名(MBSC)
dictionary_typeAILIA_SPEECH_DICTIONARY_TYPE_*
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechOpenDictionaryFileW()

int AILIA_API ailiaSpeechOpenDictionaryFileW ( struct AILIASpeech *  net,
const wchar_t *  dictionary_path,
int  dictionary_type 
)

誤り訂正辞書を指定します。(UTF16)

引数
netネットワークオブジェクトポインタ
dictionary_path辞書ファイルのパス名(UTF16)
dictionary_typeAILIA_SPEECH_DICTIONARY_TYPE_*
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechOpenModelFileA()

int AILIA_API ailiaSpeechOpenModelFileA ( struct AILIASpeech *  net,
const char *  encoder_path,
const char *  decoder_path,
int  model_type 
)

モデルを指定します。(MBSC)

引数
netネットワークオブジェクトポインタ
encoder_pathonnxファイルのパス名(MBSC)
decoder_pathonnxファイルのパス名(MBSC)
model_typeAILIA_SPEECH_MODEL_TYPE_*
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechOpenModelFileW()

int AILIA_API ailiaSpeechOpenModelFileW ( struct AILIASpeech *  net,
const wchar_t *  encoder_path,
const wchar_t *  decoder_path,
int  model_type 
)

モデルを指定します。(UTF16)

引数
netネットワークオブジェクトポインタ
encoder_pathonnxファイルのパス名(UTF16)
decoder_pathonnxファイルのパス名(UTF16)
model_typeAILIA_SPEECH_MODEL_TYPE_*
taskAILIA_SPEECH_TASK_*
flagAILIA_SPEECH_FLAG_*の論理和
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechOpenPostProcessFileA()

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_pathonnxファイルのパス名(MBSC)
decoder_pathonnxファイルのパス名(MBSC)
source_pathTokenizerのmodelファイルのパス名(MBSC)
target_pathTokenizerのmodelファイルのパス名(MBSC)
prefixT5のprefix (UTF8)、FuguMTの場合はNULL
post_process_typeAILIA_SPEECH_POST_PROCESS_TYPE_*
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechOpenPostProcessFileW()

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_pathonnxファイルのパス名(UTF16)
decoder_pathonnxファイルのパス名(UTF16)
source_pathTokenizerのmodelファイルのパス名(UTF16)
target_pathTokenizerのmodelファイルのパス名(UTF16)
prefixT5のprefix (UTF8)、FuguMTの場合はNULL
post_process_typeAILIA_SPEECH_POST_PROCESS_TYPE_*
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechOpenVadFileA()

int AILIA_API ailiaSpeechOpenVadFileA ( struct AILIASpeech *  net,
const char *  vad_path,
int  vad_type 
)

無音検知に適用するVADモデルを指定します。(MBSC)

引数
netネットワークオブジェクトポインタ
vad_pathonnxファイルのパス名(MBSC)
vad_typeAILIA_SPEECH_VAD_TYPE_*
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechOpenVadFileW()

int AILIA_API ailiaSpeechOpenVadFileW ( struct AILIASpeech *  net,
const wchar_t *  vad_path,
int  vad_type 
)

無音検知に適用するVADモデルを指定します。(UTF16)

引数
netネットワークオブジェクトポインタ
vad_pathonnxファイルのパス名(UTF16)
vad_typeAILIA_SPEECH_VAD_TYPE_*
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechPostProcess()

int AILIA_API ailiaSpeechPostProcess ( struct AILIASpeech *  net)

後処理を行います。

引数
netネットワークオブジェクトポインタ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

認識した結果はailiaSpeechGetText APIで取得します。

◆ ailiaSpeechPushInputData()

int AILIA_API ailiaSpeechPushInputData ( struct AILIASpeech *  net,
const float *  src,
unsigned int  channels,
unsigned int  samples,
unsigned int  sampling_rate 
)

音声をキューに投入します。

引数
netネットワークオブジェクトポインタ
srcPCMデータ(チャンネルインタリーブ、ステレオの場合はLRLR順、PCMは-1.0〜1.0のレンジ)
channelsチャンネル数
samplesチャンネルあたりのサンプル数
sampling_rateサンプリングレート(Hz)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaSpeechResetTranscribeState()

int AILIA_API ailiaSpeechResetTranscribeState ( struct AILIASpeech *  net)

ネットワークオブジェクトの内部状態を初期化します。

引数
netネットワークオブジェクトポインタ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

このAPIを呼び出すことで、前回のデコード結果などの内部状態を初期化します。 このAPIを呼び出した後、モデルを再び開く必要はありません。 ailiaSpeechOpenModelFile、ailiaSpeechSetIntermediateCallback、ailiaSpeechSetLanguage、ailiaSpeechSetSilentThreshold、ailiaSpeechSetPromptのステートは保持されます。

◆ ailiaSpeechSetConstraint()

int AILIA_API ailiaSpeechSetConstraint ( struct AILIASpeech *  net,
const char *  constraint,
int  type 
)

制約の設定を行います。

引数
netネットワークオブジェクトポインタ
constraint制約となるテキスト(UTF8)
type制約モード (AILIA_SPEECH_CONSTRAINT_*)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す

◆ ailiaSpeechSetIntermediateCallback()

int AILIA_API ailiaSpeechSetIntermediateCallback ( struct AILIASpeech *  net,
AILIA_SPEECH_USER_API_INTERMEDIATE_CALLBACK  callback,
void *  handle 
)

認識の途中結果を取得するコールバックを設定します。

引数
netネットワークオブジェクトポインタ
callbackコールバック
handleコールバックに渡されるハンドル
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

返値は解放する必要はありません。 文字列の有効期間は次にailiaSpeechのAPIを呼ぶまでです。

◆ ailiaSpeechSetLanguage()

int AILIA_API ailiaSpeechSetLanguage ( struct AILIASpeech *  net,
const char *  language 
)

言語設定を行います。

引数
netネットワークオブジェクトポインタ
language言語コード(en, jaなど)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す

languageに"auto"を指定すると自動選択を行います。

◆ ailiaSpeechSetPrompt()

int AILIA_API ailiaSpeechSetPrompt ( struct AILIASpeech *  net,
const char *  prompt 
)

プロンプトの設定を行います。

引数
netネットワークオブジェクトポインタ
promptpromptとなるテキスト(UTF8)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す

◆ ailiaSpeechSetSilentThreshold()

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無音区間の時間(秒数)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す

有音区間が一定以上存在する場合に無音区間が一定時間以上続いた場合に30secを待たずに滞留しているバッファを処理します。

◆ ailiaSpeechSetText()

int AILIA_API ailiaSpeechSetText ( struct AILIASpeech *  net,
const AILIASpeechText text,
unsigned int  version,
unsigned int  idx 
)

ポストプロセス対象のテキストを設定します。

引数
netネットワークオブジェクトポインタ
textテキスト
versionAILIA_SPEECH_TEXT_VERSION
idxテキストのインデックス
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

音声認識を使用せず、ポストプロセスのみを使用する場合に使用します。 文字列は内部バッファにコピーされるため、呼び出し後に解放することができます。 idxがailiaSpeechGetTextCountよりも大きい場合、自動的に内部バッファが拡張されます。

◆ ailiaSpeechTranscribe()

int AILIA_API ailiaSpeechTranscribe ( struct AILIASpeech *  net)

音声認識を行います。

引数
netネットワークオブジェクトポインタ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

認識した結果はailiaSpeechGetText APIで取得します。