70#ifndef VOICEVOX_CORE_INCLUDE_GUARD
71#define VOICEVOX_CORE_INCLUDE_GUARD
85#if !(defined(VOICEVOX_LINK_ONNXRUNTIME) || defined(VOICEVOX_LOAD_ONNXRUNTIME))
86#error "either `VOICEVOX_LINK_ONNXRUNTIME` or `VOICEVOX_LOAD_ONNXRUNTIME` must be enabled"
89#if defined(VOICEVOX_LINK_ONNXRUNTIME) && defined(VOICEVOX_LOAD_ONNXRUNTIME)
90#error "`VOICEVOX_LINK_ONNXRUNTIME` or `VOICEVOX_LOAD_ONNXRUNTIME` cannot be enabled at the same time"
94#define VOICEVOX_DEPRECATED(note) __declspec(deprecated(note))
95#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L || \
96 defined(__cplusplus) && __cplusplus >= 201402L
97#define VOICEVOX_DEPRECATED(note) [[deprecated(note)]]
98#elif defined(__GNUC__) || defined(__clang__)
99#define VOICEVOX_DEPRECATED(note) __attribute__((deprecated(note)))
101#define VOICEVOX_DEPRECATED(note)
114#define VOICEVOX_FRAME_RATE 93.75
417#if defined(VOICEVOX_LOAD_ONNXRUNTIME)
593#if defined(VOICEVOX_LOAD_ONNXRUNTIME)
611#if defined(VOICEVOX_LOAD_ONNXRUNTIME)
627#if defined(VOICEVOX_LOAD_ONNXRUNTIME)
659#if defined(VOICEVOX_LOAD_ONNXRUNTIME)
690#if defined(VOICEVOX_LINK_ONNXRUNTIME)
780 char **output_accent_phrases_json);
857 char **output_audio_query_json);
1024__declspec(dllimport)
1028 uintptr_t *output_frame_length);
1056__declspec(dllimport)
1082__declspec(dllimport)
1107__declspec(dllimport)
1133__declspec(dllimport)
1159__declspec(dllimport)
1187__declspec(dllimport)
1211__declspec(dllimport)
1235__declspec(dllimport)
1238 const char *frame_audio_query_json);
1263__declspec(dllimport)
1267 uint32_t sampling_rate,
1269 uintptr_t *output_wav_length,
1270 uint8_t **output_wav);
1288__declspec(dllimport)
1306__declspec(dllimport)
1309 uint8_t (*output_voice_model_id)[16]);
1323__declspec(dllimport)
1339__declspec(dllimport)
1361__declspec(dllimport)
1380__declspec(dllimport)
1391__declspec(dllimport)
1407__declspec(dllimport)
1428__declspec(dllimport)
1443__declspec(dllimport)
1457__declspec(dllimport)
1476__declspec(dllimport)
1493__declspec(dllimport)
1524__declspec(dllimport)
1527 char **output_supported_devices_json);
1558__declspec(dllimport)
1563 char **output_audio_query_json);
1599__declspec(dllimport)
1604 char **output_audio_query_json);
1636__declspec(dllimport)
1641 char **output_accent_phrases_json);
1677__declspec(dllimport)
1682 char **output_accent_phrases_json);
1709__declspec(dllimport)
1712 const char *accent_phrases_json,
1714 char **output_accent_phrases_json);
1736__declspec(dllimport)
1739 const char *accent_phrases_json,
1741 char **output_accent_phrases_json);
1763__declspec(dllimport)
1766 const char *accent_phrases_json,
1768 char **output_accent_phrases_json);
1777__declspec(dllimport)
1804__declspec(dllimport)
1807 const char *audio_query_json,
1810 uintptr_t *output_wav_length,
1811 uint8_t **output_wav);
1834__declspec(dllimport)
1837 const char *audio_query_json,
1852__declspec(dllimport)
1880__declspec(dllimport)
1884 uintptr_t start_inclusive,
1885 uintptr_t end_exclusive,
1886 uintptr_t *output_pcm_length,
1887 uint8_t **output_pcm);
1901__declspec(dllimport)
1912__declspec(dllimport)
1939__declspec(dllimport)
1945 uintptr_t *output_wav_length,
1946 uint8_t **output_wav);
1976__declspec(dllimport)
1982 uintptr_t *output_wav_length,
1983 uint8_t **output_wav);
2032__declspec(dllimport)
2035 const char *score_json,
2037 char **output_frame_audio_query_json);
2067__declspec(dllimport)
2070 const char *score_json,
2071 const char *frame_audio_query_json,
2073 char **output_f0_json);
2103__declspec(dllimport)
2106 const char *score_json,
2107 const char *frame_audio_query_json,
2109 char **output_volume_json);
2150__declspec(dllimport)
2153 const char *frame_audio_query_json,
2155 uintptr_t *output_wav_length,
2156 uint8_t **output_wav);
2189__declspec(dllimport)
2224__declspec(dllimport)
2226VOICEVOX_DEPRECATED(
"use 'voicevox_string_free' instead")
2251__declspec(dllimport)
2275__declspec(dllimport)
2277VOICEVOX_DEPRECATED(
"use 'voicevox_bytes_free' instead")
2305__declspec(dllimport)
2320__declspec(dllimport)
2334__declspec(dllimport)
2352__declspec(dllimport)
2355 const char *dict_path);
2376__declspec(dllimport)
2380 uint8_t (*output_word_uuid)[16]);
2398__declspec(dllimport)
2401 const uint8_t (*word_uuid)[16],
2418__declspec(dllimport)
2421 const uint8_t (*word_uuid)[16]);
2439__declspec(dllimport)
2442 char **output_json);
2454__declspec(dllimport)
2472__declspec(dllimport)
2489__declspec(dllimport)
2497#undef VOICEVOX_DEPRECATED
Definition voicevox_core.h:459
bool enable_interrogative_upspeak
Definition voicevox_core.h:463
Definition voicevox_core.h:442
uint16_t cpu_num_threads
Definition voicevox_core.h:451
VoicevoxAccelerationMode acceleration_mode
Definition voicevox_core.h:446
Definition voicevox_core.h:427
const char * filename
Definition voicevox_core.h:433
Definition voicevox_core.h:471
VoicevoxOnExistingVoiceModelId on_existing
Definition voicevox_core.h:475
Definition voicevox_core.h:511
bool enable_interrogative_upspeak
Definition voicevox_core.h:515
Definition voicevox_core.h:523
bool enable_interrogative_upspeak
Definition voicevox_core.h:527
Definition voicevox_core.h:535
VoicevoxUserDictWordType word_type
Definition voicevox_core.h:551
const char * surface
Definition voicevox_core.h:539
uintptr_t accent_type
Definition voicevox_core.h:547
const char * pronunciation
Definition voicevox_core.h:543
uint8_t priority
Definition voicevox_core.h:555
void voicevox_open_jtalk_rc_delete(struct OpenJtalkRc *open_jtalk)
VoicevoxResultCode voicevox_synthesizer_create_accent_phrases(const struct VoicevoxSynthesizer *synthesizer, const char *text, VoicevoxStyleId style_id, char **output_accent_phrases_json)
VoicevoxResultCode voicevox_synthesizer_create_sing_frame_f0(const struct VoicevoxSynthesizer *synthesizer, const char *score_json, const char *frame_audio_query_json, VoicevoxStyleId style_id, char **output_f0_json)
struct VoicevoxSynthesisOptions VoicevoxSynthesisOptions
uint32_t voicevox_get_onnxruntime_lib_min_required_minor_version(void)
VoicevoxResultCode voicevox_synthesizer_replace_mora_data(const struct VoicevoxSynthesizer *synthesizer, const char *accent_phrases_json, VoicevoxStyleId style_id, char **output_accent_phrases_json)
VoicevoxResultCode voicevox_synthesizer_create_audio_query(const struct VoicevoxSynthesizer *synthesizer, const char *text, VoicevoxStyleId style_id, char **output_audio_query_json)
uint32_t VoicevoxStyleId
Definition voicevox_core.h:504
VoicevoxResultCode voicevox_user_dict_save(const struct VoicevoxUserDict *user_dict, const char *path)
void voicevox_voice_model_file_id(const struct VoicevoxVoiceModelFile *model, uint8_t(*output_voice_model_id)[16])
struct OpenJtalkRc OpenJtalkRc
Definition voicevox_core.h:363
VoicevoxResultCode voicevox_synthesizer_create_sing_frame_volume(const struct VoicevoxSynthesizer *synthesizer, const char *score_json, const char *frame_audio_query_json, VoicevoxStyleId style_id, char **output_volume_json)
VoicevoxUserDictWordType
Definition voicevox_core.h:318
@ VOICEVOX_USER_DICT_WORD_TYPE_ADJECTIVE
Definition voicevox_core.h:334
@ VOICEVOX_USER_DICT_WORD_TYPE_SUFFIX
Definition voicevox_core.h:338
@ VOICEVOX_USER_DICT_WORD_TYPE_PROPER_NOUN
Definition voicevox_core.h:322
@ VOICEVOX_USER_DICT_WORD_TYPE_VERB
Definition voicevox_core.h:330
@ VOICEVOX_USER_DICT_WORD_TYPE_COMMON_NOUN
Definition voicevox_core.h:326
VoicevoxResultCode voicevox_onnxruntime_create_supported_devices_json(const struct VoicevoxOnnxruntime *onnxruntime, char **output_supported_devices_json)
void voicevox_wav_from_s16le(uintptr_t pcm_length, const uint8_t *pcm, uint32_t sampling_rate, bool is_stereo, uintptr_t *output_wav_length, uint8_t **output_wav)
VoicevoxResultCode voicevox_score_validate(const char *score_json)
VoicevoxResultCode voicevox_synthesizer_unload_voice_model(const struct VoicevoxSynthesizer *synthesizer, VoicevoxVoiceModelId model_id)
char * voicevox_synthesizer_create_metas_json(const struct VoicevoxSynthesizer *synthesizer)
struct VoicevoxAudioFeature VoicevoxAudioFeature
Definition voicevox_core.h:372
VoicevoxResultCode voicevox_frame_phoneme_validate(const char *frame_phoneme_json)
const uint8_t * voicevox_empty_bytes
uint32_t voicevox_get_onnxruntime_lib_max_supported_minor_version(void)
struct VoicevoxLoadVoiceModelOptions voicevox_make_default_load_voice_model_options(void)
VoicevoxResultCode voicevox_audio_query_create_from_accent_phrases(const char *accent_phrases_json, char **output_audio_query_json)
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)
VoicevoxResultCode voicevox_open_jtalk_rc_new(const char *open_jtalk_dic_dir, struct OpenJtalkRc **out_open_jtalk)
const uint8_t(* VoicevoxVoiceModelId)[16]
Definition voicevox_core.h:495
VoicevoxResultCode voicevox_synthesizer_create_accent_phrases_from_kana(const struct VoicevoxSynthesizer *synthesizer, const char *kana, VoicevoxStyleId style_id, char **output_accent_phrases_json)
VoicevoxResultCode voicevox_audio_query_validate(const char *audio_query_json)
VoicevoxOnExistingVoiceModelId
Definition voicevox_core.h:152
@ VOICEVOX_ON_EXISTING_VOICE_MODEL_ID_RELOAD
Definition voicevox_core.h:160
@ VOICEVOX_ON_EXISTING_VOICE_MODEL_ID_ERROR
Definition voicevox_core.h:156
@ VOICEVOX_ON_EXISTING_VOICE_MODEL_ID_SKIP
Definition voicevox_core.h:164
void voicevox_string_free(char *string)
VoicevoxResultCode voicevox_synthesizer_new(const struct VoicevoxOnnxruntime *onnxruntime, const struct OpenJtalkRc *open_jtalk, struct VoicevoxInitializeOptions options, struct VoicevoxSynthesizer **out_synthesizer)
void voicevox_voice_model_file_delete(struct VoicevoxVoiceModelFile *model)
struct VoicevoxAudioQueryFrameLengthOptions voicevox_make_default_audio_query_frame_length_options(void)
void voicevox_json_free(char *json)
struct VoicevoxSynthesisOptions voicevox_make_default_synthesis_options(void)
struct VoicevoxInitializeOptions VoicevoxInitializeOptions
VoicevoxResultCode voicevox_onnxruntime_load_once(struct VoicevoxLoadOnnxruntimeOptions options, const struct VoicevoxOnnxruntime **out_onnxruntime)
struct VoicevoxVoiceModelFile VoicevoxVoiceModelFile
Definition voicevox_core.h:415
const struct VoicevoxOnnxruntime * voicevox_onnxruntime_get(void)
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)
VoicevoxResultCode
Definition voicevox_core.h:179
@ VOICEVOX_RESULT_INVALID_FRAME_PHONEME_ERROR
Definition voicevox_core.h:299
@ VOICEVOX_RESULT_RUN_MODEL_ERROR
Definition voicevox_core.h:211
@ VOICEVOX_RESULT_USER_DICT_WORD_NOT_FOUND_ERROR
Definition voicevox_core.h:267
@ VOICEVOX_RESULT_USE_USER_DICT_ERROR
Definition voicevox_core.h:271
@ VOICEVOX_RESULT_GPU_SUPPORT_ERROR
Definition voicevox_core.h:195
@ VOICEVOX_RESULT_INVALID_USER_DICT_WORD_ERROR
Definition voicevox_core.h:275
@ VOICEVOX_RESULT_INVALID_UUID_ERROR
Definition voicevox_core.h:279
@ VOICEVOX_RESULT_INVALID_ACCENT_PHRASE_ERROR
Definition voicevox_core.h:231
@ VOICEVOX_RESULT_ANALYZE_TEXT_ERROR
Definition voicevox_core.h:215
@ VOICEVOX_RESULT_MODEL_ALREADY_LOADED_ERROR
Definition voicevox_core.h:247
@ VOICEVOX_RESULT_INIT_INFERENCE_RUNTIME_ERROR
Definition voicevox_core.h:199
@ VOICEVOX_RESULT_NOT_LOADED_OPENJTALK_DICT_ERROR
Definition voicevox_core.h:187
@ VOICEVOX_RESULT_INVALID_MODEL_FORMAT_ERROR
Definition voicevox_core.h:243
@ VOICEVOX_RESULT_INVALID_AUDIO_QUERY_ERROR
Definition voicevox_core.h:227
@ VOICEVOX_RESULT_SAVE_USER_DICT_ERROR
Definition voicevox_core.h:263
@ VOICEVOX_RESULT_INVALID_MODEL_DATA_ERROR
Definition voicevox_core.h:255
@ VOICEVOX_RESULT_OPEN_ZIP_FILE_ERROR
Definition voicevox_core.h:235
@ VOICEVOX_RESULT_OK
Definition voicevox_core.h:183
@ VOICEVOX_RESULT_PARSE_KANA_ERROR
Definition voicevox_core.h:223
@ VOICEVOX_RESULT_STYLE_NOT_FOUND_ERROR
Definition voicevox_core.h:203
@ VOICEVOX_RESULT_INVALID_FRAME_AUDIO_QUERY_ERROR
Definition voicevox_core.h:295
@ VOICEVOX_RESULT_GET_SUPPORTED_DEVICES_ERROR
Definition voicevox_core.h:191
@ VOICEVOX_RESULT_INCOMPATIBLE_QUERIES_ERROR
Definition voicevox_core.h:303
@ VOICEVOX_RESULT_STYLE_ALREADY_LOADED_ERROR
Definition voicevox_core.h:251
@ VOICEVOX_RESULT_LOAD_USER_DICT_ERROR
Definition voicevox_core.h:259
@ VOICEVOX_RESULT_MODEL_NOT_FOUND_ERROR
Definition voicevox_core.h:207
@ VOICEVOX_RESULT_READ_ZIP_ENTRY_ERROR
Definition voicevox_core.h:239
@ VOICEVOX_RESULT_INVALID_NOTE_ERROR
Definition voicevox_core.h:291
@ VOICEVOX_RESULT_INVALID_SCORE_ERROR
Definition voicevox_core.h:287
@ VOICEVOX_RESULT_INVALID_UTF8_INPUT_ERROR
Definition voicevox_core.h:219
@ VOICEVOX_RESULT_INVALID_MORA_ERROR
Definition voicevox_core.h:283
struct VoicevoxTtsOptions voicevox_make_default_tts_options(void)
VoicevoxResultCode voicevox_user_dict_to_json(const struct VoicevoxUserDict *user_dict, char **output_json)
struct VoicevoxLoadVoiceModelOptions VoicevoxLoadVoiceModelOptions
VoicevoxAccelerationMode
Definition voicevox_core.h:125
@ VOICEVOX_ACCELERATION_MODE_GPU
Definition voicevox_core.h:137
@ VOICEVOX_ACCELERATION_MODE_AUTO
Definition voicevox_core.h:129
@ VOICEVOX_ACCELERATION_MODE_CPU
Definition voicevox_core.h:133
VoicevoxResultCode voicevox_accent_phrase_validate(const char *accent_phrase_json)
const char * voicevox_error_result_to_message(VoicevoxResultCode result_code)
VoicevoxResultCode voicevox_open_jtalk_rc_use_user_dict(const struct OpenJtalkRc *open_jtalk, const struct VoicevoxUserDict *user_dict)
bool voicevox_synthesizer_is_loaded_voice_model(const struct VoicevoxSynthesizer *synthesizer, VoicevoxVoiceModelId model_id)
VoicevoxResultCode voicevox_synthesizer_frame_synthesis(const struct VoicevoxSynthesizer *synthesizer, const char *frame_audio_query_json, VoicevoxStyleId style_id, uintptr_t *output_wav_length, uint8_t **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)
VoicevoxResultCode voicevox_synthesizer_load_voice_model(const struct VoicevoxSynthesizer *synthesizer, const struct VoicevoxVoiceModelFile *model, struct VoicevoxLoadVoiceModelOptions options)
VoicevoxResultCode voicevox_synthesizer_create_audio_feature(const struct VoicevoxSynthesizer *synthesizer, const char *audio_query_json, VoicevoxStyleId style_id, struct VoicevoxSynthesisOptions options, struct VoicevoxAudioFeature **out_audio_feature)
VoicevoxResultCode voicevox_user_dict_update_word(const struct VoicevoxUserDict *user_dict, const uint8_t(*word_uuid)[16], const struct VoicevoxUserDictWord *word)
VoicevoxResultCode voicevox_ensure_compatible(const char *score_json, const char *frame_audio_query_json)
struct VoicevoxSynthesizer VoicevoxSynthesizer
Definition voicevox_core.h:398
VoicevoxResultCode voicevox_mora_validate(const char *mora_json)
bool voicevox_synthesizer_is_gpu_mode(const struct VoicevoxSynthesizer *synthesizer)
char * voicevox_voice_model_file_create_metas_json(const struct VoicevoxVoiceModelFile *model)
VoicevoxResultCode voicevox_audio_query_frame_length(const char *audio_query_json, struct VoicevoxAudioQueryFrameLengthOptions options, uintptr_t *output_frame_length)
VoicevoxResultCode voicevox_open_jtalk_rc_analyze(const struct OpenJtalkRc *open_jtalk, const char *text, char **output_accent_phrases_json)
VoicevoxResultCode voicevox_synthesizer_create_sing_frame_audio_query(const struct VoicevoxSynthesizer *synthesizer, const char *score_json, VoicevoxStyleId style_id, char **output_frame_audio_query_json)
const char * voicevox_get_onnxruntime_lib_recommended_unversioned_filename(void)
struct VoicevoxTtsOptions VoicevoxTtsOptions
struct VoicevoxUserDict VoicevoxUserDict
Definition voicevox_core.h:405
void voicevox_synthesizer_delete(struct VoicevoxSynthesizer *synthesizer)
const char * voicevox_get_onnxruntime_lib_recommended_versioned_filename(void)
double voicevox_get_frame_rate(void)
VoicevoxResultCode voicevox_synthesizer_create_audio_query_from_kana(const struct VoicevoxSynthesizer *synthesizer, const char *kana, VoicevoxStyleId style_id, char **output_audio_query_json)
void voicevox_wav_free(uint8_t *wav)
VoicevoxResultCode voicevox_synthesizer_render(const struct VoicevoxSynthesizer *synthesizer, const struct VoicevoxAudioFeature *audio_feature, uintptr_t start_inclusive, uintptr_t end_exclusive, uintptr_t *output_pcm_length, uint8_t **output_pcm)
VoicevoxResultCode voicevox_note_validate(const char *note_json)
void voicevox_bytes_free(uint8_t *bytes)
const char * voicevox_get_version(void)
struct VoicevoxUserDict * voicevox_user_dict_new(void)
struct VoicevoxLoadOnnxruntimeOptions VoicevoxLoadOnnxruntimeOptions
VoicevoxResultCode voicevox_user_dict_remove_word(const struct VoicevoxUserDict *user_dict, const uint8_t(*word_uuid)[16])
const struct VoicevoxOnnxruntime * voicevox_synthesizer_get_onnxruntime(const struct VoicevoxSynthesizer *synthesizer)
VoicevoxResultCode voicevox_frame_audio_query_validate(const char *frame_audio_query_json)
struct VoicevoxOnnxruntime VoicevoxOnnxruntime
Definition voicevox_core.h:389
struct VoicevoxUserDictWord voicevox_user_dict_word_make(const char *surface, const char *pronunciation, uintptr_t accent_type)
void voicevox_audio_feature_delete(struct VoicevoxAudioFeature *audio_feature)
VoicevoxResultCode voicevox_onnxruntime_init_once(const struct VoicevoxOnnxruntime **out_onnxruntime)
VoicevoxResultCode voicevox_voice_model_file_open(const char *path, struct VoicevoxVoiceModelFile **out_model)
uintptr_t voicevox_audio_feature_frame_length(const struct VoicevoxAudioFeature *audio_feature)
VoicevoxResultCode voicevox_user_dict_add_word(const struct VoicevoxUserDict *user_dict, const struct VoicevoxUserDictWord *word, uint8_t(*output_word_uuid)[16])
VoicevoxResultCode voicevox_user_dict_load(const struct VoicevoxUserDict *user_dict, const char *dict_path)
VoicevoxResultCode voicevox_user_dict_import(const struct VoicevoxUserDict *user_dict, const struct VoicevoxUserDict *other_dict)
struct VoicevoxUserDictWord VoicevoxUserDictWord
void voicevox_user_dict_delete(struct VoicevoxUserDict *user_dict)
struct VoicevoxInitializeOptions voicevox_make_default_initialize_options(void)
VoicevoxResultCode voicevox_synthesizer_replace_mora_pitch(const struct VoicevoxSynthesizer *synthesizer, const char *accent_phrases_json, VoicevoxStyleId style_id, char **output_accent_phrases_json)
struct VoicevoxLoadOnnxruntimeOptions voicevox_make_default_load_onnxruntime_options(void)
VoicevoxResultCode voicevox_synthesizer_replace_phoneme_length(const struct VoicevoxSynthesizer *synthesizer, const char *accent_phrases_json, VoicevoxStyleId style_id, char **output_accent_phrases_json)
struct VoicevoxAudioQueryFrameLengthOptions VoicevoxAudioQueryFrameLengthOptions