2个版本

0.1.7 2024年3月25日
0.1.5 2024年3月25日
0.1.0 2024年1月22日

284音频

Download history 64/week @ 2024-04-03

每月下载量 195

MIT 许可证

15MB
146K SLoC

C 145K SLoC // 0.0% comments Visual Studio Project 283 SLoC Rust 160 SLoC // 0.0% comments Visual Studio Solution 46 SLoC

包含 (Cab文件,12KB) extern/flite/flite.v11.suo

fliters

flite C库的Rust绑定

用法

查看 /examples 目录以获取更多示例。

// standard example
use fliters;

fn main() {
  fliters::tts("hello, world!").play();
}
// Controlling the output stream. (i.e. playing and pausing)
use fliters;
use rodio::{OutputStream, Sink};

fn main() {
    let (_stream, handle) = OutputStream::try_default().unwrap();
    let sink = Sink::try_new(&handle).unwrap();
    let fwav = fliters::tts("play this audio with some stream controls");
    let decoder = fwav.get_decoder();
    sink.append(decoder);
    sink.play();
    std::thread::sleep(std::time::Duration::from_secs(1));
    sink.pause();
    std::thread::sleep(std::time::Duration::from_secs(3));
    sink.play();
    sink.sleep_until_end();
}

我仅在MacOS Sonoma 14.2上进行了测试。XD

路线图

  • 基本TTS API
  • 使用 play 控制输出流
  • 优化构建(仅包含必要的C文件)
  • 自定义声音(默认为slt)
  • 支持Linux arm64
  • 支持Linux amd64

安装

将以下内容添加到您的 cargo.toml 中:fliters = "0.1.7"

如果您安装了crate,但遇到构建错误(尤其是链接器错误),请尝试指定仓库作为依赖项。同时提交一个问题,以便我可以进行调查。

fliters= {git= "https://github.com/jackycamp/flite-rs" }

构建

# clone the repository
git clone https://github.com/jackycamp/flite-rs.git

# do the build
cd flite-rs && cargo build

# run an example
cargo run --example tts

依赖项

~0.8–30MB
~433K SLoC