[詳解]
9 #ifndef INCLUDED_AILIA_VOICE
10 #define INCLUDED_AILIA_VOICE
15 #include "ailia_audio.h"
19 #if defined(_WIN64) || defined(_M_X64) || defined(__amd64__) || defined(__x86_64__) || defined(__APPLE__) || \
20 defined(__ANDROID__) || defined(ANDROID) || defined(__linux__) || defined(NN_NINTENDO_SDK)
23 #define AILIA_API __stdcall
43 #define AILIA_VOICE_DICTIONARY_TYPE_OPEN_JTALK (0)
54 #define AILIA_VOICE_DICTIONARY_TYPE_G2P_EN (1)
69 #define AILIA_VOICE_MODEL_TYPE_TACOTRON2 (0)
80 #define AILIA_VOICE_MODEL_TYPE_GPT_SOVITS (1)
91 #define AILIA_VOICE_CLEANER_TYPE_BASIC (0)
102 #define AILIA_VOICE_CLEANER_TYPE_ENGLISH (1)
117 #define AILIA_VOICE_FLAG_NONE (0)
132 #define AILIA_VOICE_G2P_TYPE_GPT_SOVITS_EN (1)
143 #define AILIA_VOICE_G2P_TYPE_GPT_SOVITS_JA (2)
145 #define AILIA_VOICE_TEXT_POST_PROCESS_APPEND_PUNCTUATION (2) // 互換性用
153 #if defined(_WIN32) && !defined(_WIN64)
154 #define AILIA_VOICE_USER_API __stdcall
156 #define AILIA_VOICE_USER_API
191 #define AILIA_VOICE_API_CALLBACK_VERSION (2)
369 int AILIA_API ailiaVoiceOpenModelFileA(
struct AILIAVoice* net,
const char* encoder,
const char* decoder1,
const char* decoder2,
const char* wave,
const char* ssl,
int model_type,
int cleaner_type);
398 int AILIA_API ailiaVoiceOpenModelFileW(
struct AILIAVoice* net,
const wchar_t* encoder,
const wchar_t* decoder1,
const wchar_t* decoder2,
const wchar_t* wave,
const wchar_t* ssl,
int model_type,
int cleaner_type);
508 int AILIA_API ailiaVoiceSetReference(
struct AILIAVoice* net,
float* buf,
unsigned int buf_size,
unsigned int channels,
unsigned int sampling_rate,
const char *features);
608 #define ailiaVoiceSetUserDictionaryFile ailiaVoiceSetUserDictionaryFileW
609 #define ailiaVoiceOpenDictionaryFile ailiaVoiceOpenDictionaryFileW
610 #define ailiaVoiceOpenModelFile ailiaVoiceOpenModelFileW
612 #define ailiaVoiceSetUserDictionaryFile ailiaVoiceSetUserDictionaryFileA
613 #define ailiaVoiceOpenDictionaryFile ailiaVoiceOpenDictionaryFileW
614 #define ailiaVoiceOpenModelFile ailiaVoiceOpenModelFileW
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_MEM)(struct AILIANetwork *, const void *, unsigned int)
Definition: ailia_voice.h:167
Definition: ailia_voice.h:194
const typedef char *AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_GET_ERROR_DETAIL(struct AILIANetwork *)
AILIA_VOICE_USER_API_AILIA_AUDIO_RESAMPLE ailiaAudioResample
Definition: ailia_voice.h:195
AILIA_VOICE_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN ailiaAudioGetResampleLen
Definition: ailia_voice.h:196
AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX ailiaGetBlobIndexByOutputIndex
Definition: ailia_voice.h:205
const char *AILIA_API ailiaVoiceGetErrorDetail(struct AILIAVoice *net)
エラーの詳細を返します
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_SHAPE)(struct AILIANetwork *, const AILIAShape *, unsigned int, unsigned int)
Definition: ailia_voice.h:175
void AILIA_API ailiaVoiceDestroy(struct AILIAVoice *net)
ボイスオブジェクトを破棄します。
int AILIA_API ailiaVoiceGetFeatures(struct AILIAVoice *net, char *features, unsigned int len)
フィーチャーを取得します。
int AILIA_API ailiaVoiceOpenDictionaryFileA(struct AILIAVoice *net, const char *dictionary_path, int dictionary_type)
辞書を指定します。(MBSC)
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_UPDATE)(struct AILIANetwork *)
Definition: ailia_voice.h:170
int AILIA_API ailiaVoiceSetUserDictionaryFileA(struct AILIAVoice *net, const char *dictionary_path, int dictionary_type)
ユーザ辞書を指定します。(MBSC)
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_W)(struct AILIANetwork *, const wchar_t *)
Definition: ailia_voice.h:166
int AILIA_API ailiaVoiceGetFeatureLength(struct AILIAVoice *net, unsigned int *len)
フィーチャーの長さを取得します。(NULL文字含む)
int AILIA_API ailiaVoiceGetWaveInfo(struct AILIAVoice *net, unsigned int *samples, unsigned int *channels, unsigned int *sampling_rate)
波形の情報を取得します。
#define AILIA_VOICE_USER_API
Definition: ailia_voice.h:156
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_AUDIO_RESAMPLE)(void *, const void *, int, int, int, int)
Definition: ailia_voice.h:160
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX)(struct AILIANetwork *, unsigned int *, unsigned int)
Definition: ailia_voice.h:171
int AILIA_API ailiaVoiceSetUserDictionaryFileW(struct AILIAVoice *net, const wchar_t *dictionary_path, int dictionary_type)
ユーザ辞書を指定します。(UTF16)
int AILIA_API ailiaVoiceOpenModelFileW(struct AILIAVoice *net, const wchar_t *encoder, const wchar_t *decoder1, const wchar_t *decoder2, const wchar_t *wave, const wchar_t *ssl, int model_type, int cleaner_type)
モデルを指定します。(UTF16)
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_GET_BLOB_DATA)(struct AILIANetwork *, void *, unsigned int, unsigned int)
Definition: ailia_voice.h:173
int AILIA_API ailiaVoiceOpenDictionaryFileW(struct AILIAVoice *net, const wchar_t *dictionary_path, int dictionary_type)
辞書を指定します。(UTF16)
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX)(struct AILIANetwork *, unsigned int *, unsigned int)
Definition: ailia_voice.h:172
int AILIA_API ailiaVoiceGraphemeToPhoneme(struct AILIAVoice *net, const char *utf8, int g2p_type)
G2Pを行います。
int AILIA_API ailiaVoiceInference(struct AILIAVoice *net, const char *utf8)
推論を行います。
AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX ailiaGetBlobIndexByInputIndex
Definition: ailia_voice.h:204
AILIA_VOICE_USER_API_AILIA_UPDATE ailiaUpdate
Definition: ailia_voice.h:203
AILIA_VOICE_USER_API_AILIA_GET_INPUT_BLOB_COUNT ailiaGetInputBlobCount
Definition: ailia_voice.h:210
#define AILIA_API
Definition: ailia_voice.h:23
AILIA_VOICE_USER_API_AILIA_COPY_BLOB_DATA ailiaCopyBlobData
Definition: ailia_voice.h:213
AILIA_VOICE_USER_API_AILIA_GET_ERROR_DETAIL ailiaGetErrorDetail
Definition: ailia_voice.h:212
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_GET_OUTPUT_BLOB_COUNT)(struct AILIANetwork *, unsigned int *)
Definition: ailia_voice.h:178
AILIA_VOICE_USER_API_AILIA_GET_OUTPUT_BLOB_COUNT ailiaGetOutputBlobCount
Definition: ailia_voice.h:211
int AILIA_API ailiaVoiceOpenModelFileA(struct AILIAVoice *net, const char *encoder, const char *decoder1, const char *decoder2, const char *wave, const char *ssl, int model_type, int cleaner_type)
モデルを指定します。(MBSC)
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_COPY_BLOB_DATA)(struct AILIANetwork *dst_net, unsigned int dst_blob_idx, struct AILIANetwork *src_net, unsigned int src_blob_idx)
Definition: ailia_voice.h:180
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_SET_MEMORY_MODE)(struct AILIANetwork *, unsigned int)
Definition: ailia_voice.h:168
AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_SHAPE ailiaSetInputBlobShape
Definition: ailia_voice.h:208
int AILIA_API ailiaVoiceExtractFullContext(struct AILIAVoice *net, const char *utf8)
ExtractFullContextを行います。
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_A)(struct AILIANetwork *, const char *)
Definition: ailia_voice.h:165
AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_W ailiaOpenWeightFileW
Definition: ailia_voice.h:199
AILIA_VOICE_USER_API_AILIA_SET_MEMORY_MODE ailiaSetMemoryMode
Definition: ailia_voice.h:201
AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_MEM ailiaOpenWeightMem
Definition: ailia_voice.h:200
int AILIA_API ailiaVoiceGetWave(struct AILIAVoice *net, float *buf, unsigned int buf_size)
波形を取得します。
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_DATA)(struct AILIANetwork *, const void *, unsigned int, unsigned int)
Definition: ailia_voice.h:174
int AILIA_API ailiaVoiceCreate(struct AILIAVoice **net, int env_id, int num_thread, int memory_mode, int flags, AILIAVoiceApiCallback callback, int version)
ボイスオブジェクトを作成します。
AILIA_VOICE_USER_API_AILIA_CREATE ailiaCreate
Definition: ailia_voice.h:197
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_GET_INPUT_BLOB_COUNT)(struct AILIANetwork *, unsigned int *)
Definition: ailia_voice.h:177
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_GET_BLOB_SHAPE)(struct AILIANetwork *, AILIAShape *, unsigned int, unsigned int)
Definition: ailia_voice.h:176
int AILIA_API ailiaVoiceSetReference(struct AILIAVoice *net, float *buf, unsigned int buf_size, unsigned int channels, unsigned int sampling_rate, const char *features)
0ショット音声合成のリファレンスとなる波形とテキストを設定します。
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN)(int *, int, int, int)
Definition: ailia_voice.h:161
AILIA_VOICE_USER_API_AILIA_DESTROY ailiaDestroy
Definition: ailia_voice.h:202
AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_DATA ailiaSetInputBlobData
Definition: ailia_voice.h:207
AILIA_VOICE_USER_API_AILIA_GET_BLOB_DATA ailiaGetBlobData
Definition: ailia_voice.h:206
struct _AILIAVoiceApiCallback AILIAVoiceApiCallback
int(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_CREATE)(struct AILIANetwork **, int, int)
Definition: ailia_voice.h:164
void(AILIA_VOICE_USER_API * AILIA_VOICE_USER_API_AILIA_DESTROY)(struct AILIANetwork *)
Definition: ailia_voice.h:169
AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_A ailiaOpenWeightFileA
Definition: ailia_voice.h:198
AILIA_VOICE_USER_API_AILIA_GET_BLOB_SHAPE ailiaGetBlobShape
Definition: ailia_voice.h:209