| Crates.io | aristech-tts-client |
| lib.rs | aristech-tts-client |
| version | 2.1.0 |
| created_at | 2024-10-22 09:57:08.22034+00 |
| updated_at | 2025-09-23 10:24:31.269574+00 |
| description | A Rust client library for the Aristech Text-to-Speech API |
| homepage | https://github.com/aristech-de/tts-clients/blob/main/rust/README.md |
| repository | https://github.com/aristech-de/tts-clients |
| max_upload_size | |
| id | 1418453 |
| size | 68,079 |
This is the Rust client implementation for the Aristech TTS-Server.
To use the client in your project, add it to your Cargo.toml or use cargo to add it:
cargo add aristech-tts-client
use aristech_tts_client::{get_client, synthesize, SpeechRequest, SpeechRequestOption, TlsOptions};
use std::error::Error;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let client = get_client(
"https://tts.example.com",
Some(TlsOptions::default()),
).await?;
let request = SpeechRequest {
text: "Text to speak.".to_string(),
options: Some(SpeechRequestOption {
voice_id: "anne_en_GB".to_string(),
..SpeechRequestOption::default()
}),
..SpeechRequest::default()
};
let data = synthesize(&mut client, request).await?;
std::fs::write("output.wav", data).expect("Unable to write file");
Ok(())
}
There are several examples in the examples directory:
You can run the examples directly using cargo like this:
.env file in the rust directory:HOST=tts.example.com
# The credentials are optional but probably required for most servers:
TOKEN=your-token
SECRET=your-secret
# The following are optional:
# ROOT_CERT=your-root-cert.pem # If the server uses a self-signed certificate
# If neither credentials nor an explicit root certificate are provided,
# you can still enable SSL by setting the SSL environment variable to true:
# SSL=true
# VOICE_ID=some-available-voice-id
cargo run --example file
To build the library, run:
cargo build