#text #polly #tags #format #xml #aws #ssml

text-to-polly-ssml

将文本转换为Polly SSML。使用格式不规范。

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 解析器实现

MIT许可证

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