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

ailia Voice ライブラリ [詳解]

#include "ailia.h"
#include "ailia_audio.h"
ailia_voice.h の依存先関係図:

[ソースコード]

クラス

struct  _AILIAVoiceApiCallback
 

マクロ定義

#define AILIA_API   __stdcall
 
#define AILIA_VOICE_DICTIONARY_TYPE_OPEN_JTALK   (0)
 OpenJtalk形式 [詳解]
 
#define AILIA_VOICE_DICTIONARY_TYPE_G2P_EN   (1)
 G2P_EN形式 [詳解]
 
#define AILIA_VOICE_DICTIONARY_TYPE_G2P_CN   (2)
 G2P_CN形式 [詳解]
 
#define AILIA_VOICE_DICTIONARY_TYPE_G2PW   (3)
 G2PW形式(中国語多音字対応) [詳解]
 
#define AILIA_VOICE_MODEL_TYPE_TACOTRON2   (0)
 Tacoreon2形式 [詳解]
 
#define AILIA_VOICE_MODEL_TYPE_GPT_SOVITS   (1)
 GPT-SoVITS形式 [詳解]
 
#define AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V2   (2)
 GPT-SoVITS V2形式 [詳解]
 
#define AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V3   (3)
 GPT-SoVITS v3形式 [詳解]
 
#define AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V2_PRO   (4)
 GPT-SoVITS v2-pro形式 [詳解]
 
#define AILIA_VOICE_CLEANER_TYPE_BASIC   (0)
 BasicCleaner [詳解]
 
#define AILIA_VOICE_CLEANER_TYPE_ENGLISH   (1)
 EnglishCleaner [詳解]
 
#define AILIA_VOICE_FLAG_NONE   (0)
 フラグを設定しません [詳解]
 
#define AILIA_VOICE_G2P_TYPE_GPT_SOVITS_EN   (1)
 GPT_SOVITSの英語向けの処理 [詳解]
 
#define AILIA_VOICE_G2P_TYPE_GPT_SOVITS_JA   (2)
 GPT_SOVITSの日本語向けの処理 [詳解]
 
#define AILIA_VOICE_G2P_TYPE_GPT_SOVITS_ZH   (3)
 GPT_SOVITSの中国語向けの処理 [詳解]
 
#define AILIA_VOICE_TEXT_POST_PROCESS_APPEND_PUNCTUATION   (2)
 
#define AILIA_VOICE_USER_API
 
#define AILIA_VOICE_API_CALLBACK_VERSION   (3)
 構造体バージョン [詳解]
 
#define ailiaVoiceSetUserDictionaryFile   ailiaVoiceSetUserDictionaryFileA
 
#define ailiaVoiceOpenDictionaryFile   ailiaVoiceOpenDictionaryFileA
 
#define ailiaVoiceOpenModelFile   ailiaVoiceOpenModelFileA
 
#define ailiaVoiceOpenTacotron2ModelFile   ailiaVoiceOpenTacotron2ModelFileA
 
#define ailiaVoiceOpenGPTSoVITSV1ModelFile   ailiaVoiceOpenGPTSoVITSV1ModelFileA
 
#define ailiaVoiceOpenGPTSoVITSV2ModelFile   ailiaVoiceOpenGPTSoVITSV2ModelFileA
 
#define ailiaVoiceOpenGPTSoVITSV3ModelFile   ailiaVoiceOpenGPTSoVITSV3ModelFileA
 
#define ailiaVoiceOpenGPTSoVITSV2ProModelFile   ailiaVoiceOpenGPTSoVITSV2ProModelFileA
 

型定義

typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_AUDIO_RESAMPLE) (void *, const void *, int, int, int, int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN) (int *, int, int, int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_AUDIO_GET_FRAME_LEN) (int *, int, int, int, int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_AUDIO_GET_SPECTROGRAM) (void *, const void *, int, int, int, int, int, int, int, float, int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_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_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_CREATE) (struct AILIANetwork **, int, int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_A) (struct AILIANetwork *, const char *)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_W) (struct AILIANetwork *, const wchar_t *)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_MEM) (struct AILIANetwork *, const void *, unsigned int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_SET_MEMORY_MODE) (struct AILIANetwork *, unsigned int)
 
typedef void(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_DESTROY) (struct AILIANetwork *)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_UPDATE) (struct AILIANetwork *)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_GET_BLOB_DATA) (struct AILIANetwork *, void *, unsigned int, unsigned int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_DATA) (struct AILIANetwork *, const void *, unsigned int, unsigned int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_SHAPE) (struct AILIANetwork *, const AILIAShape *, unsigned int, unsigned int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_GET_BLOB_SHAPE) (struct AILIANetwork *, AILIAShape *, unsigned int, unsigned int)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_GET_INPUT_BLOB_COUNT) (struct AILIANetwork *, unsigned int *)
 
typedef int(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_GET_OUTPUT_BLOB_COUNT) (struct AILIANetwork *, unsigned int *)
 
typedef const char *(AILIA_VOICE_USER_APIAILIA_VOICE_USER_API_AILIA_GET_ERROR_DETAIL) (struct AILIANetwork *)
 
typedef int(AILIA_VOICE_USER_APIAILIA_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)
 
typedef struct _AILIAVoiceApiCallback AILIAVoiceApiCallback
 

関数

int AILIA_API ailiaVoiceCreate (struct AILIAVoice **net, int env_id, int num_thread, int memory_mode, int flags, AILIAVoiceApiCallback callback, int version)
 ボイスオブジェクトを作成します。 [詳解]
 
int AILIA_API ailiaVoiceSetUserDictionaryFileA (struct AILIAVoice *net, const char *dictionary_path, int dictionary_type)
 ユーザ辞書を指定します。(MBSC) [詳解]
 
int AILIA_API ailiaVoiceSetUserDictionaryFileW (struct AILIAVoice *net, const wchar_t *dictionary_path, int dictionary_type)
 ユーザ辞書を指定します。(UTF16) [詳解]
 
int AILIA_API ailiaVoiceOpenDictionaryFileA (struct AILIAVoice *net, const char *dictionary_path, int dictionary_type)
 辞書を指定します。(MBSC) [詳解]
 
int AILIA_API ailiaVoiceOpenDictionaryFileW (struct AILIAVoice *net, const wchar_t *dictionary_path, int dictionary_type)
 辞書を指定します。(UTF16) [詳解]
 
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_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_API ailiaVoiceOpenTacotron2ModelFileA (struct AILIAVoice *net, const char *encoder, const char *decoder1, const char *decoder2, const char *wave, int cleaner_type)
 Tacotron2向けのモデルを指定します。(MBSC) [詳解]
 
int AILIA_API ailiaVoiceOpenTacotron2ModelFileW (struct AILIAVoice *net, const wchar_t *encoder, const wchar_t *decoder1, const wchar_t *decoder2, const wchar_t *wave, int cleaner_type)
 Tacotron2向けのモデルを指定します。(UTF16) [詳解]
 
int AILIA_API ailiaVoiceOpenGPTSoVITSV1ModelFileA (struct AILIAVoice *net, const char *encoder, const char *decoder1, const char *decoder2, const char *wave, const char *ssl)
 GPT-SoVITS V1向けのモデルを指定します。(MBSC) [詳解]
 
int AILIA_API ailiaVoiceOpenGPTSoVITSV1ModelFileW (struct AILIAVoice *net, const wchar_t *encoder, const wchar_t *decoder1, const wchar_t *decoder2, const wchar_t *wave, const wchar_t *ssl)
 GPT-SoVITS V1向けのモデルを指定します。(UTF16) [詳解]
 
int AILIA_API ailiaVoiceOpenGPTSoVITSV2ModelFileA (struct AILIAVoice *net, const char *encoder, const char *decoder1, const char *decoder2, const char *wave, const char *ssl, const char *chinese_bert, const char *vocab)
 GPT-SoVITS V2向けのモデルを指定します。(MBSC) [詳解]
 
int AILIA_API ailiaVoiceOpenGPTSoVITSV2ModelFileW (struct AILIAVoice *net, const wchar_t *encoder, const wchar_t *decoder1, const wchar_t *decoder2, const wchar_t *wave, const wchar_t *ssl, const wchar_t *chinese_bert, const wchar_t *vocab)
 GPT-SoVITS V2向けのモデルを指定します。(UTF16) [詳解]
 
int AILIA_API ailiaVoiceOpenGPTSoVITSV3ModelFileA (struct AILIAVoice *net, const char *encoder, const char *decoder1, const char *decoder2, const char *ssl, const char *vq, const char *cfm, const char *bigvgan, const char *chinese_bert, const char *vocab)
 GPT-SoVITS V3向けのモデルを指定します。(MBSC) [詳解]
 
int AILIA_API ailiaVoiceOpenGPTSoVITSV3ModelFileW (struct AILIAVoice *net, const wchar_t *encoder, const wchar_t *decoder1, const wchar_t *decoder2, const wchar_t *ssl, const wchar_t *vq, const wchar_t *cfm, const wchar_t *bigvgan, const wchar_t *chinese_bert, const wchar_t *vocab)
 GPT-SoVITS V3向けのモデルを指定します。(UTF16) [詳解]
 
int AILIA_API ailiaVoiceOpenGPTSoVITSV2ProModelFileA (struct AILIAVoice *net, const char *encoder, const char *decoder1, const char *decoder2, const char *ssl, const char *vits, const char *sv, const char *chinese_bert, const char *vocab)
 GPT-SoVITS V2-Pro向けのモデルを指定します。(MBSC) [詳解]
 
int AILIA_API ailiaVoiceOpenGPTSoVITSV2ProModelFileW (struct AILIAVoice *net, const wchar_t *encoder, const wchar_t *decoder1, const wchar_t *decoder2, const wchar_t *ssl, const wchar_t *vits, const wchar_t *sv, const wchar_t *chinese_bert, const wchar_t *vocab)
 GPT-SoVITS V2-Pro向けのモデルを指定します。(UTF16) [詳解]
 
int AILIA_API ailiaVoiceGraphemeToPhoneme (struct AILIAVoice *net, const char *utf8, int g2p_type)
 G2Pを行います。 [詳解]
 
int AILIA_API ailiaVoiceExtractFullContext (struct AILIAVoice *net, const char *utf8)
 ExtractFullContextを行います。 [詳解]
 
int AILIA_API ailiaVoiceGetFeatureLength (struct AILIAVoice *net, unsigned int *len)
 フィーチャーの長さを取得します。(NULL文字含む) [詳解]
 
int AILIA_API ailiaVoiceGetFeatures (struct AILIAVoice *net, char *features, unsigned int len)
 フィーチャーを取得します。 [詳解]
 
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_API ailiaVoiceSetSampleSteps (struct AILIAVoice *net, int steps)
 GPT-SoVITS v3のCFMサンプリングステップ数を設定します。 [詳解]
 
int AILIA_API ailiaVoiceSetSpeed (struct AILIAVoice *net, float speed)
 音声合成の速度を設定します。 [詳解]
 
int AILIA_API ailiaVoiceSetModelType (struct AILIAVoice *net, int model_type)
 G2Pで使用するモデルタイプを設定します。 [詳解]
 
int AILIA_API ailiaVoiceInference (struct AILIAVoice *net, const char *utf8)
 推論を行います。 [詳解]
 
int AILIA_API ailiaVoiceGetWaveInfo (struct AILIAVoice *net, unsigned int *samples, unsigned int *channels, unsigned int *sampling_rate)
 波形の情報を取得します。 [詳解]
 
int AILIA_API ailiaVoiceGetWave (struct AILIAVoice *net, float *buf, unsigned int buf_size)
 波形を取得します。 [詳解]
 
void AILIA_API ailiaVoiceDestroy (struct AILIAVoice *net)
 ボイスオブジェクトを破棄します。 [詳解]
 
const char *AILIA_API ailiaVoiceGetErrorDetail (struct AILIAVoice *net)
 エラーの詳細を返します [詳解]
 

詳解

ailia Voice ライブラリ

日付
2024/06/27

マクロ定義詳解

◆ AILIA_API

#define AILIA_API   __stdcall

◆ AILIA_VOICE_API_CALLBACK_VERSION

#define AILIA_VOICE_API_CALLBACK_VERSION   (3)

構造体バージョン

◆ AILIA_VOICE_CLEANER_TYPE_BASIC

#define AILIA_VOICE_CLEANER_TYPE_BASIC   (0)

BasicCleaner

◆ AILIA_VOICE_CLEANER_TYPE_ENGLISH

#define AILIA_VOICE_CLEANER_TYPE_ENGLISH   (1)

EnglishCleaner

◆ AILIA_VOICE_DICTIONARY_TYPE_G2P_CN

#define AILIA_VOICE_DICTIONARY_TYPE_G2P_CN   (2)

G2P_CN形式

◆ AILIA_VOICE_DICTIONARY_TYPE_G2P_EN

#define AILIA_VOICE_DICTIONARY_TYPE_G2P_EN   (1)

G2P_EN形式

◆ AILIA_VOICE_DICTIONARY_TYPE_G2PW

#define AILIA_VOICE_DICTIONARY_TYPE_G2PW   (3)

G2PW形式(中国語多音字対応)

◆ AILIA_VOICE_DICTIONARY_TYPE_OPEN_JTALK

#define AILIA_VOICE_DICTIONARY_TYPE_OPEN_JTALK   (0)

OpenJtalk形式

◆ AILIA_VOICE_FLAG_NONE

#define AILIA_VOICE_FLAG_NONE   (0)

フラグを設定しません

◆ AILIA_VOICE_G2P_TYPE_GPT_SOVITS_EN

#define AILIA_VOICE_G2P_TYPE_GPT_SOVITS_EN   (1)

GPT_SOVITSの英語向けの処理

◆ AILIA_VOICE_G2P_TYPE_GPT_SOVITS_JA

#define AILIA_VOICE_G2P_TYPE_GPT_SOVITS_JA   (2)

GPT_SOVITSの日本語向けの処理

◆ AILIA_VOICE_G2P_TYPE_GPT_SOVITS_ZH

#define AILIA_VOICE_G2P_TYPE_GPT_SOVITS_ZH   (3)

GPT_SOVITSの中国語向けの処理

◆ AILIA_VOICE_MODEL_TYPE_GPT_SOVITS

#define AILIA_VOICE_MODEL_TYPE_GPT_SOVITS   (1)

GPT-SoVITS形式

◆ AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V2

#define AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V2   (2)

GPT-SoVITS V2形式

◆ AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V2_PRO

#define AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V2_PRO   (4)

GPT-SoVITS v2-pro形式

◆ AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V3

#define AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V3   (3)

GPT-SoVITS v3形式

◆ AILIA_VOICE_MODEL_TYPE_TACOTRON2

#define AILIA_VOICE_MODEL_TYPE_TACOTRON2   (0)

Tacoreon2形式

◆ AILIA_VOICE_TEXT_POST_PROCESS_APPEND_PUNCTUATION

#define AILIA_VOICE_TEXT_POST_PROCESS_APPEND_PUNCTUATION   (2)

◆ AILIA_VOICE_USER_API

#define AILIA_VOICE_USER_API

◆ ailiaVoiceOpenDictionaryFile

#define ailiaVoiceOpenDictionaryFile   ailiaVoiceOpenDictionaryFileA

◆ ailiaVoiceOpenGPTSoVITSV1ModelFile

#define ailiaVoiceOpenGPTSoVITSV1ModelFile   ailiaVoiceOpenGPTSoVITSV1ModelFileA

◆ ailiaVoiceOpenGPTSoVITSV2ModelFile

#define ailiaVoiceOpenGPTSoVITSV2ModelFile   ailiaVoiceOpenGPTSoVITSV2ModelFileA

◆ ailiaVoiceOpenGPTSoVITSV2ProModelFile

#define ailiaVoiceOpenGPTSoVITSV2ProModelFile   ailiaVoiceOpenGPTSoVITSV2ProModelFileA

◆ ailiaVoiceOpenGPTSoVITSV3ModelFile

#define ailiaVoiceOpenGPTSoVITSV3ModelFile   ailiaVoiceOpenGPTSoVITSV3ModelFileA

◆ ailiaVoiceOpenModelFile

#define ailiaVoiceOpenModelFile   ailiaVoiceOpenModelFileA

◆ ailiaVoiceOpenTacotron2ModelFile

#define ailiaVoiceOpenTacotron2ModelFile   ailiaVoiceOpenTacotron2ModelFileA

◆ ailiaVoiceSetUserDictionaryFile

#define ailiaVoiceSetUserDictionaryFile   ailiaVoiceSetUserDictionaryFileA

型定義詳解

◆ AILIA_VOICE_USER_API_AILIA_AUDIO_GET_FRAME_LEN

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_AUDIO_GET_FRAME_LEN) (int *, int, int, int, int)

◆ AILIA_VOICE_USER_API_AILIA_AUDIO_GET_MEL_SPECTROGRAM

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_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_VOICE_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN) (int *, int, int, int)

◆ AILIA_VOICE_USER_API_AILIA_AUDIO_GET_SPECTROGRAM

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_AUDIO_GET_SPECTROGRAM) (void *, const void *, int, int, int, int, int, int, int, float, int)

◆ AILIA_VOICE_USER_API_AILIA_AUDIO_RESAMPLE

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_AUDIO_RESAMPLE) (void *, const void *, int, int, int, int)

◆ AILIA_VOICE_USER_API_AILIA_COPY_BLOB_DATA

typedef 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)

◆ AILIA_VOICE_USER_API_AILIA_CREATE

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_CREATE) (struct AILIANetwork **, int, int)

◆ AILIA_VOICE_USER_API_AILIA_DESTROY

typedef void(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_DESTROY) (struct AILIANetwork *)

◆ AILIA_VOICE_USER_API_AILIA_GET_BLOB_DATA

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_BLOB_DATA) (struct AILIANetwork *, void *, unsigned int, unsigned int)

◆ AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int)

◆ AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int)

◆ AILIA_VOICE_USER_API_AILIA_GET_BLOB_SHAPE

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_BLOB_SHAPE) (struct AILIANetwork *, AILIAShape *, unsigned int, unsigned int)

◆ AILIA_VOICE_USER_API_AILIA_GET_ERROR_DETAIL

typedef const char*(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_ERROR_DETAIL) (struct AILIANetwork *)

◆ AILIA_VOICE_USER_API_AILIA_GET_INPUT_BLOB_COUNT

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_INPUT_BLOB_COUNT) (struct AILIANetwork *, unsigned int *)

◆ AILIA_VOICE_USER_API_AILIA_GET_OUTPUT_BLOB_COUNT

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_OUTPUT_BLOB_COUNT) (struct AILIANetwork *, unsigned int *)

◆ AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_A

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_A) (struct AILIANetwork *, const char *)

◆ AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_W

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_W) (struct AILIANetwork *, const wchar_t *)

◆ AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_MEM

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_MEM) (struct AILIANetwork *, const void *, unsigned int)

◆ AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_DATA

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_DATA) (struct AILIANetwork *, const void *, unsigned int, unsigned int)

◆ AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_SHAPE

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_SHAPE) (struct AILIANetwork *, const AILIAShape *, unsigned int, unsigned int)

◆ AILIA_VOICE_USER_API_AILIA_SET_MEMORY_MODE

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_SET_MEMORY_MODE) (struct AILIANetwork *, unsigned int)

◆ AILIA_VOICE_USER_API_AILIA_UPDATE

typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_UPDATE) (struct AILIANetwork *)

◆ AILIAVoiceApiCallback

関数詳解

◆ ailiaVoiceCreate()

int AILIA_API ailiaVoiceCreate ( struct AILIAVoice **  net,
int  env_id,
int  num_thread,
int  memory_mode,
int  flags,
AILIAVoiceApiCallback  callback,
int  version 
)

ボイスオブジェクトを作成します。

引数
netボイスオブジェクトポインタへのポインタ
env_id計算に利用する推論実行環境のID( ailiaGetEnvironment() で取得) AILIA_ENVIRONMENT_ID_AUTO にした場合は自動で選択する
num_threadスレッド数の上限( AILIA_MULTITHREAD_AUTO にした場合は自動で設定)
memory_modeメモリモード(AILIA_MEMORY_MODE_*)
flagAILIA_VOICE_FLAG_*の論理和
api_callbackailiaのAPIへのコールバック
versionAILIA_VOICE_API_CALLBACK_VERSION
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

ボイスオブジェクトを作成します。

◆ ailiaVoiceDestroy()

void AILIA_API ailiaVoiceDestroy ( struct AILIAVoice *  net)

ボイスオブジェクトを破棄します。

引数
netボイスオブジェクトポインタ

◆ ailiaVoiceExtractFullContext()

int AILIA_API ailiaVoiceExtractFullContext ( struct AILIAVoice *  net,
const char *  utf8 
)

ExtractFullContextを行います。

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

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

◆ ailiaVoiceGetErrorDetail()

const char* AILIA_API ailiaVoiceGetErrorDetail ( struct AILIAVoice *  net)

エラーの詳細を返します

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

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

◆ ailiaVoiceGetFeatureLength()

int AILIA_API ailiaVoiceGetFeatureLength ( struct AILIAVoice *  net,
unsigned int *  len 
)

フィーチャーの長さを取得します。(NULL文字含む)

引数
netボイスオブジェクトポインタ
lenフィーチャーの長さ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceGetFeatures()

int AILIA_API ailiaVoiceGetFeatures ( struct AILIAVoice *  net,
char *  features,
unsigned int  len 
)

フィーチャーを取得します。

引数
netボイスオブジェクトポインタ
featuresフィーチャー(UTF8)
lenフィーチャーの長さ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

ailiaVoiceGraphemeToPhoneme() もしくは ailiaVoiceExtractFullContext() を一度も実行していない場合は AILIA_STATUS_INVALID_STATE が返ります。

◆ ailiaVoiceGetWave()

int AILIA_API ailiaVoiceGetWave ( struct AILIAVoice *  net,
float *  buf,
unsigned int  buf_size 
)

波形を取得します。

引数
netボイスオブジェクトポインタ
bufPCM波形 (0 - 1で正規化)
buf_sizeバッファサイズ(byte単位)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

ailiaVoiceInference() を一度も実行していない場合は AILIA_STATUS_INVALID_STATE が返ります。

◆ ailiaVoiceGetWaveInfo()

int AILIA_API ailiaVoiceGetWaveInfo ( struct AILIAVoice *  net,
unsigned int *  samples,
unsigned int *  channels,
unsigned int *  sampling_rate 
)

波形の情報を取得します。

引数
netボイスオブジェクトポインタ
samplesサンプル数(チャンネル単位)
channelsチャンネル数
sampling_rateサンプリングレート
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceGraphemeToPhoneme()

int AILIA_API ailiaVoiceGraphemeToPhoneme ( struct AILIAVoice *  net,
const char *  utf8,
int  g2p_type 
)

G2Pを行います。

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

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

◆ ailiaVoiceInference()

int AILIA_API ailiaVoiceInference ( struct AILIAVoice *  net,
const char *  utf8 
)

推論を行います。

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

音声合成した結果はailiaVoiceGetWave APIで取得します。

◆ ailiaVoiceOpenDictionaryFileA()

int AILIA_API ailiaVoiceOpenDictionaryFileA ( struct AILIAVoice *  net,
const char *  dictionary_path,
int  dictionary_type 
)

辞書を指定します。(MBSC)

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

中国語を使用する場合、GPT-SoVITS V1では AILIA_VOICE_DICTIONARY_TYPE_G2P_CN のみ必要です。 GPT-SoVITS V2およびV3では AILIA_VOICE_DICTIONARY_TYPE_G2P_CNAILIA_VOICE_DICTIONARY_TYPE_G2PW の両方が必要です。 G2PWを使用する場合、先にG2P_CNを読み込んでください。

◆ ailiaVoiceOpenDictionaryFileW()

int AILIA_API ailiaVoiceOpenDictionaryFileW ( struct AILIAVoice *  net,
const wchar_t *  dictionary_path,
int  dictionary_type 
)

辞書を指定します。(UTF16)

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

中国語を使用する場合、GPT-SoVITS V1では AILIA_VOICE_DICTIONARY_TYPE_G2P_CN のみ必要です。 GPT-SoVITS V2およびV3では AILIA_VOICE_DICTIONARY_TYPE_G2P_CNAILIA_VOICE_DICTIONARY_TYPE_G2PW の両方が必要です。 G2PWを使用する場合、先にG2P_CNを読み込んでください。

◆ ailiaVoiceOpenGPTSoVITSV1ModelFileA()

int AILIA_API ailiaVoiceOpenGPTSoVITSV1ModelFileA ( struct AILIAVoice *  net,
const char *  encoder,
const char *  decoder1,
const char *  decoder2,
const char *  wave,
const char *  ssl 
)

GPT-SoVITS V1向けのモデルを指定します。(MBSC)

引数
netネットワークオブジェクトポインタ
encoderonnxファイルのパス名 (t2s_encoder.onnx) (MBSC)
decoder1onnxファイルのパス名 (t2s_fsdec.onnx) (MBSC)
decoder2onnxファイルのパス名 (t2s_sdec.onnx) (MBSC)
waveonnxファイルのパス名 (vits.onnx) (MBSC)
sslonnxファイルのパス名 (cnhubert.onnx) (MBSC)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceOpenGPTSoVITSV1ModelFileW()

int AILIA_API ailiaVoiceOpenGPTSoVITSV1ModelFileW ( struct AILIAVoice *  net,
const wchar_t *  encoder,
const wchar_t *  decoder1,
const wchar_t *  decoder2,
const wchar_t *  wave,
const wchar_t *  ssl 
)

GPT-SoVITS V1向けのモデルを指定します。(UTF16)

引数
netネットワークオブジェクトポインタ
encoderonnxファイルのパス名 (t2s_encoder.onnx) (UTF16)
decoder1onnxファイルのパス名 (t2s_fsdec.onnx) (UTF16)
decoder2onnxファイルのパス名 (t2s_sdec.onnx) (UTF16)
waveonnxファイルのパス名 (vits.onnx) (UTF16)
sslonnxファイルのパス名 (cnhubert.onnx) (UTF16)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceOpenGPTSoVITSV2ModelFileA()

int AILIA_API ailiaVoiceOpenGPTSoVITSV2ModelFileA ( struct AILIAVoice *  net,
const char *  encoder,
const char *  decoder1,
const char *  decoder2,
const char *  wave,
const char *  ssl,
const char *  chinese_bert,
const char *  vocab 
)

GPT-SoVITS V2向けのモデルを指定します。(MBSC)

引数
netネットワークオブジェクトポインタ
encoderonnxファイルのパス名 (t2s_encoder.onnx) (MBSC)
decoder1onnxファイルのパス名 (t2s_fsdec.onnx) (MBSC)
decoder2onnxファイルのパス名 (t2s_sdec.onnx) (MBSC)
waveonnxファイルのパス名 (vits.onnx) (MBSC)
sslonnxファイルのパス名 (cnhubert.onnx) (MBSC)
chinese_bertonnxファイルのパス名 (chinese-roberta.onnx) (MBSC)(NULLの場合はBERTを使用しない)
vocabvocab.txtのパス名 (MBSC)(NULLの場合はBERTを使用しない)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceOpenGPTSoVITSV2ModelFileW()

int AILIA_API ailiaVoiceOpenGPTSoVITSV2ModelFileW ( struct AILIAVoice *  net,
const wchar_t *  encoder,
const wchar_t *  decoder1,
const wchar_t *  decoder2,
const wchar_t *  wave,
const wchar_t *  ssl,
const wchar_t *  chinese_bert,
const wchar_t *  vocab 
)

GPT-SoVITS V2向けのモデルを指定します。(UTF16)

引数
netネットワークオブジェクトポインタ
encoderonnxファイルのパス名 (t2s_encoder.onnx) (UTF16)
decoder1onnxファイルのパス名 (t2s_fsdec.onnx) (UTF16)
decoder2onnxファイルのパス名 (t2s_sdec.onnx) (UTF16)
waveonnxファイルのパス名 (vits.onnx) (UTF16)
sslonnxファイルのパス名 (cnhubert.onnx) (UTF16)
chinese_bertonnxファイルのパス名 (chinese-roberta.onnx) (UTF16)(NULLの場合はBERTを使用しない)
vocabvocab.txtのパス名 (UTF16)(NULLの場合はBERTを使用しない)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceOpenGPTSoVITSV2ProModelFileA()

int AILIA_API ailiaVoiceOpenGPTSoVITSV2ProModelFileA ( struct AILIAVoice *  net,
const char *  encoder,
const char *  decoder1,
const char *  decoder2,
const char *  ssl,
const char *  vits,
const char *  sv,
const char *  chinese_bert,
const char *  vocab 
)

GPT-SoVITS V2-Pro向けのモデルを指定します。(MBSC)

引数
netネットワークオブジェクトポインタ
encoderonnxファイルのパス名 (t2s_encoder.onnx) (MBSC)
decoder1onnxファイルのパス名 (t2s_fsdec.onnx) (MBSC)
decoder2onnxファイルのパス名 (t2s_sdec.onnx) (MBSC)
sslonnxファイルのパス名 (cnhubert.onnx) (MBSC)
vitsonnxファイルのパス名 (vits.onnx) (MBSC)
svonnxファイルのパス名 (sv.onnx) (MBSC)
chinese_bertonnxファイルのパス名 (chinese-roberta.onnx) (MBSC)(NULLの場合はBERTを使用しない)
vocabvocab.txtのパス名 (MBSC)(NULLの場合はBERTを使用しない)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceOpenGPTSoVITSV2ProModelFileW()

int AILIA_API ailiaVoiceOpenGPTSoVITSV2ProModelFileW ( struct AILIAVoice *  net,
const wchar_t *  encoder,
const wchar_t *  decoder1,
const wchar_t *  decoder2,
const wchar_t *  ssl,
const wchar_t *  vits,
const wchar_t *  sv,
const wchar_t *  chinese_bert,
const wchar_t *  vocab 
)

GPT-SoVITS V2-Pro向けのモデルを指定します。(UTF16)

引数
netネットワークオブジェクトポインタ
encoderonnxファイルのパス名 (t2s_encoder.onnx) (UTF16)
decoder1onnxファイルのパス名 (t2s_fsdec.onnx) (UTF16)
decoder2onnxファイルのパス名 (t2s_sdec.onnx) (UTF16)
sslonnxファイルのパス名 (cnhubert.onnx) (UTF16)
vitsonnxファイルのパス名 (vits.onnx) (UTF16)
svonnxファイルのパス名 (sv.onnx) (UTF16)
chinese_bertonnxファイルのパス名 (chinese-roberta.onnx) (UTF16)(NULLの場合はBERTを使用しない)
vocabvocab.txtのパス名 (UTF16)(NULLの場合はBERTを使用しない)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceOpenGPTSoVITSV3ModelFileA()

int AILIA_API ailiaVoiceOpenGPTSoVITSV3ModelFileA ( struct AILIAVoice *  net,
const char *  encoder,
const char *  decoder1,
const char *  decoder2,
const char *  ssl,
const char *  vq,
const char *  cfm,
const char *  bigvgan,
const char *  chinese_bert,
const char *  vocab 
)

GPT-SoVITS V3向けのモデルを指定します。(MBSC)

引数
netネットワークオブジェクトポインタ
encoder_pathonnxファイルのパス名 (t2s_encoder.onnx) (MBSC)
decoder1_pathonnxファイルのパス名 (t2s_fsdec.onnx) (MBSC)
decoder2_pathonnxファイルのパス名 (t2s_sdec.onnx) (MBSC)
ssl_pathonnxファイルのパス名 (cnhubert.onnx) (MBSC)
vq_pathonnxファイルのパス名 (vq_model.onnx) (MBSC)
cfm_pathonnxファイルのパス名 (vq_cfm.onnx) (MBSC)
bigvgan_pathonnxファイルのパス名 (bigvgan_model.onnx) (MBSC)
chinese_bertonnxファイルのパス名 (chinese-roberta.onnx) (MBSC)(NULLの場合はBERTを使用しない)
vocabvocab.txtのパス名 (MBSC)(NULLの場合はBERTを使用しない)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceOpenGPTSoVITSV3ModelFileW()

int AILIA_API ailiaVoiceOpenGPTSoVITSV3ModelFileW ( struct AILIAVoice *  net,
const wchar_t *  encoder,
const wchar_t *  decoder1,
const wchar_t *  decoder2,
const wchar_t *  ssl,
const wchar_t *  vq,
const wchar_t *  cfm,
const wchar_t *  bigvgan,
const wchar_t *  chinese_bert,
const wchar_t *  vocab 
)

GPT-SoVITS V3向けのモデルを指定します。(UTF16)

引数
netネットワークオブジェクトポインタ
encoderonnxファイルのパス名 (t2s_encoder.onnx) (UTF16)
decoder1onnxファイルのパス名 (t2s_fsdec.onnx) (UTF16)
decoder2onnxファイルのパス名 (t2s_sdec.onnx) (UTF16)
sslonnxファイルのパス名 (cnhubert.onnx) (UTF16)
vqonnxファイルのパス名 (vq_model.onnx) (UTF16)
cfmonnxファイルのパス名 (vq_cfm.onnx) (UTF16)
bigvganonnxファイルのパス名 (bigvgan_model.onnx) (UTF16)
chinese_bertonnxファイルのパス名 (chinese-roberta.onnx) (UTF16)(NULLの場合はBERTを使用しない)
vocabvocab.txtのパス名 (UTF16)(NULLの場合はBERTを使用しない)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceOpenModelFileA()

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)

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

この関数は非推奨です。代わりにailiaVoiceOpenTacotron2ModelFileA、ailiaVoiceOpenGPTSoVITSV1ModelFileA、 ailiaVoiceOpenGPTSoVITSV2ModelFileAを使用してください。

◆ ailiaVoiceOpenModelFileW()

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)

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

この関数は非推奨です。代わりにailiaVoiceOpenTacotron2ModelFileW、ailiaVoiceOpenGPTSoVITSV1ModelFileW、 ailiaVoiceOpenGPTSoVITSV2ModelFileWを使用してください。

◆ ailiaVoiceOpenTacotron2ModelFileA()

int AILIA_API ailiaVoiceOpenTacotron2ModelFileA ( struct AILIAVoice *  net,
const char *  encoder,
const char *  decoder1,
const char *  decoder2,
const char *  wave,
int  cleaner_type 
)

Tacotron2向けのモデルを指定します。(MBSC)

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

◆ ailiaVoiceOpenTacotron2ModelFileW()

int AILIA_API ailiaVoiceOpenTacotron2ModelFileW ( struct AILIAVoice *  net,
const wchar_t *  encoder,
const wchar_t *  decoder1,
const wchar_t *  decoder2,
const wchar_t *  wave,
int  cleaner_type 
)

Tacotron2向けのモデルを指定します。(UTF16)

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

◆ ailiaVoiceSetModelType()

int AILIA_API ailiaVoiceSetModelType ( struct AILIAVoice *  net,
int  model_type 
)

G2Pで使用するモデルタイプを設定します。

引数
netボイスオブジェクトポインタ
model_typeモデルタイプ(AILIA_VOICE_MODEL_TYPE_GPT_SOVITS, AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V2, AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V3, AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V2_PRO)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

G2Pを単独で使用する際に、モデルファイルを与えずにモデルタイプを設定することに使用します。 ailiaVoiceOpenModelFileAまたはailiaVoiceOpenGPTSoVITSV3ModelFileAを呼び出した場合は自動的に設定されるため、本APIの呼び出しは不要です。

◆ ailiaVoiceSetReference()

int AILIA_API ailiaVoiceSetReference ( struct AILIAVoice *  net,
float *  buf,
unsigned int  buf_size,
unsigned int  channels,
unsigned int  sampling_rate,
const char *  features 
)

0ショット音声合成のリファレンスとなる波形とテキストを設定します。

引数
netボイスオブジェクトポインタ
bufPCM波形 (0 - 1で正規化)
buf_sizeバッファサイズ(byte単位)
channelsチャンネル数
sampling_rateサンプリングレート
featuresフィーチャー(UTF8)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceSetSampleSteps()

int AILIA_API ailiaVoiceSetSampleSteps ( struct AILIAVoice *  net,
int  steps 
)

GPT-SoVITS v3のCFMサンプリングステップ数を設定します。

引数
netボイスオブジェクトポインタ
stepsCFMのEuler ODEステップ数(デフォルト4)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaVoiceSetSpeed()

int AILIA_API ailiaVoiceSetSpeed ( struct AILIAVoice *  net,
float  speed 
)

音声合成の速度を設定します。

引数
netボイスオブジェクトポインタ
speed速度(デフォルト1.0、0より大きい値)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

GPT-SoVITS V2およびV3で使用できます。V1では無効です。

◆ ailiaVoiceSetUserDictionaryFileA()

int AILIA_API ailiaVoiceSetUserDictionaryFileA ( struct AILIAVoice *  net,
const char *  dictionary_path,
int  dictionary_type 
)

ユーザ辞書を指定します。(MBSC)

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

ailiaVoiceOpenDictionaryFileAの前に呼び出す必要があります。

◆ ailiaVoiceSetUserDictionaryFileW()

int AILIA_API ailiaVoiceSetUserDictionaryFileW ( struct AILIAVoice *  net,
const wchar_t *  dictionary_path,
int  dictionary_type 
)

ユーザ辞書を指定します。(UTF16)

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

ailiaVoiceOpenDictionaryFileWの前に呼び出す必要があります。