如何解决Microsoft 语音到文本无法识别除英语之外的其他语言
我正在使用微软语音转文本服务。我的要求是识别和转换麦克风上的任何口语应转换为文本。例如,如果我说西班牙语,那么我应该得到西班牙语文本作为响应。
var config = SpeechConfig.FromHost(new Uri("ws://xxxxxxxx:5000/"));
using (var recognizer = new SpeechRecognizer(config))
{
Console.WriteLine("Say something...");
var result = await recognizer.RecognizeOnceAsync();
// Checks result.
if (result.Reason == ResultReason.RecognizedSpeech)
{
Console.WriteLine($"We recognized: {result.Text}");
}
}
请帮助我如何将任何语音转换为文本语言。
解决方法
语音识别的一项常见任务是指定输入(或源)语言。让我们来看看如何将输入语言更改为德语。在您的代码中,找到您的 SpeechConfig,然后在其正下方添加此行。
speech_config.speech_recognition_language="de-DE"
speech_recognition_language 是一个将字符串作为参数的参数。您可以在支持的区域设置/语言列表中提供任何值。
-宇通
,您可以在语音识别器处理中使用语言检测,请参阅文档 here
它在语言方面有一些限制(请参阅语言支持 here)。
怎么样?
对于 C# 实现,您应该根据语音配置对象的优先级将“延迟”切换为“准确度”:
speechConfig.SetProperty(PropertyId.SpeechServiceConnection_SingleLanguageIdPriority,"Latency");
向您的 AutoDetectSourceLanguageConfig
添加 SpeechRecognizer
配置:
然后你可以得到你的结果:
var autoDetectSourceLanguageConfig =
AutoDetectSourceLanguageConfig.FromLanguages(
new string[] { "en-US","de-DE","ja-JP","de-DE" });
using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
using (var recognizer = new SpeechRecognizer(
speechConfig,autoDetectSourceLanguageConfig,audioConfig))
{
var speechRecognitionResult = await recognizer.RecognizeOnceAsync();
var autoDetectSourceLanguageResult =
AutoDetectSourceLanguageResult.FromResult(speechRecognitionResult);
var detectedLanguage = autoDetectSourceLanguageResult.Language;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。