1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//! 
//! Azure APIs in Rust like structs.
//! 
//! This is not just a simple wrapping binding of Azure's services, you can 
//! chain parameters/modifiers with sequential method calls.
//! 
//! # Example 
//! 
//! ```rust, ignore
//! use rust_ai::azure::{ssml::Speak, Locale, Speech, VoiceName, SSML};
//! 
//! #[tokio::main]
//! async fn main() -> tokio::io::Result<()> {
//!   let ssml = SSML::from(
//!     Speak::voice_content(
//!       VoiceName::zh_CN_YunhaoNeural,
//!       "亲爱的朋友,美丽中国欢迎你!",
//!     )
//!     .lang(Locale::zh_CN),
//!   );
//!   
//!   let result = Speech::from(ssml).tts().await.unwrap();
//!   
//!   std::fs::write(std::path::PathBuf::from(r"D:\Contents\Downloads\output.mp3"), result).unwrap();
//!   Ok(())
//! }
//! ```

////////////////////////////////////////////////////////////////////////////////

/// Speech capabilities from Azure Cognitive service
pub mod speech;