#语音合成 #标记语言 #谷歌云 #服务 #文本转语音 #文档 #序列化

ssml

用于处理语音合成标记语言文档的实用程序

6个版本

0.1.0 2023年11月23日
0.0.5 2023年10月29日

#7 in #语音合成


2 crate 中使用

Apache-2.0

67KB
1.5K SLoC

ssml-rs

用于编写SSML的Rust库。

目前,ssml-rs专注于支持主要云文本转语音服务(微软Azure认知语音服务谷歌云文本转语音亚马逊Polly)和pyke Songbird所支持的SSML子集。

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:

用于编写SSML文档的实用程序。

SSML的根文档是 Speak。使用 [speak()] 快速创建文档。

let doc = ssml::speak(Some("en-US"), ["Hello, world!"]);

使用 Serialize 将SSML元素转换为它们的字符串XML表示形式,然后可以将其发送到您选择的语音合成服务。

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>"#
);

依赖关系

~15KB