-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathtts_kokoro.rs
33 lines (30 loc) · 1.32 KB
/
tts_kokoro.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-multi-lang-v1_0.tar.bz2
tar xf kokoro-multi-lang-v1_0.tar.bz2
rm kokoro-multi-lang-v1_0.tar.bz2
cargo run --example tts_kokoro
For Chinese:
let sid = 50;
let text = "中英文语音合成测试。This is generated by next generation Kaldi using Kokoro without Misaki. 你觉得中英文说的如何呢?";
*/
pub use sherpa_rs::tts::{KokoroTts, KokoroTtsConfig};
fn main() {
let config = KokoroTtsConfig {
model: "./kokoro-multi-lang-v1_0/model.onnx".to_string(),
voices: "./kokoro-multi-lang-v1_0/voices.bin".into(),
tokens: "./kokoro-multi-lang-v1_0/tokens.txt".into(),
data_dir: "./kokoro-multi-lang-v1_0/espeak-ng-data".into(),
dict_dir: "./kokoro-multi-lang-v1_0/dict".into(),
lexicon:
"./kokoro-multi-lang-v1_0/lexicon-us-en.txt,./kokoro-multi-lang-v1_0/lexicon-zh.txt"
.into(),
length_scale: 1.0,
..Default::default()
};
let mut tts = KokoroTts::new(config);
let sid = 0;
let text = "This is generated by next generation Kaldi using Kokoro without Misaki.";
let audio = tts.create(&text, sid, 1.0).unwrap();
sherpa_rs::write_audio_file("audio.wav", &audio.samples, audio.sample_rate).unwrap();
println!("Created audio.wav")
}