1. CSS voice-family 属性简介
在 CSS 中,voice-family 属性定义了用于语音合成的声音。它被用于 voice-family 的一个概念,它定义了一组可声音合成引擎使用的声音,允许用户指定一些默认的、候选的控制代表声音的字符串。在使用语音合成时,它将以给定的顺序遍历这个列表,直到找到一个有效声音为止。
voice-family 的值必须是一个由逗号分隔的字符串。这个字符串必须至少有以下两个关键字之一:
voice-family: male;
voice-family: female;
1.1 voice-family 属性语法
voice-family 属性语法如下:
voice-family: [male | female | child] [name];
其中,可选的 name 是标识一种语音的 URI,可以引用文本-to-speech 编码器。语音代表按优先顺序排列。如果 speech synthesizer 找不到 text-to-speech 编码器的语音,则使用预定义的语音。
2. voice-family 样例
这里是一些双语例句,用以演示 voice-family 属性。请注意,由于这是一个样例,因此必须仅查看它。如果您希望将格式应用于您自己的文本,请勿直接复制它们。
2.1 Example 1
如果您想要使用英语美国男性的声音,在 CSS 中如下设置:
voice-family: male, url(c:/example/speech-synthesis-eng-us-1);
注意,英语美国男性的声音必须包含在声音列表中。如果声音文件不存在,或者任何一个声音文件都丢失,speech synthesizer 将使用默认的 speech synthesizer。
2.2 Example 2
以下是一个示例,如果您想使用一个高质量的英语女性语音:
voice-family: female, url(c:/example/speech-synthesis-eng-us-2);
注意,英语女性的声音必须包含在声音列表中。如果声音文件不存在,或者任何一个声音文件都丢失,speech synthesizer 将使用默认的 speech synthesizer。
3. voice-family 属性的常见问题
3.1 我该如何指定语音的 URI?
在 voice-family 属性中,URI 引用 text-to-speech 引擎的声音。如果您不知道如何找到它们,请查阅声音引擎的文档或站点。
在 Windows 上,可以使用 Microsoft 的语音引擎,通常是 SAPI 5.此引擎下列示例中,“Microsoft 公司语音”的语音标识符是“Microsoft 公司赵红新歌”的 URI:
voice-family: male, url('Microsoft 公司赵红新歌');
voice-family: female, url('Microsoft 公司谈桂枝');
3.2 每个语音文件都是必需的吗?
不是。如果您有多个 text-to-speech 引擎,可以使用某个引擎的所有语音。
在 speech synthesizer 内,声音代表以其 URL 的 hash code 为索引的哈希表中的一个键。speech synthesizer 可以使用同一文件名指定具有不同媒体类型的两个 URL。
4. 总结
voice-family 属性定义了用于语音合成的声音。它被用于 voice-family 的一个概念,它定义了一组可声音合成引擎使用的声音。允许用户指定一些默认的、候选的控制代表声音的字符串。在使用语音合成时,它将以给定的顺序遍历这个列表,直到找到一个有效声音为止。
voice-family 的值是一个由逗号分隔的字符串。这个字符串必须至少有关键字 male、female 或 child 中的一个。它也可以包含语音代表的 URI。
在 Windows 上,可以使用 Microsoft 的语音引擎,通常是 SAPI 5.