【发布时间】:2012-02-10 06:05:17
【问题描述】:
请问有人可以帮我吗?我搜索了一些示例,如何通过 SAPI 获取有关 TTS 中语音文本的信息(我正在用 C# 编写我的应用程序,但不需要,SAPI 在 C++ 中是相同的,等等) 我需要的信息例如: 用户将在文本框中写入:
“这是一个文本”..
tts.Speak("This is a text"); // 这将“阅读”它..
好的,很好...但我也需要获取有关“时间”的信息..
例如:
“Th”(“This”的第一个声音(音素))在 0.01 毫秒内被“读取”..
“i”(“is”的第一个声音)在 0.5 毫秒内被“读取”..
“e”(“文本”的第二个声音)在 1.02 毫秒内被“读取”..
当我保存 SAPI 生成的 .wav 文件时,我需要获取 .wav 中的时序信息,以便后续“处理”wav 文件。
对不起我的英语,对不起我对我的问题的糟糕描述,但问题是我认为非常简单,所有人都会理解。如果不是,我将尝试再次描述问题:) ^^..
【问题讨论】:
-
TTS 引擎不是这样工作的。语音单位是音素。您可以订阅Phoneme 事件,它会为您提供角色位置和持续时间。 msdn.microsoft.com/en-us/library/ms723588%28v=vs.85%29.aspx
-
谢谢你们,我会查看链接并了解一些有关它的信息。。再问一个问题。如果我“声明”它,或者我什么时候用音素或单词来实现可以得到有关时间的信息?? (如果我理解得很好)..再次谢谢你..:) 编辑:对不起,我读错了:)..“它给了你角色位置和持续时间”它在我的提问中的答案:) 谢谢:)
-
但是..有人问更多..我怎样才能“使用”SpVoice.phoneme()? :-/我正在尝试获取有关文本的一些信息..我总是得到错误 SpeechLib._ISpeechVoiceEvents_Event.Phoneme' 只能出现在 += 或 -=..:-/ 的左侧,并且一些示例不存在..
标签: c# speech-recognition text-to-speech sapi speech-synthesis