6 releases
0.1.0 | Nov 23, 2023 |
---|---|
0.0.5 | Oct 29, 2023 |
#7 in #speech-synthesis
Used in 2 crates
67KB
1.5K
SLoC
ssml-rs
A Rust library for writing SSML.
Currently, ssml-rs
focuses on supporting the subsets of SSML supported by major cloud text-to-speech services (Microsoft Azure Cognitive Speech Services, Google Cloud Text-to-Speech, & Amazon Polly) & pyke Songbird.
let doc = ssml::speak(Some("en-US"), ["Hello, world!"]);
use ssml::Serialize;
let str = doc.serialize_to_string(&ssml::SerializeOptions::default().flavor(Flavor::AmazonPolly))?;
assert_eq!(
str,
r#"<speak xml:lang="en-US">Hello, world!</speak>"#
);
lib.rs
:
Utilities for writing SSML documents.
The root document in SSML is Speak
. Use [speak()
] to quickly create a document.
let doc = ssml::speak(Some("en-US"), ["Hello, world!"]);
Use Serialize
to convert SSML elements to their string XML representation, which can then be sent to your speech
synthesis service of chocie.
use ssml::Serialize;
let str = doc.serialize_to_string(&ssml::SerializeOptions::default().pretty())?;
assert_eq!(
str,
r#"<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
Hello, world!
</speak>"#
);
Dependencies
~15KB