7个不稳定版本
0.4.0 | 2021年8月28日 |
---|---|
0.3.3 | 2018年12月8日 |
0.3.2 | 2017年11月9日 |
0.3.1 | 2017年9月9日 |
0.1.0 | 2017年4月21日 |
#2012 in 解析器实现
73KB
981 行
文本到Polly SSML
一个库,将文本转换为有效的"Polly SSML"。注意我在这里说Polly SSML,因为这个库的目标是将文本最终发送到AWS Polly。AWS Polly没有实现SSML v1.1规范的全部功能。它实现了一部分,因此我们支持这部分。例如,如果你在Polly中做不到,你在这里也做不到。
为什么我需要这个?
让我们说实话。你想要一个Polly在任何时候都可以访问。Justins Voice可以让任何情况变得明亮,这很棒。然而,你知道什么不酷吗?花费大量时间编写XML。这并不酷。因此,你需要这个库来能够输入文本。
例如,我将这个库作为我的slackbot的一部分部署,这样我就可以在聊天中直接输入搞笑的SSML消息,而无需编写XML。
一般格式是
${keyname|param_key=param_value} some text here ${/keyname}
例如,如果我想使用它们定义的prosody
标签:[这里](http://docs.aws.amazon.com/polly/latest/dg/supported-ssml.html) 我会输入一条消息,例如
${prosody|volume=+14dB|pitch=+200%|rate=x-fast}coffee coffee coffee${/prosody}
这将生成看起来像的SSML
<?xml version="1.0"?><speak xml:lang="en-US" onlangfailure="processorchoice" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<prosody volume="+14dB" pitch="+200%" rate="x-fast">
coffee coffeecoffee
</prosody>
</speak>
当然,第一个更简洁,但差别不大。然而,当你需要深入多个键和多个参数时,这就很重要。
用法
只需将库作为crate导入,并调用parse_string
extern crate text_to_polly_ssml;
fn main() {
let result = text_to_polly_ssml::parse_string("my string".to_owned());
assert!(result.is_ok());
let ssml = result.unwrap();
}
您还可以调用parse_str
extern crate text_to_polly_ssml;
fn main() {
let result = text_to_polly_ssml::parse_str("my string");
assert!(result.is_ok());
let ssml = result.unwrap();
}
许可证
此库受MIT许可证的许可。
依赖项
~6.5MB
~112K SLoC