首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAPI率公式评价

SAPI率公式评价
EN

Stack Overflow用户
提问于 2017-03-15 19:29:22
回答 1查看 107关注 0票数 0

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

微软白皮书提到了这个比率(https://msdn.microsoft.com/en-us/library/ms717037(v=vs.85).aspx )。

速率:

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

这篇课文应该以五种速度讲。这篇课文应以负5的速度说。下面的所有课文应以10%的速度讲。

我还没有找到任何关于实际应该转换成什么费率的指示。不过,我还是想确认一下微软的电脑声音。

我用一个例句做了一些测试。

Microsoft自己的计算机声音用一个示例语句(“这是一个测试”)产生了以下输出:

速度8: 1,15秒

速度0: 2,65秒

速度-8: 6,35秒

然而,我看不出这背后有一个真正的公式。我的尝试

代码语言:javascript
复制
float f1 = (rate / 10.0f);
float fSpeed = 1+f1;

似乎根本不符合MS的输出长度。

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

在速率-8,我的声音输出是~12秒,而微软的声音输出是~6秒。

有人能估计出MS语音速率背后的公式吗?

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-15 19:54:47

使用IVONA 2艾米(英语,英国) SAPI5语音阅读短语One Two Three Four Five.,我得到了一个严格的线性关系的持续时间与减速(负)率。但对于超速(正)率而言,两者的关系是不一样的。它可以是线性的与不同的斜率。

代码语言:javascript
复制
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栏中提供的百分比查找表

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42819007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档