c# - 限制Azure语音翻译中每个 "line"的长度

标签 c# azure speech-recognition azure-cognitive-services

我使用 Azure 语音翻译(C# 语言)中的此代码示例为 Zoom 通话构建多语言字幕器。

https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/quickstart/csharp/dotnet/translate-speech-to-text/helloworld/Program.cs

自从我完成任何编码以来已经有很长时间了,所以我试图重新开始,但我无法解决的是是否有一种方法可以改变语音识别器分割线的方式。目前,它会等待几秒钟的沉默才最终给出答案。我希望它能够做到这一点,但如果该人讲话的时间较长,还可以设置一个换行时间,例如五秒左右。

这可能吗,有人知道吗?

非常抱歉,如果这是一个愚蠢的问题,我保证我已经自己寻找过,但找不到合适的词语。

最佳答案

感谢您提出这个问题。这可能不是您所需的一切的最终答案,但希望它会有所帮助。

您可以设置一个服务属性,该属性将使通过识别事件传递的中间结果更加“完整”,并且不会随着识别的继续而被替换。

以下是可用属性的引用:https://learn.microsoft.com/en-us/javascript/api/microsoft-cognitiveservices-speech-sdk/queryparameternames?view=azure-node-latest

您可以像这样在配置对象上设置属性:

speechTranslationConfig.SetServiceProperty("stableIntermediateThreshold", "3", ServicePropertyChannel.UriQueryParameter);

翻译服务还有一个属性,您可以设置它以使其稳定

speechTranslationConfig.SetServiceProperty("stableTranslation", "true", ServicePropertyChannel.UriQueryParameter);

您可能需要调整这些值来确定正确的阈值,并且如果句子的顺序在结束前发生巨大变化,某些语言可能会出现问题。日语是您可能只想使用最终识别的语言的一个很好的例子。

关于c# - 限制Azure语音翻译中每个 "line"的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71522163/

相关文章:

azure - 无需 FTP 将文件夹复制到 Azure Web 应用

sql-server - 如何向外部用户授予对我的 Azure 数据库的访问权限?

android - Google Speech 的空白回复

android - 语音或语音识别器是否有可能从说话者那里获取输入(来电语音)?

c# - 如何为继承多个接口(interface)的对象创建模拟接口(interface)

C#/C++ 调用 C++ 应用程序并获取输出

c# - 如果 User.IsInRole 带有字符串数组?

c# - 未找到用于绑定(bind)配方的数据上下文

azure - 开发运营 : Build Solution task not copying Web. 配置文件

python - Python语音转文本和语音识别