|
ailia_voice
1.5.0.0
|
ailia Voice ライブラリ [詳解]
#include "ailia.h"#include "ailia_audio.h"
クラス | |
| struct | _AILIAVoiceApiCallback |
型定義 | |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_AUDIO_RESAMPLE) (void *, const void *, int, int, int, int) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN) (int *, int, int, int) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_AUDIO_GET_FRAME_LEN) (int *, int, int, int, int) |
| 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) |
| 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) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_CREATE) (struct AILIANetwork **, int, int) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_A) (struct AILIANetwork *, const char *) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_W) (struct AILIANetwork *, const wchar_t *) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_MEM) (struct AILIANetwork *, const void *, unsigned int) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_SET_MEMORY_MODE) (struct AILIANetwork *, unsigned int) |
| typedef void(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_DESTROY) (struct AILIANetwork *) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_UPDATE) (struct AILIANetwork *) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_GET_BLOB_DATA) (struct AILIANetwork *, void *, unsigned int, unsigned int) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_DATA) (struct AILIANetwork *, const void *, unsigned int, unsigned int) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_SHAPE) (struct AILIANetwork *, const AILIAShape *, unsigned int, unsigned int) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_GET_BLOB_SHAPE) (struct AILIANetwork *, AILIAShape *, unsigned int, unsigned int) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_GET_INPUT_BLOB_COUNT) (struct AILIANetwork *, unsigned int *) |
| typedef int(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_GET_OUTPUT_BLOB_COUNT) (struct AILIANetwork *, unsigned int *) |
| typedef const char *(AILIA_VOICE_USER_API * | AILIA_VOICE_USER_API_AILIA_GET_ERROR_DETAIL) (struct AILIANetwork *) |
| 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) |
| 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 ライブラリ
| #define AILIA_API __stdcall |
| #define AILIA_VOICE_API_CALLBACK_VERSION (3) |
構造体バージョン
| #define AILIA_VOICE_CLEANER_TYPE_BASIC (0) |
BasicCleaner
| #define AILIA_VOICE_CLEANER_TYPE_ENGLISH (1) |
EnglishCleaner
| #define AILIA_VOICE_DICTIONARY_TYPE_G2P_CN (2) |
G2P_CN形式
| #define AILIA_VOICE_DICTIONARY_TYPE_G2P_EN (1) |
G2P_EN形式
| #define AILIA_VOICE_DICTIONARY_TYPE_G2PW (3) |
G2PW形式(中国語多音字対応)
| #define AILIA_VOICE_DICTIONARY_TYPE_OPEN_JTALK (0) |
OpenJtalk形式
| #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_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_V2_PRO (4) |
GPT-SoVITS v2-pro形式
| #define AILIA_VOICE_MODEL_TYPE_GPT_SOVITS_V3 (3) |
GPT-SoVITS v3形式
| #define AILIA_VOICE_MODEL_TYPE_TACOTRON2 (0) |
Tacoreon2形式
| #define AILIA_VOICE_TEXT_POST_PROCESS_APPEND_PUNCTUATION (2) |
| #define AILIA_VOICE_USER_API |
| #define ailiaVoiceOpenDictionaryFile ailiaVoiceOpenDictionaryFileA |
| #define ailiaVoiceOpenGPTSoVITSV1ModelFile ailiaVoiceOpenGPTSoVITSV1ModelFileA |
| #define ailiaVoiceOpenGPTSoVITSV2ModelFile ailiaVoiceOpenGPTSoVITSV2ModelFileA |
| #define ailiaVoiceOpenGPTSoVITSV2ProModelFile ailiaVoiceOpenGPTSoVITSV2ProModelFileA |
| #define ailiaVoiceOpenGPTSoVITSV3ModelFile ailiaVoiceOpenGPTSoVITSV3ModelFileA |
| #define ailiaVoiceOpenModelFile ailiaVoiceOpenModelFileA |
| #define ailiaVoiceOpenTacotron2ModelFile ailiaVoiceOpenTacotron2ModelFileA |
| #define ailiaVoiceSetUserDictionaryFile ailiaVoiceSetUserDictionaryFileA |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_AUDIO_GET_FRAME_LEN) (int *, int, int, int, int) |
| 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) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_AUDIO_GET_RESAMPLE_LEN) (int *, int, int, int) |
| 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) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_AUDIO_RESAMPLE) (void *, const void *, int, int, int, int) |
| 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) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_CREATE) (struct AILIANetwork **, int, int) |
| typedef void(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_DESTROY) (struct AILIANetwork *) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_BLOB_DATA) (struct AILIANetwork *, void *, unsigned int, unsigned int) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_INPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_BLOB_INDEX_BY_OUTPUT_INDEX) (struct AILIANetwork *, unsigned int *, unsigned int) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_BLOB_SHAPE) (struct AILIANetwork *, AILIAShape *, unsigned int, unsigned int) |
| typedef const char*(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_ERROR_DETAIL) (struct AILIANetwork *) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_INPUT_BLOB_COUNT) (struct AILIANetwork *, unsigned int *) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_GET_OUTPUT_BLOB_COUNT) (struct AILIANetwork *, unsigned int *) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_A) (struct AILIANetwork *, const char *) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_FILE_W) (struct AILIANetwork *, const wchar_t *) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_OPEN_WEIGHT_MEM) (struct AILIANetwork *, const void *, unsigned int) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_DATA) (struct AILIANetwork *, const void *, unsigned int, unsigned int) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_SET_INPUT_BLOB_SHAPE) (struct AILIANetwork *, const AILIAShape *, unsigned int, unsigned int) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_SET_MEMORY_MODE) (struct AILIANetwork *, unsigned int) |
| typedef int(AILIA_VOICE_USER_API* AILIA_VOICE_USER_API_AILIA_UPDATE) (struct AILIANetwork *) |
| 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 | ||
| ) |
ボイスオブジェクトを作成します。
| net | ボイスオブジェクトポインタへのポインタ |
| env_id | 計算に利用する推論実行環境のID( ailiaGetEnvironment() で取得) AILIA_ENVIRONMENT_ID_AUTO にした場合は自動で選択する |
| num_thread | スレッド数の上限( AILIA_MULTITHREAD_AUTO にした場合は自動で設定) |
| memory_mode | メモリモード(AILIA_MEMORY_MODE_*) |
| flag | AILIA_VOICE_FLAG_*の論理和 |
| api_callback | ailiaのAPIへのコールバック |
| version | AILIA_VOICE_API_CALLBACK_VERSION |
ボイスオブジェクトを作成します。
| void AILIA_API ailiaVoiceDestroy | ( | struct AILIAVoice * | net | ) |
ボイスオブジェクトを破棄します。
| net | ボイスオブジェクトポインタ |
| int AILIA_API ailiaVoiceExtractFullContext | ( | struct AILIAVoice * | net, |
| const char * | utf8 | ||
| ) |
ExtractFullContextを行います。
| net | ボイスオブジェクトポインタ |
| text | テキスト(UTF8) |
認識した結果はailiaVoiceGetFeaturesAPIで取得します。
| const char* AILIA_API ailiaVoiceGetErrorDetail | ( | struct AILIAVoice * | net | ) |
エラーの詳細を返します
| net | ネットワークオブジェクトポインタ |
返値は解放する必要はありません。 文字列の有効期間は次にailiaVoiceのAPIを呼ぶまでです。
| int AILIA_API ailiaVoiceGetFeatureLength | ( | struct AILIAVoice * | net, |
| unsigned int * | len | ||
| ) |
フィーチャーの長さを取得します。(NULL文字含む)
| net | ボイスオブジェクトポインタ |
| len | フィーチャーの長さ |
| int AILIA_API ailiaVoiceGetFeatures | ( | struct AILIAVoice * | net, |
| char * | features, | ||
| unsigned int | len | ||
| ) |
フィーチャーを取得します。
| net | ボイスオブジェクトポインタ |
| features | フィーチャー(UTF8) |
| len | フィーチャーの長さ |
ailiaVoiceGraphemeToPhoneme() もしくは ailiaVoiceExtractFullContext() を一度も実行していない場合は AILIA_STATUS_INVALID_STATE が返ります。
| int AILIA_API ailiaVoiceGetWave | ( | struct AILIAVoice * | net, |
| float * | buf, | ||
| unsigned int | buf_size | ||
| ) |
波形を取得します。
| net | ボイスオブジェクトポインタ |
| buf | PCM波形 (0 - 1で正規化) |
| buf_size | バッファサイズ(byte単位) |
ailiaVoiceInference() を一度も実行していない場合は AILIA_STATUS_INVALID_STATE が返ります。
| int AILIA_API ailiaVoiceGetWaveInfo | ( | struct AILIAVoice * | net, |
| unsigned int * | samples, | ||
| unsigned int * | channels, | ||
| unsigned int * | sampling_rate | ||
| ) |
波形の情報を取得します。
| net | ボイスオブジェクトポインタ |
| samples | サンプル数(チャンネル単位) |
| channels | チャンネル数 |
| sampling_rate | サンプリングレート |
| int AILIA_API ailiaVoiceGraphemeToPhoneme | ( | struct AILIAVoice * | net, |
| const char * | utf8, | ||
| int | g2p_type | ||
| ) |
G2Pを行います。
| net | ボイスオブジェクトポインタ |
| text | テキスト(UTF8) |
| g2p_type | AILIA_VOICE_G2P_TYPE_* |
認識した結果はailiaVoiceGetFeatures APIで取得します。
| int AILIA_API ailiaVoiceInference | ( | struct AILIAVoice * | net, |
| const char * | utf8 | ||
| ) |
推論を行います。
| net | ボイスオブジェクトポインタ |
| text | テキスト(UTF8) |
音声合成した結果はailiaVoiceGetWave APIで取得します。
| int AILIA_API ailiaVoiceOpenDictionaryFileA | ( | struct AILIAVoice * | net, |
| const char * | dictionary_path, | ||
| int | dictionary_type | ||
| ) |
辞書を指定します。(MBSC)
| net | ネットワークオブジェクトポインタ |
| dictionary_path | 辞書フォルダのパス名(MBSC) |
| dictionary_type | AILIA_VOICE_DICTIONARY_TYPE_* |
中国語を使用する場合、GPT-SoVITS V1では AILIA_VOICE_DICTIONARY_TYPE_G2P_CN のみ必要です。 GPT-SoVITS V2およびV3では AILIA_VOICE_DICTIONARY_TYPE_G2P_CN と AILIA_VOICE_DICTIONARY_TYPE_G2PW の両方が必要です。 G2PWを使用する場合、先にG2P_CNを読み込んでください。
| int AILIA_API ailiaVoiceOpenDictionaryFileW | ( | struct AILIAVoice * | net, |
| const wchar_t * | dictionary_path, | ||
| int | dictionary_type | ||
| ) |
辞書を指定します。(UTF16)
| net | ネットワークオブジェクトポインタ |
| dictionary_path | 辞書フォルダのパス名(UTF16) |
| dictionary_type | AILIA_VOICE_DICTIONARY_TYPE_* |
中国語を使用する場合、GPT-SoVITS V1では AILIA_VOICE_DICTIONARY_TYPE_G2P_CN のみ必要です。 GPT-SoVITS V2およびV3では AILIA_VOICE_DICTIONARY_TYPE_G2P_CN と AILIA_VOICE_DICTIONARY_TYPE_G2PW の両方が必要です。 G2PWを使用する場合、先にG2P_CNを読み込んでください。
| 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 | ネットワークオブジェクトポインタ |
| encoder | onnxファイルのパス名 (t2s_encoder.onnx) (MBSC) |
| decoder1 | onnxファイルのパス名 (t2s_fsdec.onnx) (MBSC) |
| decoder2 | onnxファイルのパス名 (t2s_sdec.onnx) (MBSC) |
| wave | onnxファイルのパス名 (vits.onnx) (MBSC) |
| ssl | onnxファイルのパス名 (cnhubert.onnx) (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)
| net | ネットワークオブジェクトポインタ |
| encoder | onnxファイルのパス名 (t2s_encoder.onnx) (UTF16) |
| decoder1 | onnxファイルのパス名 (t2s_fsdec.onnx) (UTF16) |
| decoder2 | onnxファイルのパス名 (t2s_sdec.onnx) (UTF16) |
| wave | onnxファイルのパス名 (vits.onnx) (UTF16) |
| ssl | onnxファイルのパス名 (cnhubert.onnx) (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)
| net | ネットワークオブジェクトポインタ |
| encoder | onnxファイルのパス名 (t2s_encoder.onnx) (MBSC) |
| decoder1 | onnxファイルのパス名 (t2s_fsdec.onnx) (MBSC) |
| decoder2 | onnxファイルのパス名 (t2s_sdec.onnx) (MBSC) |
| wave | onnxファイルのパス名 (vits.onnx) (MBSC) |
| ssl | onnxファイルのパス名 (cnhubert.onnx) (MBSC) |
| chinese_bert | onnxファイルのパス名 (chinese-roberta.onnx) (MBSC)(NULLの場合はBERTを使用しない) |
| vocab | vocab.txtのパス名 (MBSC)(NULLの場合はBERTを使用しない) |
| 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 | ネットワークオブジェクトポインタ |
| encoder | onnxファイルのパス名 (t2s_encoder.onnx) (UTF16) |
| decoder1 | onnxファイルのパス名 (t2s_fsdec.onnx) (UTF16) |
| decoder2 | onnxファイルのパス名 (t2s_sdec.onnx) (UTF16) |
| wave | onnxファイルのパス名 (vits.onnx) (UTF16) |
| ssl | onnxファイルのパス名 (cnhubert.onnx) (UTF16) |
| chinese_bert | onnxファイルのパス名 (chinese-roberta.onnx) (UTF16)(NULLの場合はBERTを使用しない) |
| vocab | vocab.txtのパス名 (UTF16)(NULLの場合はBERTを使用しない) |
| 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 | ネットワークオブジェクトポインタ |
| encoder | onnxファイルのパス名 (t2s_encoder.onnx) (MBSC) |
| decoder1 | onnxファイルのパス名 (t2s_fsdec.onnx) (MBSC) |
| decoder2 | onnxファイルのパス名 (t2s_sdec.onnx) (MBSC) |
| ssl | onnxファイルのパス名 (cnhubert.onnx) (MBSC) |
| vits | onnxファイルのパス名 (vits.onnx) (MBSC) |
| sv | onnxファイルのパス名 (sv.onnx) (MBSC) |
| chinese_bert | onnxファイルのパス名 (chinese-roberta.onnx) (MBSC)(NULLの場合はBERTを使用しない) |
| vocab | vocab.txtのパス名 (MBSC)(NULLの場合はBERTを使用しない) |
| 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 | ネットワークオブジェクトポインタ |
| encoder | onnxファイルのパス名 (t2s_encoder.onnx) (UTF16) |
| decoder1 | onnxファイルのパス名 (t2s_fsdec.onnx) (UTF16) |
| decoder2 | onnxファイルのパス名 (t2s_sdec.onnx) (UTF16) |
| ssl | onnxファイルのパス名 (cnhubert.onnx) (UTF16) |
| vits | onnxファイルのパス名 (vits.onnx) (UTF16) |
| sv | onnxファイルのパス名 (sv.onnx) (UTF16) |
| chinese_bert | onnxファイルのパス名 (chinese-roberta.onnx) (UTF16)(NULLの場合はBERTを使用しない) |
| vocab | vocab.txtのパス名 (UTF16)(NULLの場合はBERTを使用しない) |
| 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_path | onnxファイルのパス名 (t2s_encoder.onnx) (MBSC) |
| decoder1_path | onnxファイルのパス名 (t2s_fsdec.onnx) (MBSC) |
| decoder2_path | onnxファイルのパス名 (t2s_sdec.onnx) (MBSC) |
| ssl_path | onnxファイルのパス名 (cnhubert.onnx) (MBSC) |
| vq_path | onnxファイルのパス名 (vq_model.onnx) (MBSC) |
| cfm_path | onnxファイルのパス名 (vq_cfm.onnx) (MBSC) |
| bigvgan_path | onnxファイルのパス名 (bigvgan_model.onnx) (MBSC) |
| chinese_bert | onnxファイルのパス名 (chinese-roberta.onnx) (MBSC)(NULLの場合はBERTを使用しない) |
| vocab | vocab.txtのパス名 (MBSC)(NULLの場合はBERTを使用しない) |
| 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 | ネットワークオブジェクトポインタ |
| encoder | onnxファイルのパス名 (t2s_encoder.onnx) (UTF16) |
| decoder1 | onnxファイルのパス名 (t2s_fsdec.onnx) (UTF16) |
| decoder2 | onnxファイルのパス名 (t2s_sdec.onnx) (UTF16) |
| ssl | onnxファイルのパス名 (cnhubert.onnx) (UTF16) |
| vq | onnxファイルのパス名 (vq_model.onnx) (UTF16) |
| cfm | onnxファイルのパス名 (vq_cfm.onnx) (UTF16) |
| bigvgan | onnxファイルのパス名 (bigvgan_model.onnx) (UTF16) |
| chinese_bert | onnxファイルのパス名 (chinese-roberta.onnx) (UTF16)(NULLの場合はBERTを使用しない) |
| vocab | vocab.txtのパス名 (UTF16)(NULLの場合はBERTを使用しない) |
| 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_path | onnxファイルのパス名(MBSC) |
| decoder1_path | onnxファイルのパス名(MBSC) |
| decoder2_path | onnxファイルのパス名(MBSC) |
| wave_path | onnxファイルのパス名(MBSC) |
| ssl_path | onnxファイルのパス名(MBSC) |
| model_type | AILIA_VOICE_MODEL_TYPE_* |
| cleaner_type | AILIA_VOICE_CLEANER_TYPE_* |
この関数は非推奨です。代わりにailiaVoiceOpenTacotron2ModelFileA、ailiaVoiceOpenGPTSoVITSV1ModelFileA、 ailiaVoiceOpenGPTSoVITSV2ModelFileAを使用してください。
| 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 | ネットワークオブジェクトポインタ |
| encoder | onnxファイルのパス名(UTF16) |
| decoder1 | onnxファイルのパス名(UTF16) |
| decoder2 | onnxファイルのパス名(UTF16) |
| wave | onnxファイルのパス名(UTF16) |
| ssl | onnxファイルのパス名(UTF16) |
| model_type | AILIA_VOICE_MODEL_TYPE_* |
| cleaner_type | AILIA_VOICE_CLEANER_TYPE_* |
この関数は非推奨です。代わりにailiaVoiceOpenTacotron2ModelFileW、ailiaVoiceOpenGPTSoVITSV1ModelFileW、 ailiaVoiceOpenGPTSoVITSV2ModelFileWを使用してください。
| 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 | ネットワークオブジェクトポインタ |
| encoder | onnxファイルのパス名 (encoder.onnx) (MBSC) |
| decoder1 | onnxファイルのパス名 (decoder_iter.onnx) (MBSC) |
| decoder2 | onnxファイルのパス名 (postnet.onnx) (MBSC) |
| wave | onnxファイルのパス名 (waveglow.onnx) (MBSC) |
| cleaner_type | AILIA_VOICE_CLEANER_TYPE_* |
| 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 | ネットワークオブジェクトポインタ |
| encoder | onnxファイルのパス名 (encoder.onnx) (UTF16) |
| decoder1 | onnxファイルのパス名 (decoder_iter.onnx) (UTF16) |
| decoder2 | onnxファイルのパス名 (postnet.onnx) (UTF16) |
| wave | onnxファイルのパス名 (waveglow.onnx) (UTF16) |
| cleaner_type | AILIA_VOICE_CLEANER_TYPE_* |
| 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) |
G2Pを単独で使用する際に、モデルファイルを与えずにモデルタイプを設定することに使用します。 ailiaVoiceOpenModelFileAまたはailiaVoiceOpenGPTSoVITSV3ModelFileAを呼び出した場合は自動的に設定されるため、本APIの呼び出しは不要です。
| 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 | ボイスオブジェクトポインタ |
| buf | PCM波形 (0 - 1で正規化) |
| buf_size | バッファサイズ(byte単位) |
| channels | チャンネル数 |
| sampling_rate | サンプリングレート |
| features | フィーチャー(UTF8) |
| int AILIA_API ailiaVoiceSetSampleSteps | ( | struct AILIAVoice * | net, |
| int | steps | ||
| ) |
GPT-SoVITS v3のCFMサンプリングステップ数を設定します。
| net | ボイスオブジェクトポインタ |
| steps | CFMのEuler ODEステップ数(デフォルト4) |
| int AILIA_API ailiaVoiceSetSpeed | ( | struct AILIAVoice * | net, |
| float | speed | ||
| ) |
音声合成の速度を設定します。
| net | ボイスオブジェクトポインタ |
| speed | 速度(デフォルト1.0、0より大きい値) |
GPT-SoVITS V2およびV3で使用できます。V1では無効です。
| int AILIA_API ailiaVoiceSetUserDictionaryFileA | ( | struct AILIAVoice * | net, |
| const char * | dictionary_path, | ||
| int | dictionary_type | ||
| ) |
ユーザ辞書を指定します。(MBSC)
| net | ネットワークオブジェクトポインタ |
| dictionary_path | ユーザ辞書ファイルのパス名(MBSC) |
| dictionary_type | AILIA_VOICE_DICTIONARY_TYPE_* |
ailiaVoiceOpenDictionaryFileAの前に呼び出す必要があります。
| int AILIA_API ailiaVoiceSetUserDictionaryFileW | ( | struct AILIAVoice * | net, |
| const wchar_t * | dictionary_path, | ||
| int | dictionary_type | ||
| ) |
ユーザ辞書を指定します。(UTF16)
| net | ネットワークオブジェクトポインタ |
| dictionary_path | ユーザ辞書ファイルのパス名(UTF16) |
| dictionary_type | AILIA_VOICE_DICTIONARY_TYPE_* |
ailiaVoiceOpenDictionaryFileWの前に呼び出す必要があります。