你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

TranslationRecognizer 类

定义

以一种或多种目标语言将语音输入转换为文本和合成语音。

public sealed class TranslationRecognizer : Microsoft.CognitiveServices.Speech.Recognizer
type TranslationRecognizer = class
    inherit Recognizer
Public NotInheritable Class TranslationRecognizer
Inherits Recognizer
继承
TranslationRecognizer

示例

此示例使用来自麦克风的翻译识别器,并接收识别器生成的事件。

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)

此方法执行资源清理。 布尔参数 disposing 指示方法是从 Dispose() (调用(如果 disposing 为 true) )还是从终结器 ((如果 disposing 为 false) )。 如果需要,派生类应重写此方法以释放资源。

(继承自 Recognizer)
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 指示已收到翻译合成结果。

适用于