你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
TranslationRecognizer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
以一种或多种目标语言将语音输入转换为文本和合成语音。
public sealed class TranslationRecognizer : Microsoft.CognitiveServices.Speech.Recognizer
type TranslationRecognizer = class
inherit Recognizer
Public NotInheritable Class TranslationRecognizer
Inherits Recognizer
- 继承
示例
此示例使用来自麦克风的翻译识别器,并接收识别器生成的事件。
public async Task TranslationContinuousRecognitionAsync()
{
// Creates an instance of a speech translation config with your subscription key and region.
// Replace with your own subscription key and service region (e.g., "westus").
var config = SpeechTranslationConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
// Sets source and target languages.
string fromLanguage = "en-US";
config.SpeechRecognitionLanguage = fromLanguage;
config.AddTargetLanguage("de");
// Sets voice name of synthesis output.
const string GermanVoice = "Microsoft Server Speech Text to Speech Voice (de-DE, Hedda)";
config.VoiceName = GermanVoice;
// Creates a translation recognizer using microphone as audio input.
using (var recognizer = new TranslationRecognizer(config))
{
// Subscribes to events.
recognizer.Recognizing += (s, e) =>
{
Console.WriteLine($"RECOGNIZING in '{fromLanguage}': Text={e.Result.Text}");
foreach (var element in e.Result.Translations)
{
Console.WriteLine($" TRANSLATING into '{element.Key}': {element.Value}");
}
};
recognizer.Recognized += (s, e) =>
{
if (e.Result.Reason == ResultReason.TranslatedSpeech)
{
Console.WriteLine($"\nFinal result: Reason: {e.Result.Reason.ToString()}, recognized text in {fromLanguage}: {e.Result.Text}.");
foreach (var element in e.Result.Translations)
{
Console.WriteLine($" TRANSLATING into '{element.Key}': {element.Value}");
}
}
};
recognizer.Synthesizing += (s, e) =>
{
var audio = e.Result.GetAudio();
Console.WriteLine(audio.Length != 0
? $"AudioSize: {audio.Length}"
: $"AudioSize: {audio.Length} (end of synthesis data)");
};
recognizer.Canceled += (s, e) =>
{
Console.WriteLine($"\nRecognition canceled. Reason: {e.Reason}; ErrorDetails: {e.ErrorDetails}");
};
recognizer.SessionStarted += (s, e) =>
{
Console.WriteLine("\nSession started event.");
};
recognizer.SessionStopped += (s, e) =>
{
Console.WriteLine("\nSession stopped event.");
};
// Starts continuous recognition.
// Uses StopContinuousRecognitionAsync() to stop recognition.
Console.WriteLine("Say something...");
await recognizer.StartContinuousRecognitionAsync().ConfigureAwait(false);
do
{
Console.WriteLine("Press Enter to stop");
} while (Console.ReadKey().Key != ConsoleKey.Enter);
// Stops continuous recognition.
await recognizer.StopContinuousRecognitionAsync().ConfigureAwait(false);
}
}
注解
另请参阅: 语音翻译入门
构造函数
TranslationRecognizer(EmbeddedSpeechConfig) |
使用指定嵌入式语音配置的默认麦克风输入创建翻译识别器。 |
TranslationRecognizer(EmbeddedSpeechConfig, AudioConfig) |
使用指定的嵌入式语音翻译器和音频配置创建翻译识别器。 |
TranslationRecognizer(HybridSpeechConfig) |
使用指定混合语音配置的默认麦克风输入创建翻译识别器。 |
TranslationRecognizer(HybridSpeechConfig, AudioConfig) |
使用指定的混合语音翻译器和音频配置创建翻译识别器。 |
TranslationRecognizer(SpeechTranslationConfig) |
使用指定翻译配置的默认麦克风输入创建翻译识别器。 |
TranslationRecognizer(SpeechTranslationConfig, AudioConfig) |
使用指定的语音翻译器和音频配置创建翻译识别器。 |
TranslationRecognizer(SpeechTranslationConfig, AutoDetectSourceLanguageConfig) |
使用指定的语音翻译器和自动检测源语言配置创建翻译识别器 |
TranslationRecognizer(SpeechTranslationConfig, AutoDetectSourceLanguageConfig, AudioConfig) |
使用指定的语音翻译器和音频配置创建翻译识别器。 |
字段
disposed |
disposed 是一个标志,用于指示是否释放对象。 (继承自 Recognizer) |
gch |
上下文回调的 GC 句柄。 (继承自 Recognizer) |
isDisposing |
指示当前是否正在释放对象。 (继承自 Recognizer) |
pointerHandle |
用于日志记录的内部。 (继承自 Recognizer) |
recognizerLock |
recognizerLock 用于同步对来自多个线程的对象成员变量的访问 (继承自 Recognizer) |
属性
AuthorizationToken |
获取或设置用于与服务通信的授权令牌。 |
Properties |
为此 TranslationRecognizer定义的属性及其值的集合。 注意:属性集合仅在释放或完成拥有此属性的识别器之前有效。 |
SpeechRecognitionLanguage |
获取创建识别器时设置的语言名称。 |
TargetLanguages |
获取创建识别器时设置的翻译目标语言。 每种语言都以 BCP-47 格式指定。 翻译将提供每种语言的翻译文本。 |
VoiceName |
如果使用语音合成,则获取输出语音的名称。 |
方法
AddTargetLanguage(String) |
添加用于翻译的目标语言。 在 1.7.0 中添加 |
Dispose() |
释放关联的资源。 (继承自 Recognizer) |
Dispose(Boolean) |
此方法执行资源清理。
布尔参数 |
Finalize() |
以一种或多种目标语言将语音输入转换为文本和合成语音。 |
RecognizeOnceAsync() |
以异步操作的形式启动语音翻译。 |
RemoveTargetLanguage(String) |
删除翻译的目标语言。 在 1.7.0 中添加 |
StartContinuousRecognitionAsync() |
在连续音频流上开始识别和翻译,直到调用 StopContinuousRecognitionAsync () 。 必须订阅事件才能接收翻译结果。 |
StartKeywordRecognitionAsync(KeywordRecognitionModel) |
使用给定的关键字 (keyword) 模型配置识别器。 调用此方法后,识别器正在侦听关键字 (keyword) 以启动识别。 调用 StopKeywordRecognitionAsync () 以结束关键字 (keyword) 发起的识别。 必须订阅事件才能接收识别结果。 |
StopContinuousRecognitionAsync() |
尽快停止正在运行的识别操作,并根据到目前为止已处理的输入立即请求结果。 这适用于所有识别操作,而不仅仅是连续操作,并且有助于使用“一键通”或“立即完成”按钮进行手动音频终结点。 |
StopKeywordRecognitionAsync() |
结束关键字 (keyword) 发起的识别。 |
事件
Canceled |
事件 Canceled 指示语音转文本/合成翻译已取消。 |
Recognized |
事件 Recognized 指示已收到最终识别结果。 |
Recognizing |
事件 Recognizing 指示收到中间识别结果。 |
SessionStarted |
定义会话启动事件的事件处理程序。 (继承自 Recognizer) |
SessionStopped |
为会话停止事件定义事件处理程序。 (继承自 Recognizer) |
SpeechEndDetected |
为检测到的语音结束事件定义事件处理程序。 (继承自 Recognizer) |
SpeechStartDetected |
为检测到的语音启动事件定义事件处理程序。 (继承自 Recognizer) |
Synthesizing |
事件 Synthesizing 指示已收到翻译合成结果。 |