#ng #speaker #voice #text #phoneme #default #espeak-ng-sys

espeakng

通过espeakNG-sys对espeakNG进行安全封装的Rust库

4个版本

0.2.0 2023年8月6日
0.1.2 2023年8月5日
0.1.1 2022年2月26日
0.1.0 2022年2月19日

音频类别中排名第731

MIT许可证

26KB
489

espeakNG-rs

通过espeakNG-sysespeak NG进行安全封装。

安装后,使用cargo doc --open -p espeakng阅读文档。


lib.rs:

通过espeakNG-sysespeak NG进行安全封装。

安全性

此库通过单例([Speaker])封装内部C调用,以保持可变全局状态的安全。在未来,这可能会改为使用espeakNG的异步功能,但我目前不相信在没有全局锁的情况下它是安全的。

原始绑定通过[bindings]模块重新导出,但使用此功能是unsafe的,如果使用,则认为[Speaker]对象的所有安全性保证都已破坏。

已知问题

示例

从文本生成音素

fn main() -> Result<(), espeakng::Error> {
    // Get a reference to the global Speaker singleton, using default voice path and buffer length.
    let mut speaker = espeakng::initialise(None)?.lock();

    // Generate the phonemes in standard mode.
    let phonemes = speaker.text_to_phonemes("Hello World", espeakng::PhonemeGenOptions::Standard {
        phoneme_mode: espeakng::PhonemeMode::default(),
        text_mode: espeakng::TextMode::default(),
    })?.unwrap();
    println!("Phonemes: {}", phonemes);

    Ok(())
}

依赖关系

~2–11MB
~123K SLoC