2个版本
0.0.2 | 2023年4月3日 |
---|---|
0.0.1 | 2023年4月3日 |
#322 在 音频
44KB
892 行
VOICEVOX CORE Rust绑定
这是一个VOICEVOX CORE的非官方Rust FFI包装器。它提供了一个用于调用VOICEVOX CORE的高级API。它还提供了一个用于直接调用VOICEVOX CORE提供的ffi的低级API。
运行示例
所需
请使用以下方法下载VOICEVOX CORE。 https://github.com/VOICEVOX/voicevox_core#%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89
示例
use std::io::Write;
use vvcore::*;
fn main() {
let dir = std::ffi::CString::new("open_jtalk_dic_utf_8-1.11").unwrap();
let vvc = VoicevoxCore::new_from_options(AccelerationMode::Auto, 0, true, dir.as_c_str()).unwrap();
let text: &str = "こんにちは";
let speaker: u32 = 1;
let wav = vvc.tts_simple(text, speaker).unwrap();
let mut file = std::fs::File::create("audio.wav").unwrap();
file.write_all(&wav.as_slice()).unwrap();
}
构建和执行
请注意,下载的voicevox_core目录内的文件在运行时是必需的,因此请将构建的二进制文件放置在下载的voicevox_core目录中并执行它。
兼容性
以下函数作为高级API提供。在高级API中,初始化函数和释放函数由RAII实现。此外,所有函数都可以在api模块中以不安全函数的形式引用。
- voicevox_make_default_initialize_options
- voicevox_get_version
- voicevox_load_model
- voicevox_is_gpu_mode
- voicevox_is_model_loaded
- voicevox_get_metas_json
- voicevox_get_supported_devices_json
- voicevox_predict_duration
- voicevox_predict_intonation
- voicevox_decode
- voicevox_make_default_audio_query_options
- voicevox_audio_query
- voicevox_make_default_synthesis_options
- voicevox_synthesis
- voicevox_make_default_tts_options
- voicevox_tts
- voicevox_error_result_to_message
-
voicevox_initialize -
voicevox_finalize -
voicevox_predict_duration_data_free -
voicevox_predict_intonation_data_free -
voicevox_decode_data_free -
voicevox_audio_query_json_free -
voicevox_wav_free
运行测试
Linux上的运行示例。
请注意,它只能在单个线程中执行。
## Clone repository
git clone https://github.com/iwase22334/voicevox-core-rs
cd voicevox-core-rs
## Download voicevox core
binary=download-linux-x64
curl -sSfL https://github.com/VOICEVOX/voicevox_core/releases/latest/download/${binary} -o download
chmod +x download
./download
## Run test
(export LD_LIBRARY_PATH=./voicevox_core:$LD_LIBRARY_PATH && cargo test -- --test-threads=1)