VOICEVOX CORE Rust Bindings
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
ビルド方法
以下のコマンドでサンプルコードをビルドします。
cargo build --example simple-tts
ビルドに必要なファイルがあるディレクトリに実行ファイルを移動します。
mv target/debug/examples/simple-tts voicevox_core
実行
以下のコマンドで実行します。voicevox_coreディレクトリ内にaudio.wavが生成されます。
(export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH && cd voicevox_core && ./simple-tts)
テスト
(export LD_LIBRARY_PATH=./voicevox_core:$LD_LIBRARY_PATH && cargo test -- --test-threads=1)
対応状況
以下の関数は、高レベルなAPIとして利用可能です。
高レベルAPIにおいては、初期化関数やfree関数はRAIIにより実行されるため実装されません。
また、すべての関数はapiモジュール内でunsafeな関数として参照できます。
- [x] voicevoxmakedefaultinitializeoptions
- [x] ~~voicevox_initialize~~
- [x] voicevoxgetversion
- [x] voicevoxloadmodel
- [x] voicevoxisgpu_mode
- [x] voicevoxismodel_loaded
- [x] ~~voicevox_finalize~~
- [x] voicevoxgetmetas_json
- [x] voicevoxgetsupporteddevicesjson
- [x] voicevoxpredictduration
- [ ] ~~voicevoxpredictdurationdatafree~~
- [x] voicevoxpredictintonation
- [ ] ~~voicevoxpredictintonationdatafree~~
- [x] voicevox_decode
- [ ] ~~voicevoxdecodedata_free~~
- [x] voicevoxmakedefaultaudioquery_options
- [x] voicevoxaudioquery
- [x] voicevoxmakedefaultsynthesisoptions
- [x] voicevox_synthesis
- [x] voicevoxmakedefaultttsoptions
- [x] voicevox_tts
- [ ] ~~voicevoxaudioqueryjsonfree~~
- [x] ~~voicevoxwavfree~~
- [x] voicevoxerrorresulttomessage