| Crates.io | fliters |
| lib.rs | fliters |
| version | 0.1.8 |
| created_at | 2024-01-22 01:05:59.172359+00 |
| updated_at | 2025-01-20 00:47:38.889977+00 |
| description | basic rust bindings for flite c library |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1108144 |
| size | 17,973,407 |
rust bindings for the flite c library
Check out /examples directory for more 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();
}
Check out the make_waveform example to see how we go from
text -> 16-bit samples -> (time, amplitude) pairs -> wave form visualization in your terminal!
cargo run --example make_waveform
playLinux Dependencies
On linux, rodio relies on cpal and cpal needs alsa development files to build.
You can see rodio's repo for more info.
sudo apt install libasound2-dev
crate
Add this to your cargo.toml:
fliters = "0.1.8"
If you install the crate, but encounter build errors, try to specify the repo as the dependency. Submit an issue in the meantime while I investigate.
fliters = { git = "https://github.com/jackycamp/flite-rs" }
# clone the repository
git clone https://github.com/jackycamp/flite-rs.git
# If you want the git submodules on first clone
git clone --recursive https://github.com/jackycamp/flite-rs.git
# do the build
cd flite-rs && cargo build
# run an example
cargo run --example tts