クイック スタート:マイクから音声を認識するQuickstart: Recognize speech from a microphone

このクイックスタートでは、Speech SDK を使用して、音声をマイク入力から対話形式で認識し、キャプチャしたオーディオからテキスト文字起こしを取得します。In this quickstart, you use the Speech SDK to interactively recognize speech from a microphone input, and get the text transcription from captured audio. 会話の文字起こしなどの一般的な認識タスクのために、この機能をアプリやデバイスに簡単に統合できます。It's easy to integrate this feature into your apps or devices for common recognition tasks, such as transcribing conversations. また、Bot Framework を Speech SDK と共に使用して音声アシスタントを構築するなど、より複雑な統合にも使用できます。It can also be used for more complex integrations, like using the Bot Framework with the Speech SDK to build voice assistants.

いくつかの前提条件を満たすと、4 つのステップを実行するだけでマイクから音声を認識します。After satisfying a few prerequisites, recognizing speech from a microphone only takes four steps:

  • サブスクリプション キーとリージョンから SpeechConfig オブジェクトを作成します。Create a SpeechConfig object from your subscription key and region.
  • 上記の SpeechConfig オブジェクトを使用して SpeechRecognizer オブジェクトを作成します。Create a SpeechRecognizer object using the SpeechConfig object from above.
  • SpeechRecognizer オブジェクトを使用して、1 つの発話の認識プロセスを開始します。Using the SpeechRecognizer object, start the recognition process for a single utterance.
  • 返された SpeechRecognitionResult を検査します。Inspect the SpeechRecognitionResult returned.

GitHub で、すべての Speech SDK C# サンプルを表示またはダウンロードできます。You can view or download all Speech SDK C# Samples on GitHub.

ターゲット環境を選択してくださいChoose your target environment

前提条件Prerequisites

開始する前に、以下の操作を行います。Before you get started:

Visual Studio でプロジェクトを開きます。Open your project in Visual Studio

最初の手順として、ご利用のプロジェクトを Visual Studio で開いていることを確認します。The first step is to make sure that you have your project open in Visual Studio.

  1. Visual Studio 2019 を起動します。Launch Visual Studio 2019.
  2. プロジェクトを読み込んで Program.cs を開きます。Load your project and open Program.cs.

ソース コードSource code

Program.cs ファイルの内容を次の C# コードに置き換えます。Replace the contents of the Program.cs file with the following C# code.

using System;
using System.Threading.Tasks;
using Microsoft.CognitiveServices.Speech;

namespace Speech.Recognition
{
    class Program
    {
        static async Task Main()
        {
            await RecognizeSpeechAsync();

            Console.WriteLine("Please press any key to continue...");
            Console.ReadLine();
        }

        static async Task RecognizeSpeechAsync()
        {
            var config =
                SpeechConfig.FromSubscription(
                    "YourSubscriptionKey",
                    "YourServiceRegion");

            using var recognizer = new SpeechRecognizer(config);
            
            var result = await recognizer.RecognizeOnceAsync();
            switch (result.Reason)
            {
                case ResultReason.RecognizedSpeech:
                    Console.WriteLine($"We recognized: {result.Text}");
                    break;
                case ResultReason.NoMatch:
                    Console.WriteLine($"NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    var cancellation = CancellationDetails.FromResult(result);
                    Console.WriteLine($"CANCELED: Reason={cancellation.Reason}");
    
                    if (cancellation.Reason == CancellationReason.Error)
                    {
                        Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}");
                        Console.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}");
                        Console.WriteLine($"CANCELED: Did you update the subscription info?");
                    }
                    break;
            }
        }
    }
}

YourSubscriptionKeyYourServiceRegion の値は、Speech リソースの実際の値に置き換えてください。Replace the YourSubscriptionKey and YourServiceRegion values with actual values from the Speech resource.

  • Azure portal に移動し、Speech リソースを開きますNavigate to the Azure portal , and open the Speech resource
  • 左側の [キー] に、利用可能なサブスクリプション キーが 2 つありますUnder the Keys on the left, there are two available subscription keys
    • そのどちらか一方で YourSubscriptionKey の値を置き換えますUse either one as the YourSubscriptionKey value replacement
  • 左側の [概要] で、リージョンをメモし、それをリージョン識別子 にマップしますUnder the Overview on the left, note the region and map it to the region identifier
    • YourServiceRegion の値をリージョン識別子で置き換えます (米国西部の場合は "westus" など)Use the Region identifier as the YourServiceRegion value replacement, for example: "westus" for West US

コードの説明Code explanation

音声構成オブジェクトを作成するには、音声リソースのサブスクリプション キーとリージョンが必要です。The Speech resource subscription key and region are required to create a speech configuration object. 音声認識エンジン オブジェクトをインスタンス化するには、この構成オブジェクトが必要です。The configuration object is needed to instantiate a speech recognizer object.

認識エンジン インスタンスは、複数の音声認識方法を公開します。The recognizer instance exposes multiple ways to recognize speech. この例では、音声は 1 回だけ認識されます。In this example, speech is recognized once. この機能は、認識のために 1 つの語句が送信されていること、そして語句が識別されると音声の認識を停止することを音声サービスに知らせます。This functionality lets the Speech service know that you're sending a single phrase for recognition, and that once the phrase is identified to stop recognizing speech. 結果が生成されると、コードによって、認識理由がコンソールに書き込まれます。Once the result is yielded, the code will write the recognition reason to the console.

ヒント

Speech SDK は、既定で言語に en-us を使用して認識します。ソース言語の選択については、「音声テキスト変換のソース言語を指定する」を参照してください。The Speech SDK will default to recognizing using en-us for the language, see Specify source language for speech to text for information on choosing the source language.

アプリをビルドして実行するBuild and run app

これで、アプリをリビルドし、音声サービスを使用して音声認識機能をテストする準備ができました。Now you're ready to rebuild your app and test the speech recognition functionality using the Speech service.

  1. コードをコンパイルする - Visual Studio のメニュー バーで、 [ビルド] > [ソリューションのビルド] の順に選択します。Compile the code - From the menu bar of Visual Studio, choose Build > Build Solution.
  2. アプリを起動する - メニュー バーから [デバッグ] > [デバッグの開始] の順に選択するか、F5 キーを押します。Start your app - From the menu bar, choose Debug > Start Debugging or press F5.
  3. 認識を開始する - 英語で語句を読み上げるよう求めるメッセージが表示されます。Start recognition - It will prompt you to speak a phrase in English. 音声が Speech Service に送信され、テキストとして文字起こしされて、コンソールに表示されます。Your speech is sent to the Speech service, transcribed as text, and rendered in the console.

次のステップNext steps

音声認識に関するこの基本知識と共に、引き続き基礎を学習し、Speech SDK 内の一般的な機能とタスクについて理解を深めます。With this base knowledge of speech recognition, continue exploring the basics to learn about common functionality and tasks within the Speech SDK.

このクイックスタートでは、Speech SDK を使用して、音声をマイク入力から対話形式で認識し、キャプチャしたオーディオからテキスト文字起こしを取得します。In this quickstart, you use the Speech SDK to interactively recognize speech from a microphone input, and get the text transcription from captured audio. 会話の文字起こしなどの一般的な認識タスクのために、この機能をアプリやデバイスに簡単に統合できます。It's easy to integrate this feature into your apps or devices for common recognition tasks, such as transcribing conversations. また、Bot Framework を Speech SDK と共に使用して音声アシスタントを構築するなど、より複雑な統合にも使用できます。It can also be used for more complex integrations, like using the Bot Framework with the Speech SDK to build voice assistants.

いくつかの前提条件を満たすと、4 つのステップを実行するだけでマイクから音声を認識します。After satisfying a few prerequisites, recognizing speech from a microphone only takes four steps:

  • サブスクリプション キーとリージョンから SpeechConfig オブジェクトを作成します。Create a SpeechConfig object from your subscription key and region.
  • 上記の SpeechConfig オブジェクトを使用して SpeechRecognizer オブジェクトを作成します。Create a SpeechRecognizer object using the SpeechConfig object from above.
  • SpeechRecognizer オブジェクトを使用して、1 つの発話の認識プロセスを開始します。Using the SpeechRecognizer object, start the recognition process for a single utterance.
  • 返された SpeechRecognitionResult を検査します。Inspect the SpeechRecognitionResult returned.

GitHub で、すべての Speech SDK C++ サンプルを表示またはダウンロードできます。You can view or download all Speech SDK C++ Samples on GitHub.

ターゲット環境を選択してくださいChoose your target environment

前提条件Prerequisites

開始する前に、以下の操作を行います。Before you get started:

ソース コードSource code

helloworld.cpp という名前で C++ ソース ファイルを作成し、その中に次のコードを貼り付けます。Create a C++ source file named helloworld.cpp, and paste the following code into it.

#include <iostream> // cin, cout
#include <speechapi_cxx.h>

using namespace std;
using namespace Microsoft::CognitiveServices::Speech;

void recognizeSpeech() {
    // Creates an instance of a speech config with specified subscription key and service region.
    // Replace with your own subscription key and service region (e.g., "westus").
    auto config = SpeechConfig::FromSubscription("YourSubscriptionKey", "YourServiceRegion");

    // Creates a speech recognizer
    auto recognizer = SpeechRecognizer::FromConfig(config);
    cout << "Say something...\n";

    // Starts speech recognition, and returns after a single utterance is recognized. The end of a
    // single utterance is determined by listening for silence at the end or until a maximum of 15
    // seconds of audio is processed.  The task returns the recognition text as result. 
    // Note: Since RecognizeOnceAsync() returns only a single utterance, it is suitable only for single
    // shot recognition like command or query. 
    // For long-running multi-utterance recognition, use StartContinuousRecognitionAsync() instead.
    auto result = recognizer->RecognizeOnceAsync().get();

    // Checks result.
    if (result->Reason == ResultReason::RecognizedSpeech) {
        cout << "We recognized: " << result->Text << std::endl;
    }
    else if (result->Reason == ResultReason::NoMatch) {
        cout << "NOMATCH: Speech could not be recognized." << std::endl;
    }
    else if (result->Reason == ResultReason::Canceled) {
        auto cancellation = CancellationDetails::FromResult(result);
        cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl;

        if (cancellation->Reason == CancellationReason::Error) {
            cout << "CANCELED: ErrorCode= " << (int)cancellation->ErrorCode << std::endl;
            cout << "CANCELED: ErrorDetails=" << cancellation->ErrorDetails << std::endl;
            cout << "CANCELED: Did you update the subscription info?" << std::endl;
        }
    }
}

int main(int argc, char **argv) {
    setlocale(LC_ALL, "");
    recognizeSpeech();
    return 0;
}

YourSubscriptionKeyYourServiceRegion の値は、Speech リソースの実際の値に置き換えてください。Replace the YourSubscriptionKey and YourServiceRegion values with actual values from the Speech resource.

  • Azure portal に移動し、Speech リソースを開きますNavigate to the Azure portal , and open the Speech resource
  • 左側の [キー] に、利用可能なサブスクリプション キーが 2 つありますUnder the Keys on the left, there are two available subscription keys
    • そのどちらか一方で YourSubscriptionKey の値を置き換えますUse either one as the YourSubscriptionKey value replacement
  • 左側の [概要] で、リージョンをメモし、それをリージョン識別子 にマップしますUnder the Overview on the left, note the region and map it to the region identifier
    • YourServiceRegion の値をリージョン識別子で置き換えます (米国西部の場合は "westus" など)Use the Region identifier as the YourServiceRegion value replacement, for example: "westus" for West US

コードの説明Code explanation

音声構成オブジェクトを作成するには、音声リソースのサブスクリプション キーとリージョンが必要です。The Speech resource subscription key and region are required to create a speech configuration object. 音声認識エンジン オブジェクトをインスタンス化するには、この構成オブジェクトが必要です。The configuration object is needed to instantiate a speech recognizer object.

認識エンジン インスタンスは、複数の音声認識方法を公開します。The recognizer instance exposes multiple ways to recognize speech. この例では、音声は 1 回だけ認識されます。In this example, speech is recognized once. この機能は、認識のために 1 つの語句が送信されていること、そして語句が識別されると音声の認識を停止することを音声サービスに知らせます。This functionality lets the Speech service know that you're sending a single phrase for recognition, and that once the phrase is identified to stop recognizing speech. 結果が生成されると、コードによって、認識理由がコンソールに書き込まれます。Once the result is yielded, the code will write the recognition reason to the console.

ヒント

Speech SDK は、既定で言語に en-us を使用して認識します。ソース言語の選択については、「音声テキスト変換のソース言語を指定する」を参照してください。The Speech SDK will default to recognizing using en-us for the language, see Specify source language for speech to text for information on choosing the source language.

アプリのビルドBuild the app

注意

次のコマンドを必ず 1 つのコマンド ライン として入力してください。Make sure to enter the commands below as a single command line. 各コマンドの横にある [Copy](コピー) ボタンを使用してコマンドをコピーし、シェル プロンプトでそれを貼り付けるのが、それを行う最も簡単な方法です。The easiest way to do that is to copy the command by using the Copy button next to each command, and then paste it at your shell prompt.

  • x64 (64 ビット) システムでは、次のコマンドを実行してアプリケーションをビルドします。On an x64 (64-bit) system, run the following command to build the application.

    g++ helloworld.cpp -o helloworld -I "$SPEECHSDK_ROOT/include/cxx_api" -I "$SPEECHSDK_ROOT/include/c_api" --std=c++14 -lpthread -lMicrosoft.CognitiveServices.Speech.core -L "$SPEECHSDK_ROOT/lib/x64" -l:libasound.so.2
    
  • x86 (32 ビット) システムでは、次のコマンドを実行してアプリケーションをビルドします。On an x86 (32-bit) system, run the following command to build the application.

    g++ helloworld.cpp -o helloworld -I "$SPEECHSDK_ROOT/include/cxx_api" -I "$SPEECHSDK_ROOT/include/c_api" --std=c++14 -lpthread -lMicrosoft.CognitiveServices.Speech.core -L "$SPEECHSDK_ROOT/lib/x86" -l:libasound.so.2
    
  • ARM64 (64 ビット) システムでは、次のコマンドを実行してアプリケーションをビルドします。On an ARM64 (64-bit) system, run the following command to build the application.

    g++ helloworld.cpp -o helloworld -I "$SPEECHSDK_ROOT/include/cxx_api" -I "$SPEECHSDK_ROOT/include/c_api" --std=c++14 -lpthread -lMicrosoft.CognitiveServices.Speech.core -L "$SPEECHSDK_ROOT/lib/arm64" -l:libasound.so.2
    

アプリを実行するRun the app

  1. Speech SDK ライブラリを指すようにローダーのライブラリ パスを構成します。Configure the loader's library path to point to the Speech SDK library.

    • x64 (64 ビット) システムでは、次のコマンドを入力します。On an x64 (64-bit) system, enter the following command.

      export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SPEECHSDK_ROOT/lib/x64"
      
    • x86 (32 ビット) システムでは、このコマンドを入力します。On an x86 (32-bit) system, enter this command.

      export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SPEECHSDK_ROOT/lib/x86"
      
    • ARM64 (64 ビット) システムでは、次のコマンドを入力します。On an ARM64 (64-bit) system, enter the following command.

      export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SPEECHSDK_ROOT/lib/arm64"
      
  2. アプリケーションを実行します。Run the application.

    ./helloworld
    
  3. コンソール ウィンドウに、何か発言するよう求めるプロンプトが表示されます。In the console window, a prompt appears, requesting that you say something. 英語の語句または文を読み上げます。Speak an English phrase or sentence. 音声が Speech サービスに送信されてテキストに変換され、同じウィンドウに表示されます。Your speech is transmitted to the Speech service and transcribed to text, which appears in the same window.

    Say something...
    We recognized: What's the weather like?
    

次のステップNext steps

音声認識に関するこの基本知識と共に、引き続き基礎を学習し、Speech SDK 内の一般的な機能とタスクについて理解を深めます。With this base knowledge of speech recognition, continue exploring the basics to learn about common functionality and tasks within the Speech SDK.

このクイックスタートでは、Speech SDK を使用して、音声をマイク入力から対話形式で認識し、キャプチャしたオーディオからテキスト文字起こしを取得します。In this quickstart, you use the Speech SDK to interactively recognize speech from a microphone input, and get the text transcription from captured audio. 会話の文字起こしなどの一般的な認識タスクのために、この機能をアプリやデバイスに簡単に統合できます。It's easy to integrate this feature into your apps or devices for common recognition tasks, such as transcribing conversations. また、Bot Framework を Speech SDK と共に使用して音声アシスタントを構築するなど、より複雑な統合にも使用できます。It can also be used for more complex integrations, like using the Bot Framework with the Speech SDK to build voice assistants.

いくつかの前提条件を満たすと、4 つのステップを実行するだけでマイクから音声を認識します。After satisfying a few prerequisites, recognizing speech from a microphone only takes four steps:

  • サブスクリプション キーとリージョンから SpeechConfig オブジェクトを作成します。Create a SpeechConfig object from your subscription key and region.
  • 上記の SpeechConfig オブジェクトを使用して SpeechRecognizer オブジェクトを作成します。Create a SpeechRecognizer object using the SpeechConfig object from above.
  • SpeechRecognizer オブジェクトを使用して、1 つの発話の認識プロセスを開始します。Using the SpeechRecognizer object, start the recognition process for a single utterance.
  • 返された SpeechRecognitionResult を検査します。Inspect the SpeechRecognitionResult returned.

GitHub で、すべての Speech SDK Java サンプルを表示またはダウンロードできます。You can view or download all Speech SDK Java Samples on GitHub.

ターゲット環境を選択してくださいChoose your target environment

前提条件Prerequisites

開始する前に、以下の操作を行います。Before you get started:

ソース コードSource code

新しい空のクラスを Java プロジェクトに追加するために、 [File] > [New] > [Class] の順に選択します。To add a new empty class to your Java project, select File > New > Class. [New Java Class] ウィンドウで、 [Package] フィールドに speechsdk.quickstart と入力し、 [Name] フィールドに Main と入力します。In the New Java Class window, enter speechsdk.quickstart into the Package field, and Main into the Name field.

[New Java Class] ウィンドウのスクリーンショット

Main.java ファイルの内容を次のスニペットに置き換えます。Replace the contents of the Main.java file with the following snippet:

package speechsdk.quickstart;

import java.util.concurrent.Future;
import com.microsoft.cognitiveservices.speech.*;

/**
 * Quickstart: recognize speech using the Speech SDK for Java.
 */
public class Main {

    /**
     * @param args Arguments are ignored in this sample.
     */
    public static void main(String[] args) {
        try {
            // Replace below with your own subscription key
            String speechSubscriptionKey = "YourSubscriptionKey";
            // Replace below with your own service region (e.g., "westus").
            String serviceRegion = "YourServiceRegion";

            int exitCode = 1;
            SpeechConfig config = SpeechConfig.fromSubscription(speechSubscriptionKey, serviceRegion);
            assert(config != null);

            SpeechRecognizer reco = new SpeechRecognizer(config);
            assert(reco != null);

            System.out.println("Say something...");

            Future<SpeechRecognitionResult> task = reco.recognizeOnceAsync();
            assert(task != null);

            SpeechRecognitionResult result = task.get();
            assert(result != null);

            if (result.getReason() == ResultReason.RecognizedSpeech) {
                System.out.println("We recognized: " + result.getText());
                exitCode = 0;
            }
            else if (result.getReason() == ResultReason.NoMatch) {
                System.out.println("NOMATCH: Speech could not be recognized.");
            }
            else if (result.getReason() == ResultReason.Canceled) {
                CancellationDetails cancellation = CancellationDetails.fromResult(result);
                System.out.println("CANCELED: Reason=" + cancellation.getReason());

                if (cancellation.getReason() == CancellationReason.Error) {
                    System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode());
                    System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails());
                    System.out.println("CANCELED: Did you update the subscription info?");
                }
            }

            reco.close();

            System.exit(exitCode);
        } catch (Exception ex) {
            System.out.println("Unexpected exception: " + ex.getMessage());

            assert(false);
            System.exit(1);
        }
    }
}

YourSubscriptionKeyYourServiceRegion の値は、Speech リソースの実際の値に置き換えてください。Replace the YourSubscriptionKey and YourServiceRegion values with actual values from the Speech resource.

  • Azure portal に移動し、Speech リソースを開きますNavigate to the Azure portal , and open the Speech resource
  • 左側の [キー] に、利用可能なサブスクリプション キーが 2 つありますUnder the Keys on the left, there are two available subscription keys
    • そのどちらか一方で YourSubscriptionKey の値を置き換えますUse either one as the YourSubscriptionKey value replacement
  • 左側の [概要] で、リージョンをメモし、それをリージョン識別子 にマップしますUnder the Overview on the left, note the region and map it to the region identifier
    • YourServiceRegion の値をリージョン識別子で置き換えます (米国西部の場合は "westus" など)Use the Region identifier as the YourServiceRegion value replacement, for example: "westus" for West US

コードの説明Code explanation

音声構成オブジェクトを作成するには、音声リソースのサブスクリプション キーとリージョンが必要です。The Speech resource subscription key and region are required to create a speech configuration object. 音声認識エンジン オブジェクトをインスタンス化するには、この構成オブジェクトが必要です。The configuration object is needed to instantiate a speech recognizer object.

認識エンジン インスタンスは、複数の音声認識方法を公開します。The recognizer instance exposes multiple ways to recognize speech. この例では、音声は 1 回だけ認識されます。In this example, speech is recognized once. この機能は、認識のために 1 つの語句が送信されていること、そして語句が識別されると音声の認識を停止することを音声サービスに知らせます。This functionality lets the Speech service know that you're sending a single phrase for recognition, and that once the phrase is identified to stop recognizing speech. 結果が生成されると、コードによって、認識理由がコンソールに書き込まれます。Once the result is yielded, the code will write the recognition reason to the console.

ヒント

Speech SDK は、既定で言語に en-us を使用して認識します。ソース言語の選択については、「音声テキスト変換のソース言語を指定する」を参照してください。The Speech SDK will default to recognizing using en-us for the language, see Specify source language for speech to text for information on choosing the source language.

アプリをビルドして実行するBuild and run app

F11 キーを押すか、 [Run] > [Debug] の順に選択します。Press F11, or select Run > Debug. その後 15 秒間、マイクからの音声入力が認識され、コンソール ウィンドウにログが記録されます。The next 15 seconds of speech input from your microphone will be recognized and logged in the console window.

認識が成功した後のコンソール出力のスクリーンショット

次のステップNext steps

音声認識に関するこの基本知識と共に、引き続き基礎を学習し、Speech SDK 内の一般的な機能とタスクについて理解を深めます。With this base knowledge of speech recognition, continue exploring the basics to learn about common functionality and tasks within the Speech SDK.

このクイックスタートでは、Speech SDK を使用して、音声をマイク入力から対話形式で認識し、キャプチャしたオーディオからテキスト文字起こしを取得します。In this quickstart, you use the Speech SDK to interactively recognize speech from a microphone input, and get the text transcription from captured audio. 会話の文字起こしなどの一般的な認識タスクのために、この機能をアプリやデバイスに簡単に統合できます。It's easy to integrate this feature into your apps or devices for common recognition tasks, such as transcribing conversations. また、Bot Framework を Speech SDK と共に使用して音声アシスタントを構築するなど、より複雑な統合にも使用できます。It can also be used for more complex integrations, like using the Bot Framework with the Speech SDK to build voice assistants.

いくつかの前提条件を満たすと、4 つのステップを実行するだけでマイクから音声を認識します。After satisfying a few prerequisites, recognizing speech from a microphone only takes four steps:

  • サブスクリプション キーとリージョンから SpeechConfig オブジェクトを作成します。Create a SpeechConfig object from your subscription key and region.
  • 上記の SpeechConfig オブジェクトを使用して SpeechRecognizer オブジェクトを作成します。Create a SpeechRecognizer object using the SpeechConfig object from above.
  • SpeechRecognizer オブジェクトを使用して、1 つの発話の認識プロセスを開始します。Using the SpeechRecognizer object, start the recognition process for a single utterance.
  • 返された SpeechRecognitionResult を検査します。Inspect the SpeechRecognitionResult returned.

GitHub で、すべての Speech SDK Python サンプルを表示またはダウンロードします。You can view or download all Speech SDK Python Samples on GitHub.

前提条件Prerequisites

開始する前に、以下の操作を行います。Before you get started:

ソース コードSource code

quickstart.py という名前のファイルを作成し、次の Python コードを貼り付けます。Create a file named quickstart.py and paste the following Python code in it.

import azure.cognitiveservices.speech as speechsdk

# Creates an instance of a speech config with specified subscription key and service region.
# Replace with your own subscription key and service region (e.g., "westus").
speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion"
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)

# Creates a recognizer with the given settings
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config)

print("Say something...")


# Starts speech recognition, and returns after a single utterance is recognized. The end of a
# single utterance is determined by listening for silence at the end or until a maximum of 15
# seconds of audio is processed.  The task returns the recognition text as result. 
# Note: Since recognize_once() returns only a single utterance, it is suitable only for single
# shot recognition like command or query. 
# For long-running multi-utterance recognition, use start_continuous_recognition() instead.
result = speech_recognizer.recognize_once()

# Checks result.
if result.reason == speechsdk.ResultReason.RecognizedSpeech:
    print("Recognized: {}".format(result.text))
elif result.reason == speechsdk.ResultReason.NoMatch:
    print("No speech could be recognized: {}".format(result.no_match_details))
elif result.reason == speechsdk.ResultReason.Canceled:
    cancellation_details = result.cancellation_details
    print("Speech Recognition canceled: {}".format(cancellation_details.reason))
    if cancellation_details.reason == speechsdk.CancellationReason.Error:
        print("Error details: {}".format(cancellation_details.error_details))

YourSubscriptionKeyYourServiceRegion の値は、Speech リソースの実際の値に置き換えてください。Replace the YourSubscriptionKey and YourServiceRegion values with actual values from the Speech resource.

  • Azure portal に移動し、Speech リソースを開きますNavigate to the Azure portal , and open the Speech resource
  • 左側の [キー] に、利用可能なサブスクリプション キーが 2 つありますUnder the Keys on the left, there are two available subscription keys
    • そのどちらか一方で YourSubscriptionKey の値を置き換えますUse either one as the YourSubscriptionKey value replacement
  • 左側の [概要] で、リージョンをメモし、それをリージョン識別子 にマップしますUnder the Overview on the left, note the region and map it to the region identifier
    • YourServiceRegion の値をリージョン識別子で置き換えます (米国西部の場合は "westus" など)Use the Region identifier as the YourServiceRegion value replacement, for example: "westus" for West US

コードの説明Code explanation

音声構成オブジェクトを作成するには、音声リソースのサブスクリプション キーとリージョンが必要です。The Speech resource subscription key and region are required to create a speech configuration object. 音声認識エンジン オブジェクトをインスタンス化するには、この構成オブジェクトが必要です。The configuration object is needed to instantiate a speech recognizer object.

認識エンジン インスタンスは、複数の音声認識方法を公開します。The recognizer instance exposes multiple ways to recognize speech. この例では、音声は 1 回だけ認識されます。In this example, speech is recognized once. この機能は、認識のために 1 つの語句が送信されていること、そして語句が識別されると音声の認識を停止することを音声サービスに知らせます。This functionality lets the Speech service know that you're sending a single phrase for recognition, and that once the phrase is identified to stop recognizing speech. 結果が生成されると、コードによって、認識理由がコンソールに書き込まれます。Once the result is yielded, the code will write the recognition reason to the console.

ヒント

Speech SDK は、既定で言語に en-us を使用して認識します。ソース言語の選択については、「音声テキスト変換のソース言語を指定する」を参照してください。The Speech SDK will default to recognizing using en-us for the language, see Specify source language for speech to text for information on choosing the source language.

アプリをビルドして実行するBuild and run app

これで、Speech サービスを使用して音声認識をテストする準備ができました。Now you're ready to test speech recognition using the Speech service.

これを macOS で実行しているとき、マイクを使用する Python アプリを作成したのが初めてであれば、おそらく、マイクにアクセスする許可をターミナルに与える必要があります。If you're running this on macOS and it's the first Python app you've built that uses a microphone, you'll probably need to give Terminal access to the microphone. [システム設定] を開き、 [セキュリティとプライバシー] を選択します。Open System Settings and select Security & Privacy. 次に、 [プライバシー] を選択し、一覧から [マイク] を見つけます。Next, select Privacy and locate Microphone in the list. 最後に、 [ターミナル] を選択して保存します。Last, select Terminal and save.

  1. アプリを開始する - コマンド ラインで、次のように入力します:Start your app - From the command line, type:
    python quickstart.py
    
  2. 認識を開始する - 英語で語句を読み上げるよう求めるメッセージが表示されます。Start recognition - It will prompt you to speak a phrase in English. 音声が Speech Service に送信され、テキストとして文字起こしされて、コンソールに表示されます。Your speech is sent to the Speech service, transcribed as text, and rendered in the console.

次のステップNext steps

音声認識に関するこの基本知識と共に、引き続き基礎を学習し、Speech SDK 内の一般的な機能とタスクについて理解を深めます。With this base knowledge of speech recognition, continue exploring the basics to learn about common functionality and tasks within the Speech SDK.

このクイックスタートでは、コマンド ラインから Speech CLI を使用して、音声をマイク入力から対話形式で認識し、キャプチャしたオーディオからテキストへの文字起こしを取得します。In this quickstart, you use the Speech CLI from the command line to interactively recognize speech from a microphone input, and get the text transcription from captured audio. Speech CLI を使用すると、会話の文字起こしなどの一般的な認識タスクを簡単に実行できます。It's easy to use the Speech CLI to perform common recognition tasks, such as transcribing conversations. Speech CLI では、構成を 1 回行えば、マイクで、またはバッチ スクリプトを使用してファイルから、音声をテキストに対話形式で文字起こしすることができます。After a one-time configuration, the Speech CLI lets you transcribe audio into text interactively with a microphone or from files using a batch script.

前提条件Prerequisites

このチュートリアルの唯一の前提条件は、Azure Speech サブスクリプションです。The only prerequisite is an Azure Speech subscription. まだお持ちでない場合は、新しいサブスクリプションの作成に関するガイドを参照してください。See the guide on creating a new subscription if you don't already have one.

ダウンロードしてインストールするDownload and install

Windows に Speech CLI をインストールするには、次の手順に従います。Follow these steps to install the Speech CLI on Windows:

  1. .NET Framework 4.7 または .NET Core 3.0 のいずれかをインストールします。Install either .NET Framework 4.7 or .NET Core 3.0
  2. Speech CLI ZIP アーカイブをダウンロードして、抽出します。Download the Speech CLI zip archive, then extract it.
  3. ダウンロードから抽出したルート ディレクトリ spx-zips にアクセスし、必要なサブディレクトリを抽出します (.NET Framework 4.7 の場合は spx-net471、x64 CPU での .NET Core 3.0 の場合は spx-netcore-win-x64)。Go to the root directory spx-zips that you extracted from the download, and extract the subdirectory that you need (spx-net471 for .NET Framework 4.7, or spx-netcore-win-x64 for .NET Core 3.0 on an x64 CPU).

コマンド プロンプトで、ディレクトリをこの場所に変更し、「spx」と入力して、Speech CLI のヘルプを表示します。In the command prompt, change directory to this location, and then type spx to see help for the Speech CLI.

注意

Windows の Speech CLI では、ローカル コンピューター上のコマンド プロンプトで使用できるフォントのみを表示できます。On Windows, the Speech CLI can only show fonts available to the command prompt on the local computer. Windows ターミナルでは、Speech CLI によって対話的に生成されるすべてのフォントがサポートされます。Windows Terminal supports all fonts produced interactively by the Speech CLI. ファイルに出力すると、メモ帳などのテキスト エディターや、Microsoft Edge などの Web ブラウザーでも、すべてのフォントを表示できます。If you output to a file, a text editor like Notepad or a web browser like Microsoft Edge can also show all fonts.

注意

Powershell では、コマンドの検索時にローカル ディレクトリがチェックされません。Powershell does not check the local directory when looking for a command. Powershell で、ディレクトリを spx の場所に変更し、.\spx と入力してツールを呼び出します。In Powershell, change directory to the location of spx and call the tool by entering .\spx. このディレクトリをパスに追加すると、Powershell と Windows コマンド プロンプトが .\ プレフィックスを含めずにディレクトリから spx を検索します。If you add this directory to your path, Powershell and the Windows command prompt will find spx from any directory without including the .\ prefix.

サブスクリプション構成の作成Create subscription config

Speech CLI の使用を開始するには、最初に、Speech サブスクリプション キーとリージョン情報を入力する必要があります。To start using the Speech CLI, you first need to enter your Speech subscription key and region information. リージョン識別子を確認するには、リージョンのサポートに関するページを参照してください。See the region support page to find your region identifier. サブスクリプション キーとリージョン識別子 (たとえば、Once you have your subscription key and region identifier (ex. eastuswestus) を入手したら、次のコマンドを実行します。eastus, westus), run the following commands.

spx config @key --set YOUR-SUBSCRIPTION-KEY
spx config @region --set YOUR-REGION-ID

これで、今後の SPX 要求のためのサブスクリプション認証が格納されるようになりました。Your subscription authentication is now stored for future SPX requests. これらの格納されている値のいずれかを削除する必要がある場合は、spx config @region --clear または spx config @key --clear を実行します。If you need to remove either of these stored values, run spx config @region --clear or spx config @key --clear.

マイクを有効にするEnable microphone

PC マイクを電源に接続してオンにして、マイクを使用する可能性のあるすべてのアプリをオフにします。Plug in and turn on your PC microphone, and turn off any apps that might also use the microphone. コンピューターによっては、マイクが内蔵されているものや、Bluetooth デバイスの構成が必要なものもあります。Some computers have a built-in microphone, while others require configuration of a Bluetooth device.

Speech CLI を実行するRun the Speech CLI

Speech CLI を実行して、マイクからの音声を認識する準備ができました。Now you're ready to run the Speech CLI to recognize speech from your microphone.

  1. アプリを開始する - コマンド ラインから Speech CLI バイナリ ファイルが含まれるディレクトリに変更して、次のように入力します。Start your app - From the command line, change to the directory that contains the Speech CLI binary file, and type:

    spx recognize --microphone
    

    注意

    Speech CLI の既定値は英語です。The Speech CLI defaults to English. 「音声テキスト変換」表から別の言語を選択できます。You can choose a different language from the Speech-to-text table. たとえば、ドイツ語の音声を認識するには、--source de-DE を追加します。For example, add --source de-DE to recognize German speech.

  2. [認識を開始する] - マイクに向かって話します。Start recognition - Speak into the microphone. 自分が発した言葉がテキストに文字起こしされて、リアルタイムに表示されます。You will see transcription of your words into text in real-time. Speech CLI は、無音の状態が一定の時間続いた後、または Ctrl + C キーを押したときに停止します。The Speech CLI will stop after a period of silence, or when you press ctrl-C.

次のステップNext steps

引き続き基本を学習して、Speech CLI のその他の機能を確認します。Continue exploring the basics to learn about other features of the Speech CLI.

このクイックスタートでは、Speech SDK を使用して、音声をマイク入力から対話形式で認識し、キャプチャしたオーディオからテキスト文字起こしを取得します。In this quickstart, you use the Speech SDK to interactively recognize speech from a microphone input, and get the text transcription from captured audio. 会話の文字起こしなどの一般的な認識タスクのために、この機能をアプリやデバイスに簡単に統合できます。It's easy to integrate this feature into your apps or devices for common recognition tasks, such as transcribing conversations. また、Bot Framework を Speech SDK と共に使用して音声アシスタントを構築するなど、より複雑な統合にも使用できます。It can also be used for more complex integrations, like using the Bot Framework with the Speech SDK to build voice assistants.

いくつかの前提条件を満たすと、4 つのステップを実行するだけでマイクから音声を認識します。After satisfying a few prerequisites, recognizing speech from a microphone only takes four steps:

  • サブスクリプション キーとリージョンから SpeechConfig オブジェクトを作成します。Create a SpeechConfig object from your subscription key and region.
  • 上記の SpeechConfig オブジェクトを使用して SpeechRecognizer オブジェクトを作成します。Create a SpeechRecognizer object using the SpeechConfig object from above.
  • SpeechRecognizer オブジェクトを使用して、1 つの発話の認識プロセスを開始します。Using the SpeechRecognizer object, start the recognition process for a single utterance.
  • 返された SpeechRecognitionResult を検査します。Inspect the SpeechRecognitionResult returned.

GitHub で、すべての Speech SDK Go サンプルを表示またはダウンロードできます。You can view or download all Speech SDK Go Samples on GitHub.

前提条件Prerequisites

開始する前に、以下の操作を行います。Before you get started:

環境を設定するSetup your environment

次の行を追加して、go.mod ファイルを最新の SDK バージョンで更新します。Update the go.mod file with the latest SDK version by adding this line

require (
    github.com/Microsoft/cognitive-services-speech-sdk-go v1.13.0
)

定型コードを使用して開始するStart with some boilerplate code

  1. ご使用のソース ファイル (例: sr-quickstart.go) の内容を次に置き換えます。これには次のものが含まれます。Replace the contents of your source file (e.g. sr-quickstart.go) with the below, which includes:
  • "main" パッケージの定義"main" package definition
  • Speech SDK からの必要なモジュールのインポートimporting the necessary modules from the Speech SDK
  • このクイック スタートの後半で置き換えられるサブスクリプション情報を格納するための変数variables for storing the subscription information that will be replaced later in this quickstart
  • オーディオ入力用のマイクを使用したシンプルな実装a simple implementation using the microphone for audio input
  • 音声認識中に発生するさまざまなイベントのイベント ハンドラーevent handlers for various events that take place during a speech recognition
package recognizer

import (
    "bufio"
    "fmt"
    "os"

    "github.com/Microsoft/cognitive-services-speech-sdk-go/audio"
    "github.com/Microsoft/cognitive-services-speech-sdk-go/speech"
)

func recognizingHandler(event speech.SpeechRecognitionEventArgs) {
    defer event.Close()
    fmt.Println("Recognizing:", event.Result.Text)
}

func recognizedHandler(event speech.SpeechRecognitionEventArgs) {
    defer event.Close()
    fmt.Println("Recognized:", event.Result.Text)
}

func cancelledHandler(event speech.SpeechRecognitionCanceledEventArgs) {
    defer event.Close()
    fmt.Println("Received a cancellation: ", event.ErrorDetails)
}

func main() {
    subscription :=  "YOUR_SUBSCRIPTION_KEY"
    region := "YOUR_SUBSCRIPTIONKEY_REGION"

    audioConfig, err := audio.NewAudioConfigFromDefaultMicrophoneInput()
    if err != nil {
        fmt.Println("Got an error: ", err)
        return
    }
    defer audioConfig.Close()
    config, err := speech.NewSpeechConfigFromSubscription(subscription, region)
    if err != nil {
        fmt.Println("Got an error: ", err)
        return
    }
    defer config.Close()
    speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(config, audioConfig)
    if err != nil {
        fmt.Println("Got an error: ", err)
        return
    }
    defer speechRecognizer.Close()
    speechRecognizer.Recognizing(recognizingHandler)
    speechRecognizer.Recognized(recognizedHandler)
    speechRecognizer.Canceled(cancelledHandler)
    speechRecognizer.StartContinuousRecognitionAsync()
    defer speechRecognizer.StopContinuousRecognitionAsync()
    bufio.NewReader(os.Stdin).ReadBytes('\n')
}

YOUR_SUBSCRIPTION_KEYYOUR_SUBSCRIPTIONKEY_REGION の値は、Speech リソースの実際の値に置き換えてください。Replace the YOUR_SUBSCRIPTION_KEY and YOUR_SUBSCRIPTIONKEY_REGION values with actual values from the Speech resource.

  • Azure portal に移動し、Speech リソースを開きますNavigate to the Azure portal, and open the Speech resource
  • 左側の [キー] に、利用可能なサブスクリプション キーが 2 つありますUnder the Keys on the left, there are two available subscription keys
    • そのどちらか一方で YOUR_SUBSCRIPTION_KEY の値を置き換えますUse either one as the YOUR_SUBSCRIPTION_KEY value replacement
  • 左側の [概要] で、リージョンをメモし、それをリージョン識別子にマッピングしますUnder the Overview on the left, note the region and map it to the region identifier
  • YOUR_SUBSCRIPTIONKEY_REGION の置換値としてリージョン識別子を使用します (米国西部の場合は "westus" など)Use the Region identifier as the YOUR_SUBSCRIPTIONKEY_REGION value replacement, for example: "westus" for West US

コードの説明Code explanation

音声構成オブジェクトを作成するには、Speech のサブスクリプション キーとリージョンが必要です。The Speech subscription key and region are required to create a speech configuration object. 音声認識エンジン オブジェクトをインスタンス化するには、この構成オブジェクトが必要です。The configuration object is needed to instantiate a speech recognizer object.

認識エンジン インスタンスは、複数の音声認識方法を公開します。The recognizer instance exposes multiple ways to recognize speech. この例では、音声は継続的に認識されます。In this example, speech is continuously recognized. この機能によって、認識のために多くの語句が送信されていることと、音声の認識を停止するためにプログラムを終了するタイミングを Speech サービスに知らせることができます。This functionality lets the Speech service know that you're sending many phrases for recognition, and when the program terminates to stop recognizing speech. 結果が生成されると、コードによってコンソールに出力されます。As results are yielded, the code will write them to the console.

ビルドおよび実行Build and run

これで、プロジェクトをビルドし、Speech サービスを使用して音声認識をテストするように設定できました。You're now set up to build your project and test speech recognition using the Speech service.

  1. プロジェクト (例: "go build" ) をビルドします。Build your project, e.g. "go build"
  2. モジュールを実行して、デバイスのマイクに向かってフレーズや文章を話します。Run the module and speak a phrase or sentence into your device's microphone. 音声が Speech サービスに送信され、テキストに変換されます。これは出力に表示されます。Your speech is transmitted to the Speech service and transcribed to text, which appears in the output.

注意

Speech SDK では、既定で認識される言語が en-us です。ソース言語の選択については、「音声テキスト変換のソース言語を指定する」を参照してください。The Speech SDK will default to recognizing using en-us for the language, see Specify source language for speech to text for information on choosing the source language.

次のステップNext steps

このクイックスタートでは、Speech SDK を使用して、音声をマイク入力から対話形式で認識し、キャプチャしたオーディオからテキスト文字起こしを取得します。In this quickstart, you use the Speech SDK to interactively recognize speech from a microphone input, and get the text transcription from captured audio. 会話の文字起こしなどの一般的な認識タスクのために、この機能をアプリやデバイスに簡単に統合できます。It's easy to integrate this feature into your apps or devices for common recognition tasks, such as transcribing conversations. また、Bot Framework を Speech SDK と共に使用して音声アシスタントを構築するなど、より複雑な統合にも使用できます。It can also be used for more complex integrations, like using the Bot Framework with the Speech SDK to build voice assistants.

いくつかの前提条件を満たすと、4 つのステップを実行するだけでマイクから音声を認識します。After satisfying a few prerequisites, recognizing speech from a microphone only takes four steps:

  • サブスクリプション キーとリージョンから SpeechConfig オブジェクトを作成します。Create a SpeechConfig object from your subscription key and region.
  • 上記の SpeechConfig オブジェクトを使用して SpeechRecognizer オブジェクトを作成します。Create a SpeechRecognizer object using the SpeechConfig object from above.
  • SpeechRecognizer オブジェクトを使用して、1 つの発話の認識プロセスを開始します。Using the SpeechRecognizer object, start the recognition process for a single utterance.
  • 返された SpeechRecognitionResult を検査します。Inspect the SpeechRecognitionResult returned.

GitHub で、すべての Speech SDK JavaScript サンプルを表示またはダウンロードできます。You can view or download all Speech SDK JavaScript Samples on GitHub.

前提条件Prerequisites

開始する前に、以下の操作を行います。Before you get started:

新しい Web サイト フォルダーを作成するCreate a new Website folder

新しい空のフォルダーを作成します。Create a new, empty folder. Web サーバーでサンプルをホストする場合は、Web サーバーがフォルダーにアクセスできることを確認します。In case you want to host the sample on a web server, make sure that the web server can access the folder.

JavaScript 用 Speech SDK をフォルダーに解凍するUnpack the Speech SDK for JavaScript into that folder

Speech SDK を .zip パッケージとしてダウンロードし、新しく作成したフォルダーに解凍します。Download the Speech SDK as a .zip package and unpack it into the newly created folder. これにより、microsoft.cognitiveservices.speech.sdk.bundle.jsmicrosoft.cognitiveservices.speech.sdk.bundle.js.map の 2 つのファイルが解凍されます。This results in two files being unpacked, microsoft.cognitiveservices.speech.sdk.bundle.js and microsoft.cognitiveservices.speech.sdk.bundle.js.map. 後者のファイルはオプションであり、SDK コードのデバッグに有用です。The latter file is optional, and is useful for debugging into the SDK code.

index.html ページを作成するCreate an index.html page

フォルダーに index.html という名前の新しいファイルを作成し、テキスト エディターでこのファイルを開きます。Create a new file in the folder, named index.html and open this file with a text editor.

  1. 次の HTML スケルトンを作成します。Create the following HTML skeleton:
<!DOCTYPE html>
<html>
<head>
  <title>Microsoft Cognitive Services Speech SDK JavaScript Quickstart</title>
  <meta charset="utf-8" />
</head>
<body style="font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:13px;">
  <!-- <uidiv> -->
  <div id="warning">
    <h1 style="font-weight:500;">Speech Recognition Speech SDK not found (microsoft.cognitiveservices.speech.sdk.bundle.js missing).</h1>
  </div>
  
  <div id="content" style="display:none">
    <table width="100%">
      <tr>
        <td></td>
        <td><h1 style="font-weight:500;">Microsoft Cognitive Services Speech SDK JavaScript Quickstart</h1></td>
      </tr>
      <tr>
        <td align="right"><a href="https://docs.microsoft.com/azure/cognitive-services/speech-service/get-started" target="_blank">Subscription</a>:</td>
        <td><input id="subscriptionKey" type="text" size="40" value="subscription"></td>
      </tr>
      <tr>
        <td align="right">Region</td>
        <td><input id="serviceRegion" type="text" size="40" value="YourServiceRegion"></td>
      </tr>
      <tr>
        <td></td>
        <td><button id="startRecognizeOnceAsyncButton">Start recognition</button></td>
      </tr>
      <tr>
        <td align="right" valign="top">Results</td>
        <td><textarea id="phraseDiv" style="display: inline-block;width:500px;height:200px"></textarea></td>
      </tr>
    </table>
  </div>
  <!-- </uidiv> -->

  <!-- <speechsdkref> -->
  <!-- Speech SDK reference sdk. -->
  <script src="microsoft.cognitiveservices.speech.sdk.bundle.js"></script>
  <!-- </speechsdkref> -->

  <!-- <authorizationfunction> -->
  <!-- Speech SDK Authorization token -->
  <script>
  // Note: Replace the URL with a valid endpoint to retrieve
  //       authorization tokens for your subscription.
  var authorizationEndpoint = "token.php";

  function RequestAuthorizationToken() {
    if (authorizationEndpoint) {
      var a = new XMLHttpRequest();
      a.open("GET", authorizationEndpoint);
      a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      a.send("");
      a.onload = function() {
          var token = JSON.parse(atob(this.responseText.split(".")[1]));
          serviceRegion.value = token.region;
          authorizationToken = this.responseText;
          subscriptionKey.disabled = true;
          subscriptionKey.value = "using authorization token (hit F5 to refresh)";
          console.log("Got an authorization token: " + token);
      }
    }
  }
  </script>
  <!-- </authorizationfunction> -->

  <!-- <quickstartcode> -->
  <!-- Speech SDK USAGE -->
  <script>
    // status fields and start button in UI
    var phraseDiv;
    var startRecognizeOnceAsyncButton;

    // subscription key and region for speech services.
    var subscriptionKey, serviceRegion;
    var authorizationToken;
    var SpeechSDK;
    var recognizer;

    document.addEventListener("DOMContentLoaded", function () {
      startRecognizeOnceAsyncButton = document.getElementById("startRecognizeOnceAsyncButton");
      subscriptionKey = document.getElementById("subscriptionKey");
      serviceRegion = document.getElementById("serviceRegion");
      phraseDiv = document.getElementById("phraseDiv");

      startRecognizeOnceAsyncButton.addEventListener("click", function () {
        startRecognizeOnceAsyncButton.disabled = true;
        phraseDiv.innerHTML = "";

        // if we got an authorization token, use the token. Otherwise use the provided subscription key
        var speechConfig;
        if (authorizationToken) {
          speechConfig = SpeechSDK.SpeechConfig.fromAuthorizationToken(authorizationToken, serviceRegion.value);
        } else {
          if (subscriptionKey.value === "" || subscriptionKey.value === "subscription") {
            alert("Please enter your Microsoft Cognitive Services Speech subscription key!");
            return;
          }
          speechConfig = SpeechSDK.SpeechConfig.fromSubscription(subscriptionKey.value, serviceRegion.value);
        }

        speechConfig.speechRecognitionLanguage = "en-US";
        var audioConfig  = SpeechSDK.AudioConfig.fromDefaultMicrophoneInput();
        recognizer = new SpeechSDK.SpeechRecognizer(speechConfig, audioConfig);

        recognizer.recognizeOnceAsync(
          function (result) {
            startRecognizeOnceAsyncButton.disabled = false;
            phraseDiv.innerHTML += result.text;
            window.console.log(result);

            recognizer.close();
            recognizer = undefined;
          },
          function (err) {
            startRecognizeOnceAsyncButton.disabled = false;
            phraseDiv.innerHTML += err;
            window.console.log(err);

            recognizer.close();
            recognizer = undefined;
          });
      });

      if (!!window.SpeechSDK) {
        SpeechSDK = window.SpeechSDK;
        startRecognizeOnceAsyncButton.disabled = false;

        document.getElementById('content').style.display = 'block';
        document.getElementById('warning').style.display = 'none';

        // in case we have a function for getting an authorization token, call it.
        if (typeof RequestAuthorizationToken === "function") {
            RequestAuthorizationToken();
        }
      }
    });
  </script>
  <!-- </quickstartcode> -->
</body>
</html>

トークン ソースを作成する (省略可能)Create the token source (optional)

Web サーバーで Web ページをホストする場合は、デモ アプリケーションに対するトークン ソースを必要に応じて指定できます。In case you want to host the web page on a web server, you can optionally provide a token source for your demo application. これにより、サブスクリプション キーはサーバーに常に存在するようになり、ユーザーは自分で承認コードを入力しなくても音声機能を使用できます。That way, your subscription key will never leave your server while allowing users to use speech capabilities without entering any authorization code themselves.

token.php という名前で新しいファイルを作成します。Create a new file named token.php. この例では、Web サーバーが PHP スクリプト言語をサポートし、curl が有効になっているものと想定します。In this example we assume your web server supports the PHP scripting language with curl enabled. 次のコードを入力します。Enter the following code:

<?php
header('Access-Control-Allow-Origin: ' . $_SERVER['SERVER_NAME']);

// Replace with your own subscription key and service region (e.g., "westus").
$subscriptionKey = 'YourSubscriptionKey';
$region = 'YourServiceRegion';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://' . $region . '.api.cognitive.microsoft.com/sts/v1.0/issueToken');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{}');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Ocp-Apim-Subscription-Key: ' . $subscriptionKey));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
echo curl_exec($ch);
?>

注意

承認トークンは有効期間が限られています。Authorization tokens only have a limited lifetime. この簡単な例では、承認トークンを自動更新する方法は示されていません。This simplified example does not show how to refresh authorization tokens automatically. ユーザーは、ページを読み込みなおすか、F5 キーを押すことにより、手動で更新できます。As a user, you can manually reload the page or hit F5 to refresh.

サンプルをビルドしてローカルに実行するBuild and run the sample locally

アプリを起動するには、index.html ファイルをダブルクリックするか、または好みの Web ブラウザーで index.html を開きます。To launch the app, double-click on the index.html file or open index.html with your favorite web browser. 簡単な GUI が表示されるので、サブスクリプション キーとリージョンを入力し、マイクを使用して認識を開始することができます。It will present a simple GUI allowing you to enter your subscription key and region and trigger a recognition using the microphone.

注意

Safari ブラウザーでは、この方法が使用できません。This method doesn't work on the Safari browser. Safari では、サンプル Web ページを Web サーバーでホストする必要があります。Safari では、ローカル ファイルから読み込まれた Web サイトにはマイクの使用が許可されません。On Safari, the sample web page needs to be hosted on a web server; Safari doesn't allow websites loaded from a local file to use the microphone.

Web サーバーからサンプルをビルドして実行するBuild and run the sample via a web server

アプリを起動するには、適当な Web ブラウザーを開き、フォルダーをホストしているパブリック URL にアクセスして、リージョンを入力し、マイクを使用して認識を開始します。To launch your app, open your favorite web browser and point it to the public URL that you host the folder on, enter your region, and trigger a recognition using the microphone. 構成した場合、トークン ソースからトークンが取得されます。If configured, it will acquire a token from your token source.

次のステップNext steps

音声認識に関するこの基本知識と共に、引き続き基礎を学習し、Speech SDK 内の一般的な機能とタスクについて理解を深めます。With this base knowledge of speech recognition, continue exploring the basics to learn about common functionality and tasks within the Speech SDK.

GitHub ですべての Speech SDK サンプルを表示またはダウンロードします。View or download all Speech SDK Samples on GitHub.

言語とプラットフォームのその他のサポートAdditional language and platform support

このタブをクリックした場合、お気に入りのプログラミング言語でクイックスタートが表示されないことがあります。If you've clicked this tab, you probably didn't see a quickstart in your favorite programming language. ご安心ください。GitHub で入手できる追加のクイックスタートの素材とコード サンプルを用意しています。Don't worry, we have additional quickstart materials and code samples available on GitHub. この表を使用して、お使いのプログラミング言語とプラットフォーム/OS の組み合わせに適したサンプルを見つけます。Use the table to find the right sample for your programming language and platform/OS combination.

LanguageLanguage その他のクイックスタートAdditional Quickstarts コード サンプルCode samples
C#C# ファイルからBLOB からFrom file, From blob .NET Framework.NET CoreUWPUnityXamarin.NET Framework, .NET Core, UWP, Unity, Xamarin
C++C++ ファイルからBLOB からFrom file, From blob WindowsLinuxmacOSWindows, Linux, macOS
JavaJava ファイルからBLOB からFrom file, From blob AndroidJREAndroid, JRE
JavaScriptJavaScript mic からブラウザーファイルから Node.jsBrowser from mic, Node.js from file Windows、Linux、macOSWindows, Linux, macOS
Objective-CObjective-C iOSmacOSiOS, macOS iOSmacOSiOS, macOS
PythonPython ファイルからBLOB からFrom file, From blob Windows、Linux、macOSWindows, Linux, macOS
SwiftSwift iOSmacOSiOS, macOS iOSmacOSiOS, macOS