espeak-ng 0.1.1

Pure Rust port of eSpeak NG text-to-speech
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
fn main() {
    let cases = [
        ("ru", "привет"), ("ru", "да"), ("ru", "нет"), ("ru", "я"),
        ("ru", "Россия"), ("ru", "мама"), ("ru", "папа"),
    ];
    for (lang, word) in &cases {
        let c = std::process::Command::new("espeak-ng")
            .args(["-v", lang, "-q", "--ipa", word])
            .output().map(|o| String::from_utf8_lossy(&o.stdout).trim().to_string())
            .unwrap_or_default();
        let r = espeak_ng::text_to_ipa(lang, word).unwrap_or_default();
        let ok = if c == r { "" } else { "" };
        println!("{ok} [{lang}] {word:15}  C:{c:25} Rust:{r}");
    }
}