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

SpeechRecognizer 类

定义

将语音转录为文本。 语音可以通过麦克风、音频文件或其他音频输入流到达。

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

示例

此示例使用来自麦克风的语音识别器,并侦听识别器生成的事件。

public async Task SpeechContinuousRecognitionAsync()
{
    // Creates an instance of a speech config with specified subscription key and region.
    // Replace with your own subscription key and service region (e.g., "westus").
    var config = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");

    // Creates a speech recognizer from microphone.
    using (var recognizer = new SpeechRecognizer(config))
    {
        // Subscribes to events.
        recognizer.Recognizing += (s, e) => {
            Console.WriteLine($"RECOGNIZING: Text={e.Result.Text}");
        };

        recognizer.Recognized += (s, e) => {
            var result = e.Result;
            Console.WriteLine($"Reason: {result.Reason.ToString()}");
            if (result.Reason == ResultReason.RecognizedSpeech)
            {
                    Console.WriteLine($"Final result: Text: {result.Text}.");
            }
        };

        recognizer.Canceled += (s, e) => {
            Console.WriteLine($"\n    Canceled. Reason: {e.Reason.ToString()}, CanceledReason: {e.Reason}");
        };

        recognizer.SessionStarted += (s, e) => {
            Console.WriteLine("\n    Session started event.");
        };

        recognizer.SessionStopped += (s, e) => {
            Console.WriteLine("\n    Session stopped event.");
        };

        // Starts continuous recognition. 
        // Uses StopContinuousRecognitionAsync() to stop recognition.
        await recognizer.StartContinuousRecognitionAsync().ConfigureAwait(false);

        do
        {
            Console.WriteLine("Press Enter to stop");
        } while (Console.ReadKey().Key != ConsoleKey.Enter);

        // Stops recognition.
        await recognizer.StopContinuousRecognitionAsync().ConfigureAwait(false);
    }
}

注解

另请参阅: 语音转文本入门

构造函数

SpeechRecognizer(EmbeddedSpeechConfig)

使用 EmbeddedSpeechConfig 创建 SpeechRecognizer 的新实例,该实例配置为从默认麦克风接收语音。 在 1.19.0 中添加

SpeechRecognizer(EmbeddedSpeechConfig, AudioConfig)

使用 EmbeddedSpeechConfig 创建 SpeechRecognizer 的新实例,该实例配置为从 AudioConfig 对象中指定的音频源接收语音。 在 1.19.0 中添加

SpeechRecognizer(EmbeddedSpeechConfig, AutoDetectSourceLanguageConfig)

使用 EmbeddedSpeechConfig 创建 SpeechRecognizer 的新实例,该实例根据选项列表确定源语言。 在 1.20.0 中添加

SpeechRecognizer(EmbeddedSpeechConfig, AutoDetectSourceLanguageConfig, AudioConfig)

使用 EmbeddedSpeechConfig 创建 SpeechRecognizer 的新实例,该实例根据选项列表确定源语言。 在 1.20.0 中添加

SpeechRecognizer(HybridSpeechConfig)

使用 HybridSpeechConfig 创建 SpeechRecognizer 的新实例,该实例配置为从默认麦克风接收语音。

SpeechRecognizer(HybridSpeechConfig, AudioConfig)

使用 HybridSpeechConfig 创建 SpeechRecognizer 的新实例,该实例配置为从 AudioConfig 对象中指定的音频源接收语音。

SpeechRecognizer(HybridSpeechConfig, AutoDetectSourceLanguageConfig)

使用 HybridSpeechConfig 创建 SpeechRecognizer 的新实例,该实例根据选项列表确定源语言。

SpeechRecognizer(HybridSpeechConfig, AutoDetectSourceLanguageConfig, AudioConfig)

使用 HybridSpeechConfig 创建 SpeechRecognizer 的新实例,该实例根据选项列表确定源语言。

SpeechRecognizer(SpeechConfig)

创建配置为从默认麦克风接收语音的 SpeechRecognizer 的新实例。

SpeechRecognizer(SpeechConfig, AudioConfig)

创建配置为从 AudioConfig 对象中指定的音频源接收语音的 SpeechRecognizer 的新实例。

SpeechRecognizer(SpeechConfig, AutoDetectSourceLanguageConfig)

创建 SpeechRecognizer 的新实例,该实例根据选项列表确定源语言。 在 1.9.0 中添加

SpeechRecognizer(SpeechConfig, AutoDetectSourceLanguageConfig, AudioConfig)

创建 SpeechRecognizer 的新实例。 在 1.9.0 中添加

SpeechRecognizer(SpeechConfig, SourceLanguageConfig)

创建 SpeechRecognizer 的新实例。 在 1.9.0 中添加

SpeechRecognizer(SpeechConfig, SourceLanguageConfig, AudioConfig)

创建 SpeechRecognizer 的新实例。 在 1.9.0 中添加

SpeechRecognizer(SpeechConfig, String)

创建配置为接收特定语言语音的 SpeechRecognizer 的新实例。 在 1.9.0 中添加

SpeechRecognizer(SpeechConfig, String, AudioConfig)

创建配置为从 AudioConfig 对象中指定的音频源接收特定语言语音的 SpeechRecognizer 的新实例。 在 1.9.0 中添加

字段

disposed

disposed 是一个标志,用于指示是否释放对象。

(继承自 Recognizer)
gch

上下文回调的 GC 句柄。

(继承自 Recognizer)
isDisposing

指示当前是否正在释放对象。

(继承自 Recognizer)
pointerHandle

用于日志记录的内部。

(继承自 Recognizer)
recognizerLock

recognizerLock 用于同步对来自多个线程的对象成员变量的访问

(继承自 Recognizer)

属性

AuthorizationToken

获取或设置用于与服务通信的授权令牌。

注意:代码需要确保授权令牌有效。 在授权令牌过期之前,代码需要通过使用新的有效令牌调用此资源库来刷新它。 否则,识别器将在识别过程中生成错误。

EndpointId

获取用于语音识别的自定义语音模型的终结点 ID。

OutputFormat

获取输出格式设置。

Properties

为此 SpeechRecognizer定义的属性及其值的集合。 注意:属性集合仅在释放或完成拥有此属性的识别器之前有效。

SpeechRecognitionLanguage

获取创建识别器时设置的语言名称。

方法

Dispose()

释放关联的资源。

(继承自 Recognizer)
Dispose(Boolean)

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

(继承自 Recognizer)
Finalize()

将语音转录为文本。 语音可以通过麦克风、音频文件或其他音频输入流到达。

RecognizeOnceAsync()

将语音识别作为异步操作启动。

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)

适用于