次の方法で共有


TranslationRecognizer クラス

定義

音声入力をテキストに変換し、1 つ以上のターゲット言語で合成された音声を翻訳します。

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)

このメソッドは、リソースのクリーンアップを実行します。 Boolean パラメーターdisposingは、メソッドが (true の場合disposing) からDispose()呼び出されるか、ファイナライザーから呼び出されるか (が false の場合disposing) を示します。 必要に応じて、派生クラスはこのメソッドをオーバーライドしてリソースを破棄する必要があります。

(継承元 Recognizer)
Finalize()

音声入力をテキストに変換し、1 つ以上のターゲット言語で合成された音声を翻訳します。

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 は、変換合成結果が受信されたことを通知します。

適用対象