我使用 Azure 语音翻译(C# 语言)中的此代码示例为 Zoom 通话构建多语言字幕器。
自从我完成任何编码以来已经有很长时间了,所以我试图重新开始,但我无法解决的是是否有一种方法可以改变语音识别器分割线的方式。目前,它会等待几秒钟的沉默才最终给出答案。我希望它能够做到这一点,但如果该人讲话的时间较长,还可以设置一个换行时间,例如五秒左右。
这可能吗,有人知道吗?
非常抱歉,如果这是一个愚蠢的问题,我保证我已经自己寻找过,但找不到合适的词语。
最佳答案
感谢您提出这个问题。这可能不是您所需的一切的最终答案,但希望它会有所帮助。
您可以设置一个服务属性,该属性将使通过识别事件传递的中间结果更加“完整”,并且不会随着识别的继续而被替换。
您可以像这样在配置对象上设置属性:
speechTranslationConfig.SetServiceProperty("stableIntermediateThreshold", "3", ServicePropertyChannel.UriQueryParameter);
翻译服务还有一个属性,您可以设置它以使其稳定
speechTranslationConfig.SetServiceProperty("stableTranslation", "true", ServicePropertyChannel.UriQueryParameter);
您可能需要调整这些值来确定正确的阈值,并且如果句子的顺序在结束前发生巨大变化,某些语言可能会出现问题。日语是您可能只想使用最终识别的语言的一个很好的例子。
关于c# - 限制Azure语音翻译中每个 "line"的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71522163/