gpt4 book ai didi

c++ - SAPI 费率公式评估

转载 作者:行者123 更新时间:2023-11-28 05:15:09 26 4
gpt4 key购买 nike

我已经创建了一个计算机语音,我想正确对待 rate 命令。

Microsoft 白皮书对费率 (https://msdn.microsoft.com/en-us/library/ms717037(v=vs.85).aspx) 进行了说明:

评分:

Rate 标签控制语音的速率。标签可以是空的,在这种情况下它适用于所有后续文本,或者它可以有内容,在这种情况下它只适用于该内容。 Rate 标签有两个属性,Speed 和 AbsSpeed,其中之一必须存在。这些属性的值应该是负十到十之间的整数。超出此范围的值可能会被引擎截断(但不会被 SAPI 截断)。 AbsSpeed 属性控制语音的绝对速率,因此值 10 始终对应于值 10;值五始终对应于值五。

这段文字应以五速朗读。这段文字应该以负五的速率朗读。以下所有文字都应以十速率朗读。

我还没有找到任何指示实际应该转换成什么比率。不过,我想用微软的电脑语音来确认一下。

我用例句做了一些测试。

Microsoft 自己的计算机语音生成了以下带有例句的输出(“这是一个测试。”):

等级 8:1.15 秒

评分 0:2.65 秒

评分-8:6.35 秒

但是,我没有看到这背后的真正公式。我的尝试

float f1 = (rate / 10.0f);
float fSpeed = 1+f1;

似乎与 MS 的输出长度完全不对应。

我将这个值提供给著名的 libSonic 库中的 sonicChangeFloatSpeed。

在 -8 速率下,我的语音输出约为 12 秒,而 Microsoft 的语音输出约为 6 秒。

谁能估算出 MS 语音速率背后的公式?

谢谢你的帮助。

最佳答案

使用 IVONA 2 Amy(英国英语)SAPI5 语音朗读短语 One Two Three Four Five。 我得到持续时间与减速(负)速率的严格线性关系。但是对于超速(正)率,关系是不一样的。它可以是具有不同斜率的线性。

Rate Duration (s)   
-10 3.0 150%
-9 2.9 145%
-8 2.8 140%
-7 2.7 135%
-6 2.6 130%
-5 2.5 125%
-4 2.4 120%
-3 2.3 115%
-2 2.2 110%
-1 2.1 105%
0 2.0 100%
+1 1.8 90%
+2 1.7 85%
+3 1.6 80%
+4 1.4 70%
+5 1.3 65%
+6 1.1 55%
+7 1.0 50%
+8 0.8 40%
+9 0.7 35%
+10 0.5 25%

由于只有 21 个离散级别,您可以避免使用公式,而只需使用我在上面第 3 列中提供的百分比查找表。这是供您检查的图。

Plot of duration v. rate

关于c++ - SAPI 费率公式评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42819007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com