voicevox-dyn

Crates.iovoicevox-dyn
lib.rsvoicevox-dyn
version0.3.0
sourcesrc
created_at2023-09-18 13:07:08.587092
updated_at2023-10-13 03:53:11.345878
descriptiondynamically load and run voicevox from rust
homepage
repositoryhttps://github.com/chronicl/voicevox-dyn
max_upload_size
id975896
size37,364
Lennard (chronicl)

documentation

README

voicevox without hassle

Downloads VOICEVOX CORE and dynamically loads it at runtime.

This crate makes it as easy as possible to use voicevox in rust, in particular, it is possible to distribute a single binary that sets up voicevox itself and is also able to run it.

Example

use voicevox_dyn::{AccelerationMode, VoiceVox};

const SPEAKER_ID: u32 = 4;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let threads = std::thread::available_parallelism()?.get() as u16;

    let mut vv = VoiceVox::load()?;
    vv.init(AccelerationMode::Auto, threads, false)?;
    vv.load_model(SPEAKER_ID)?;

    let wav = vv.tts("こんにちは", SPEAKER_ID, Default::default())?;

    std::fs::write("audio.wav", wav.as_slice())?;

    Ok(())
}

Alternatives

If you prefer to dynamically link voicevox instead, I recommend using vvcore.

Commit count: 4

cargo fmt