VoicevoxCore
|
#include <stdbool.h>
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | VoicevoxLoadOnnxruntimeOptions |
struct | VoicevoxInitializeOptions |
struct | VoicevoxSynthesisOptions |
struct | VoicevoxTtsOptions |
struct | VoicevoxUserDictWord |
Typedefs | |
typedef int32_t | VoicevoxAccelerationMode |
typedef int32_t | VoicevoxResultCode |
typedef int32_t | VoicevoxUserDictWordType |
typedef struct OpenJtalkRc | OpenJtalkRc |
typedef struct VoicevoxOnnxruntime | VoicevoxOnnxruntime |
typedef struct VoicevoxSynthesizer | VoicevoxSynthesizer |
typedef struct VoicevoxUserDict | VoicevoxUserDict |
typedef struct VoicevoxVoiceModelFile | VoicevoxVoiceModelFile |
typedef struct VoicevoxLoadOnnxruntimeOptions | VoicevoxLoadOnnxruntimeOptions |
typedef struct VoicevoxInitializeOptions | VoicevoxInitializeOptions |
typedef const uint8_t(* | VoicevoxVoiceModelId)[16] |
typedef uint32_t | VoicevoxStyleId |
typedef struct VoicevoxSynthesisOptions | VoicevoxSynthesisOptions |
typedef struct VoicevoxTtsOptions | VoicevoxTtsOptions |
typedef struct VoicevoxUserDictWord | VoicevoxUserDictWord |
無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXのコア。
ヘッダによって次の二つのマクロのうちどちらかが存在する。リリースされているライブラリではiOSでのみVOICEVOX_LINK_ONNXRUNTIME
が、他のプラットフォームではVOICEVOX_LOAD_ONNXRUNTIME
が存在する。
VOICEVOX_LOAD_ONNXRUNTIME
: voicevox_onnxruntime_load_once と、それに付属するアイテムが利用可能になる。VOICEVOX_LINK_ONNXRUNTIME
: voicevox_onnxruntime_init_once が利用可能になる。またこのマクロが存在するなら、このライブラリはONNX Runtimeをロード時動的リンクする。 このライブラリの利用にあたっては、いくつかの不変条件が守られている必要がある。本ドキュメントではこの不変条件を安全性要件(safety requirements)と呼び、"Safety"というセクションの下に安全性要件を示す。
安全性要件の違反はRust言語における未定義動作(undefined behavior; 通称UB)を引き起こす。Rustの未定義動作は、CのそれやC++のそれやZigのそれなどとおおよそ同じであり、引き起こしてはならないものとされる。プログラム全体のどこかに未定義動作が含まれるなら、一般的に、処理系はそれについて何をしてもよい。変数は同時にtrueでもfalseでもあってもよいし、あなたの鼻から悪魔が飛び出してもよい。このことは通称鼻から悪魔(nasal demons)と呼ばれる。
未定義動作はプログラム全体に影響する。運が良ければセグメンテーション違反などで異常終了するだけだが、ライブラリを呼び出している部分から離れた所で「鼻から悪魔」が起こることもある。そうなったら挙動の予測もデバッグも困難である。これが未定義動作が禁忌とされる所以である。
voicevox_core
全体における安全性要件は以下の通りである。
free
やHeapFree
で行ってはならない)。次のことに注意すること。
typedef struct OpenJtalkRc OpenJtalkRc |
テキスト解析器としてのOpen JTalk。
構築(construction)は voicevox_open_jtalk_rc_new で行い、破棄(destruction)は voicevox_open_jtalk_rc_delete で行う。
参照カウント方式のスマートポインタ(reference-counted smart pointer)であり、 voicevox_synthesizer_new に渡されるときには参照カウンタがインクリメントされる形でオブジェクトの共有が行われる。
typedef struct VoicevoxInitializeOptions VoicevoxInitializeOptions |
voicevox_synthesizer_new のオプション。
typedef struct VoicevoxLoadOnnxruntimeOptions VoicevoxLoadOnnxruntimeOptions |
voicevox_onnxruntime_load_once のオプション。
typedef struct VoicevoxOnnxruntime VoicevoxOnnxruntime |
ONNX Runtime。
シングルトンであり、インスタンスは高々一つ。
typedef uint32_t VoicevoxStyleId |
スタイルID。
VOICEVOXにおける、ある話者(speaker)のあるスタイル(style)を指す。
typedef struct VoicevoxSynthesisOptions VoicevoxSynthesisOptions |
voicevox_synthesizer_synthesis のオプション。
typedef struct VoicevoxSynthesizer VoicevoxSynthesizer |
音声シンセサイザ。
構築(construction)は voicevox_synthesizer_new で行い、破棄(destruction)は voicevox_synthesizer_delete で行う。
typedef struct VoicevoxTtsOptions VoicevoxTtsOptions |
voicevox_synthesizer_tts のオプション。
typedef struct VoicevoxUserDict VoicevoxUserDict |
ユーザー辞書。
typedef struct VoicevoxUserDictWord VoicevoxUserDictWord |
ユーザー辞書の単語。
typedef struct VoicevoxVoiceModelFile VoicevoxVoiceModelFile |
音声モデルファイル。
VVMファイルと対応する。 構築(construction)は voicevox_voice_model_file_open で行い、破棄(destruction)は voicevox_voice_model_file_close で行う。
typedef const uint8_t(* VoicevoxVoiceModelId)[16] |
音声モデルID。
enum VoicevoxResultCode |
処理結果を示す結果コード。
const char * voicevox_error_result_to_message | ( | VoicevoxResultCode | result_code | ) |
結果コードに対応したメッセージ文字列を取得する。
[in] | result_code | 結果コード |
const char * voicevox_get_onnxruntime_lib_unversioned_filename | ( | void | ) |
ONNX Runtimeの動的ライブラリの、バージョン無しのファイル名。
const char * voicevox_get_onnxruntime_lib_versioned_filename | ( | void | ) |
ONNX Runtimeの動的ライブラリの、バージョン付きのファイル名。
WindowsとAndroidでは voicevox_get_onnxruntime_lib_unversioned_filename と同じ。
const char * voicevox_get_version | ( | void | ) |
voicevoxのバージョンを取得する。
void voicevox_json_free | ( | char * | json | ) |
JSON文字列を解放する。
[in] | json | 解放するJSON文字列 |
安全性要件は以下の通りである。
json
は以下のAPIで得られたポインタでなくてはいけない。json
は読み込みと書き込みについて有効でなければならない。json
は以後ダングリングポインタ(dangling pointer)として扱われなくてはならない。 struct VoicevoxInitializeOptions voicevox_make_default_initialize_options | ( | void | ) |
デフォルトの初期化オプションを生成する
struct VoicevoxLoadOnnxruntimeOptions voicevox_make_default_load_onnxruntime_options | ( | void | ) |
デフォルトの voicevox_onnxruntime_load_once のオプションを生成する。
struct VoicevoxSynthesisOptions voicevox_make_default_synthesis_options | ( | void | ) |
デフォルトの voicevox_synthesizer_synthesis
のオプションを生成する
voicevox_synthesizer_synthesis
のオプション struct VoicevoxTtsOptions voicevox_make_default_tts_options | ( | void | ) |
デフォルトのテキスト音声合成オプションを生成する
VoicevoxResultCode voicevox_onnxruntime_create_supported_devices_json | ( | const struct VoicevoxOnnxruntime * | onnxruntime, |
char ** | output_supported_devices_json | ||
) |
ONNX Runtimeとして利用可能なデバイスの情報を、JSONで取得する。
JSONの解放は voicevox_json_free で行う。
あくまでONNX Runtimeが対応しているデバイスの情報であることに注意。GPUが使える環境ではなかったとしてもcuda
やdml
はtrue
を示しうる。
[in] | onnxruntime | |
[out] | output_supported_devices_json | サポートデバイス情報のJSON文字列 |
安全性要件は以下の通りである。
onnxruntime
は voicevox_onnxruntime_load_once または voicevox_onnxruntime_init_once で得たものでなければならない。output_supported_devices_json
は書き込みについて有効でなければならない。 const struct VoicevoxOnnxruntime * voicevox_onnxruntime_get | ( | void | ) |
VoicevoxResultCode voicevox_onnxruntime_init_once | ( | const struct VoicevoxOnnxruntime ** | out_onnxruntime | ) |
ONNX Runtimeを初期化する。
一度成功したら以後は同じ参照を返す。
[out] | out_onnxruntime | VoicevoxOnnxruntime のインスタンス |
VoicevoxResultCode voicevox_onnxruntime_load_once | ( | struct VoicevoxLoadOnnxruntimeOptions | options, |
const struct VoicevoxOnnxruntime ** | out_onnxruntime | ||
) |
ONNX Runtimeをロードして初期化する。
一度成功したら、以後は引数を無視して同じ参照を返す。
[in] | options | オプション |
[out] | out_onnxruntime | VoicevoxOnnxruntime のインスタンス |
安全性要件は以下の通りである。
options.filename
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。out_onnxruntime
は書き込みについて有効でなければならない。 void voicevox_open_jtalk_rc_delete | ( | struct OpenJtalkRc * | open_jtalk | ) |
OpenJtalkRc を破棄(destruct)する。
破棄対象への他スレッドでのアクセスが存在する場合、それらがすべて終わるのを待ってから破棄する。
この関数の呼び出し後に破棄し終えた対象にアクセスすると、プロセスを異常終了する。
[in] | open_jtalk | 破棄対象 |
VoicevoxResultCode voicevox_open_jtalk_rc_new | ( | const char * | open_jtalk_dic_dir, |
struct OpenJtalkRc ** | out_open_jtalk | ||
) |
OpenJtalkRc を構築(construct)する。
解放は voicevox_open_jtalk_rc_delete で行う。
[in] | open_jtalk_dic_dir | 辞書ディレクトリを指すUTF-8のパス |
[out] | out_open_jtalk | 構築先 |
安全性要件は以下の通りである。
open_jtalk_dic_dir
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。out_open_jtalk
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_open_jtalk_rc_use_user_dict | ( | const struct OpenJtalkRc * | open_jtalk, |
const struct VoicevoxUserDict * | user_dict | ||
) |
OpenJtalkの使うユーザー辞書を設定する。
この関数を呼び出した後にユーザー辞書を変更した場合、再度この関数を呼び出す必要がある。
[in] | open_jtalk | Open JTalkのオブジェクト |
[in] | user_dict | ユーザー辞書 |
VoicevoxResultCode voicevox_synthesizer_create_accent_phrases | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const char * | text, | ||
VoicevoxStyleId | style_id, | ||
char ** | output_accent_phrases_json | ||
) |
日本語テキストから、AccentPhrase (アクセント句)の配列をJSON形式で生成する。
生成したJSON文字列を解放するには voicevox_json_free を使う。
[in] | synthesizer | 音声シンセサイザ |
[in] | text | UTF-8の日本語テキスト |
[in] | style_id | スタイルID |
[out] | output_accent_phrases_json | 生成先 |
安全性要件は以下の通りである。
text
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_audio_query_json
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_synthesizer_create_accent_phrases_from_kana | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const char * | kana, | ||
VoicevoxStyleId | style_id, | ||
char ** | output_accent_phrases_json | ||
) |
AquesTalk風記法から、AccentPhrase (アクセント句)の配列をJSON形式で生成する。
生成したJSON文字列を解放するには voicevox_json_free を使う。
[in] | synthesizer | 音声シンセサイザ |
[in] | kana | AquesTalk風記法 |
[in] | style_id | スタイルID |
[out] | output_accent_phrases_json | 生成先 |
安全性要件は以下の通りである。
kana
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_audio_query_json
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_synthesizer_create_audio_query | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const char * | text, | ||
VoicevoxStyleId | style_id, | ||
char ** | output_audio_query_json | ||
) |
日本語テキストから、AudioQueryをJSONとして生成する。
生成したJSON文字列を解放するには voicevox_json_free を使う。
[in] | synthesizer | 音声シンセサイザ |
[in] | text | UTF-8の日本語テキスト |
[in] | style_id | スタイルID |
[out] | output_audio_query_json | 生成先 |
安全性要件は以下の通りである。
text
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_audio_query_json
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_synthesizer_create_audio_query_from_kana | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const char * | kana, | ||
VoicevoxStyleId | style_id, | ||
char ** | output_audio_query_json | ||
) |
AquesTalk風記法から、AudioQueryをJSONとして生成する。
生成したJSON文字列を解放するには voicevox_json_free を使う。
[in] | synthesizer | 音声シンセサイザ |
[in] | kana | AquesTalk風記法 |
[in] | style_id | スタイルID |
[out] | output_audio_query_json | 生成先 |
安全性要件は以下の通りである。
kana
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_audio_query_json
は書き込みについて有効でなければならない。 char * voicevox_synthesizer_create_metas_json | ( | const struct VoicevoxSynthesizer * | synthesizer | ) |
今読み込んでいる音声モデルのメタ情報を、JSONで取得する。
JSONの解放は voicevox_json_free で行う。
[in] | synthesizer | 音声シンセサイザ |
void voicevox_synthesizer_delete | ( | struct VoicevoxSynthesizer * | synthesizer | ) |
VoicevoxSynthesizer を破棄(destruct)する。
破棄対象への他スレッドでのアクセスが存在する場合、それらがすべて終わるのを待ってから破棄する。
この関数の呼び出し後に破棄し終えた対象にアクセスすると、プロセスを異常終了する。
[in] | synthesizer | 破棄対象 |
const struct VoicevoxOnnxruntime * voicevox_synthesizer_get_onnxruntime | ( | const struct VoicevoxSynthesizer * | synthesizer | ) |
VoicevoxOnnxruntime のインスタンスを得る。
[in] | synthesizer | 音声シンセサイザ |
bool voicevox_synthesizer_is_gpu_mode | ( | const struct VoicevoxSynthesizer * | synthesizer | ) |
ハードウェアアクセラレーションがGPUモードか判定する。
[in] | synthesizer | 音声シンセサイザ |
bool voicevox_synthesizer_is_loaded_voice_model | ( | const struct VoicevoxSynthesizer * | synthesizer, |
VoicevoxVoiceModelId | model_id | ||
) |
指定したIDの音声モデルが読み込まれているか判定する。
[in] | synthesizer | 音声シンセサイザ |
[in] | model_id | 音声モデルID |
VoicevoxResultCode voicevox_synthesizer_load_voice_model | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const struct VoicevoxVoiceModelFile * | model | ||
) |
音声モデルを読み込む。
[in] | synthesizer | 音声シンセサイザ |
[in] | model | 音声モデル |
VoicevoxResultCode voicevox_synthesizer_new | ( | const struct VoicevoxOnnxruntime * | onnxruntime, |
const struct OpenJtalkRc * | open_jtalk, | ||
struct VoicevoxInitializeOptions | options, | ||
struct VoicevoxSynthesizer ** | out_synthesizer | ||
) |
VoicevoxSynthesizer を構築(construct)する。
[in] | onnxruntime | |
[in] | open_jtalk | Open JTalkのオブジェクト |
[in] | options | オプション |
[out] | out_synthesizer | 構築先 |
安全性要件は以下の通りである。
onnxruntime
は voicevox_onnxruntime_load_once または voicevox_onnxruntime_init_once で得たものでなければならない。out_synthesizer
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_synthesizer_replace_mora_data | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const char * | accent_phrases_json, | ||
VoicevoxStyleId | style_id, | ||
char ** | output_accent_phrases_json | ||
) |
AccentPhraseの配列の音高・音素長を、特定の声で生成しなおす。
生成したJSON文字列を解放するには voicevox_json_free を使う。
[in] | synthesizer | 音声シンセサイザ |
[in] | accent_phrases_json | AccentPhraseの配列のJSON文字列 |
[in] | style_id | スタイルID |
[out] | output_accent_phrases_json | 生成先 |
安全性要件は以下の通りである。
accent_phrases_json
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_audio_query_json
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_synthesizer_replace_mora_pitch | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const char * | accent_phrases_json, | ||
VoicevoxStyleId | style_id, | ||
char ** | output_accent_phrases_json | ||
) |
AccentPhraseの配列の音高を、特定の声で生成しなおす。
生成したJSON文字列を解放するには voicevox_json_free を使う。
[in] | synthesizer | 音声シンセサイザ |
[in] | accent_phrases_json | AccentPhraseの配列のJSON文字列 |
[in] | style_id | スタイルID |
[out] | output_accent_phrases_json | 生成先 |
安全性要件は以下の通りである。
accent_phrases_json
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_audio_query_json
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_synthesizer_replace_phoneme_length | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const char * | accent_phrases_json, | ||
VoicevoxStyleId | style_id, | ||
char ** | output_accent_phrases_json | ||
) |
AccentPhraseの配列の音素長を、特定の声で生成しなおす。
生成したJSON文字列を解放するには voicevox_json_free を使う。
[in] | synthesizer | 音声シンセサイザ |
[in] | accent_phrases_json | AccentPhraseの配列のJSON文字列 |
[in] | style_id | スタイルID |
[out] | output_accent_phrases_json | 生成先 |
安全性要件は以下の通りである。
accent_phrases_json
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_audio_query_json
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_synthesizer_synthesis | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const char * | audio_query_json, | ||
VoicevoxStyleId | style_id, | ||
struct VoicevoxSynthesisOptions | options, | ||
uintptr_t * | output_wav_length, | ||
uint8_t ** | output_wav | ||
) |
AudioQueryから音声合成を行う。
生成したWAVデータを解放するには voicevox_wav_free を使う。
[in] | synthesizer | 音声シンセサイザ |
[in] | audio_query_json | AudioQueryのJSON文字列 |
[in] | style_id | スタイルID |
[in] | options | オプション |
[out] | output_wav_length | 出力のバイト長 |
[out] | output_wav | 出力先 |
安全性要件は以下の通りである。
audio_query_json
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_wav_length
は書き込みについて有効でなければならない。output_wav
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_synthesizer_tts | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const char * | text, | ||
VoicevoxStyleId | style_id, | ||
struct VoicevoxTtsOptions | options, | ||
uintptr_t * | output_wav_length, | ||
uint8_t ** | output_wav | ||
) |
日本語テキストから音声合成を行う。
生成したWAVデータを解放するには voicevox_wav_free を使う。
[in] | synthesizer | |
[in] | text | UTF-8の日本語テキスト |
[in] | style_id | スタイルID |
[in] | options | オプション |
[out] | output_wav_length | 出力のバイト長 |
[out] | output_wav | 出力先 |
安全性要件は以下の通りである。
text
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_wav_length
は書き込みについて有効でなければならない。output_wav
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_synthesizer_tts_from_kana | ( | const struct VoicevoxSynthesizer * | synthesizer, |
const char * | kana, | ||
VoicevoxStyleId | style_id, | ||
struct VoicevoxTtsOptions | options, | ||
uintptr_t * | output_wav_length, | ||
uint8_t ** | output_wav | ||
) |
AquesTalk風記法から音声合成を行う。
生成したWAVデータを解放するには voicevox_wav_free を使う。
[in] | synthesizer | |
[in] | kana | AquesTalk風記法 |
[in] | style_id | スタイルID |
[in] | options | オプション |
[out] | output_wav_length | 出力のバイト長 |
[out] | output_wav | 出力先 |
安全性要件は以下の通りである。
kana
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_wav_length
は書き込みについて有効でなければならない。output_wav
は書き込みについて有効でなければならない。 VoicevoxResultCode voicevox_synthesizer_unload_voice_model | ( | const struct VoicevoxSynthesizer * | synthesizer, |
VoicevoxVoiceModelId | model_id | ||
) |
音声モデルの読み込みを解除する。
[in] | synthesizer | 音声シンセサイザ |
[in] | model_id | 音声モデルID |
VoicevoxResultCode voicevox_user_dict_add_word | ( | const struct VoicevoxUserDict * | user_dict, |
const struct VoicevoxUserDictWord * | word, | ||
uint8_t(*) | output_word_uuid[16] | ||
) |
ユーザー辞書に単語を追加する。
[in] | ユーザー辞書 | |
[in] | word | 追加する単語 |
[out] | output_word_uuid | 追加した単語のUUID |
user_dict | は有効な :VoicevoxUserDict のポインタであること |
安全性要件は以下の通りである。
word->surface
とword->pronunciation
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。output_word_uuid
は書き込みについて有効でなければならない。 void voicevox_user_dict_delete | ( | struct VoicevoxUserDict * | user_dict | ) |
ユーザー辞書を破棄(destruct)する。
破棄対象への他スレッドでのアクセスが存在する場合、それらがすべて終わるのを待ってから破棄する。
この関数の呼び出し後に破棄し終えた対象にアクセスすると、プロセスを異常終了する。
[in] | user_dict | 破棄対象 |
VoicevoxResultCode voicevox_user_dict_import | ( | const struct VoicevoxUserDict * | user_dict, |
const struct VoicevoxUserDict * | other_dict | ||
) |
他のユーザー辞書をインポートする。
[in] | user_dict | ユーザー辞書 |
[in] | other_dict | インポートするユーザー辞書 |
VoicevoxResultCode voicevox_user_dict_load | ( | const struct VoicevoxUserDict * | user_dict, |
const char * | dict_path | ||
) |
ユーザー辞書にファイルを読み込ませる。
[in] | user_dict | ユーザー辞書 |
[in] | dict_path | 読み込む辞書ファイルのパス |
struct VoicevoxUserDict * voicevox_user_dict_new | ( | void | ) |
ユーザー辞書をb>構築(construct)する。
VoicevoxResultCode voicevox_user_dict_remove_word | ( | const struct VoicevoxUserDict * | user_dict, |
const uint8_t(*) | word_uuid[16] | ||
) |
ユーザー辞書から単語を削除する。
[in] | user_dict | ユーザー辞書 |
[in] | word_uuid | 削除する単語のUUID |
VoicevoxResultCode voicevox_user_dict_save | ( | const struct VoicevoxUserDict * | user_dict, |
const char * | path | ||
) |
ユーザー辞書をファイルに保存する。
[in] | user_dict | ユーザー辞書 |
[in] | path | 保存先のファイルパス |
VoicevoxResultCode voicevox_user_dict_to_json | ( | const struct VoicevoxUserDict * | user_dict, |
char ** | output_json | ||
) |
ユーザー辞書の単語をJSON形式で出力する。
生成したJSON文字列を解放するには voicevox_json_free を使う。
[in] | user_dict | ユーザー辞書 |
[out] | output_json | 出力先 |
VoicevoxResultCode voicevox_user_dict_update_word | ( | const struct VoicevoxUserDict * | user_dict, |
const uint8_t(*) | word_uuid[16], | ||
const struct VoicevoxUserDictWord * | word | ||
) |
ユーザー辞書の単語を更新する。
[in] | user_dict | ユーザー辞書 |
[in] | word_uuid | 更新する単語のUUID |
[in] | word | 新しい単語のデータ |
安全性要件は以下の通りである。
word_uuid
は読み込みについて有効でなければならない。word->surface
とword->pronunciation
はヌル終端文字列を指し、かつ読み込みについて有効でなければならない。 struct VoicevoxUserDictWord voicevox_user_dict_word_make | ( | const char * | surface, |
const char * | pronunciation | ||
) |
VoicevoxUserDictWord を最低限のパラメータで作成する。
[in] | surface | 表記 |
[in] | pronunciation | 読み |
void voicevox_voice_model_file_close | ( | struct VoicevoxVoiceModelFile * | model | ) |
VoicevoxVoiceModelFile を、所有しているファイルディスクリプタを閉じた上で破棄(destruct)する。
破棄対象への他スレッドでのアクセスが存在する場合、それらがすべて終わるのを待ってから破棄する。
この関数の呼び出し後に破棄し終えた対象にアクセスすると、プロセスを異常終了する。
[in] | model | 破棄対象 |
char * voicevox_voice_model_file_create_metas_json | ( | const struct VoicevoxVoiceModelFile * | model | ) |
VoicevoxVoiceModelFile からメタ情報を取得する。
JSONの解放は voicevox_json_free で行う。
[in] | model | 音声モデル |
void voicevox_voice_model_file_id | ( | const struct VoicevoxVoiceModelFile * | model, |
uint8_t(*) | output_voice_model_id[16] | ||
) |
VoicevoxVoiceModelFile からIDを取得する。
[in] | model | 音声モデル |
[out] | output_voice_model_id | 音声モデルID |
VoicevoxResultCode voicevox_voice_model_file_open | ( | const char * | path, |
struct VoicevoxVoiceModelFile ** | out_model | ||
) |
VVMファイルを開く。
[in] | path | vvmファイルへのUTF-8のファイルパス |
[out] | out_model | 構築先 |
void voicevox_wav_free | ( | uint8_t * | wav | ) |
WAVデータを解放する。
[in] | wav | 解放するWAVデータ |
安全性要件は以下の通りである。
wav
は以下のAPIで得られたポインタでなくてはいけない。
wav
は読み込みと書き込みについて有効でなければならない。wav
は以後ダングリングポインタ(dangling pointer)として扱われなくてはならない。