2个版本
0.1.7 | 2024年3月25日 |
---|---|
0.1.5 |
|
0.1.0 | 2024年1月22日 |
284 在 音频
每月下载量 195
15MB
146K 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