クイックスタート: 音声テキスト変換を使ってキャプションを作成する
リファレンス ドキュメント | パッケージ (NuGet) | GitHub のその他のサンプル
このクイックスタートでは、音声テキスト変換を使ってキャプションを作成するコンソール アプリを実行します。
ヒント
Speech Studio を試し、サンプル ビデオ クリップを選んで、リアルタイムまたはオフラインで処理されたキャプションの結果を確認します。
ヒント
Azure AI Speech Toolkit を試して、Visual Studio Code でキャプション サンプルを簡単にビルドして実行します。
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure ポータルで、音声リソースを作成します。
- Speech リソース キーとリージョンを取得します。 音声リソースがデプロイされたら、[リソースに移動] を選択して、キーを表示および管理します。
環境をセットアップする
Speech SDK は NuGet パッケージとして提供されていて、.NET Standard 2.0 が実装されています。 Azure Cognitive Service for Speech SDK は、このガイドで後でインストールしますが、まず、これ以上要件がないか SDK のインストール ガイドを確認してください。
また、圧縮された入力音声のために GStreamer をインストールする必要があります。
環境変数の設定
Azure AI サービスにアクセスするには、アプリケーションを認証する必要があります。 この記事では、環境変数を使って資格情報を格納する方法について説明します。 その後、コードから環境変数にアクセスして、アプリケーションを認証できます。 運用環境では、資格情報を保存してそれにアクセスする際に、安全性が高い方法を使用します。
重要
Microsoft Entra 認証と Azure リソースのマネージド ID を併用して、クラウドで実行されるアプリケーションに資格情報を格納しないようにすることをお勧めします。
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
Azure Cognitive Service for Speech リソース キーとリージョンの環境変数を設定するには、コンソール ウィンドウを開き、使用しているオペレーティング システムと開発環境についての指示に従います。
SPEECH_KEY
環境変数を設定するには、your-key をリソースのキーの 1 つに置き換えます。SPEECH_REGION
環境変数を設定するには、your-region をリソースのリージョンの 1 つに置き換えます。
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Note
現在のコンソールで環境変数のみにアクセスする必要がある場合は、環境変数を setx
の代わりに set
に設定できます。
環境変数を追加した後、コンソール ウィンドウを含め、環境変数を読み取る必要があるプログラムの再起動が必要になる場合があります。 たとえば、Visual Studio をエディターとして使用している場合、サンプルを実行する前に Visual Studio を再起動します。
音声からキャプションを作成する
キャプションのクイックスタート コード例をビルドして実行するには、次の手順に従います。
- GitHub からscenarios/csharp/dotnetcore/captioning/ サンプル ファイルをコピーします。 Git がインストールされている場合は、コマンド プロンプトを開き、
git clone
コマンドを実行して Speech SDK サンプル リポジトリをダウンロードします。git clone https://github.com/Azure-Samples/cognitive-services-speech-sdk.git
- コマンド プロンプトを開き、プロジェクト ディレクトリに移動します。
cd <your-local-path>/scenarios/csharp/dotnetcore/captioning/captioning/
- .NET CLI を使ってプロジェクトをビルドします。
dotnet build
- 任意のコマンド ライン引数を指定してアプリケーションを実行します。 使用できるオプションについては、「使用法と引数」を参照してください。 次の例を示します:
dotnet run --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
重要
--input
および--output
に指定されたパスが有効であることを確認します。 そうでない場合は、パスを変更する必要があります。上記の説明に従って、
SPEECH_KEY
環境変数とSPEECH_REGION
環境変数を設定してください。 そうでない場合は、--key
引数と--region
引数を使用します。
結果をチェックする
上記の例の realTime
オプションを使用すると、Recognizing
イベントの部分的な結果が出力に含められます。 この例では、最後の Recognized
イベントにのみコンマが含まれています。 コンマだけが Recognizing
イベントと Recognized
イベントの違いではありません。 詳細については、「部分的な結果を取得する」を参照してください。
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
--offline
オプションを使用すると、最終的な Recognized
イベントから結果が安定します。 部分的な結果は出力に含まれません。
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
SRT (SubRip Text) の期間の出力形式は hh:mm:ss,fff
です。 詳しくは、「キャプション出力の形式」をご覧ください。
使用法と引数
使用法: captioning --input <input file>
次のような接続オプションがあります。
--key
: Speech リソースのキー。 SPEECH_KEY 環境変数をオーバーライドします。 環境変数を設定する (推奨) か、--key
オプションを使用する必要があります。--region REGION
: Speech リソース リージョン。 SPEECH_REGION 環境変数をオーバーライドします。 環境変数を設定する (推奨) か、--region
オプションを使用する必要があります。 例:westus
、northeurope
重要
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
次のような入力オプションがあります。
--input FILE
: ファイルから音声を入力します。 既定の入力はマイクです。--format FORMAT
: 圧縮音声形式を使用します。--file
でのみ有効です。 有効な値は、alaw
、any
、flac
、mp3
、mulaw
、ogg_opus
です。 既定値はany
です。wav
ファイルを使用するには、形式を指定しないでください。 JavaScript キャプション サンプルには、このオプションを使用できません。 MP4 などの圧縮音声ファイルについては、GStreamer をインストールし、「圧縮されたオーディオ入力を使用する方法」を参照してください。
次のような言語オプションがあります。
--language LANG
: サポートされているロケールのうち、対応するもののいずれかを使用して言語を指定します。 これは、キャプションを複数行に分割するときに使用されます。 既定値はen-US
です。
次のような認識オプションがあります。
--offline
: オフラインの結果を出力します。--realTime
をオーバーライドします。 既定の出力モードはオフラインです。--realTime
: リアルタイムの結果を出力します。
リアルタイム出力には、Recognizing
イベントの結果が含まれます。 既定のオフライン出力は Recognized
イベントの結果のみです。 これらは常にコンソールに書き込まれ、出力ファイルに書き込まれることはありません。 --quiet
オプションを使うと、これがオーバーライドされます。 詳細については、「音声認識の結果を取得する」を参照してください。
次のような正確性オプションがあります。
--phrases PHRASE1;PHRASE2
:Contoso;Jessie;Rehaan
のように、認識するフレーズの一覧を指定することができます。 詳細については、「フレーズ リストを使用して認識精度を向上させる」を参照してください。
次のような出力オプションがあります。
--help
: このヘルプを表示して停止します--output FILE
: 指定したfile
にキャプションを出力します。 このフラグは必須です。--srt
: SRT (SubRip Text) 形式でキャプションを出力します。 既定の形式は WebVTT (Web Video Text Tracks) です。 SRT と WebVTT のキャプション ファイル形式の詳細については、「キャプション出力の形式」を参照してください。--maxLineLength LENGTH
: キャプションの 1 行あたりの最大文字数を LENGTH に設定します。 最小値は 20 です。 既定値は 37 (中国語の場合は 30) です。--lines LINES
: キャプションの行数を LINES に設定します。 最小値は 1 です。 既定値は 2 です。--delay MILLISECONDS
: リアルタイム エクスペリエンスを模倣するために、各キャプションの表示を遅延させるミリ秒数。 このオプションは、realTime
フラグを使用する場合にのみ指定できます。 最小値は 0.0 です。 既定値は 1000 です。--remainTime MILLISECONDS
: キャプションが別のキャプションに置き換えられない場合に、画面に残るミリ秒数。 最小値は 0.0 です。 既定値は 1000 です。--quiet
: エラー以外のコンソール出力を抑制します。--profanity OPTION
: 有効な値: 生、削除、マスク。 詳細については、「不適切表現フィルター」の概念を参照してください。--threshold NUMBER
: 安定した部分的な結果のしきい値を設定します。 既定値は3
です。 このオプションは、realTime
フラグを使用する場合にのみ指定できます。 詳細については、「部分的な結果を取得する」の概念を参照してください。
リソースをクリーンアップする
Azure portal または Azure コマンドライン インターフェイス (CLI) を使用して、作成した音声リソースを削除できます。
リファレンス ドキュメント | パッケージ (NuGet) | GitHub のその他のサンプル
このクイックスタートでは、音声テキスト変換を使ってキャプションを作成するコンソール アプリを実行します。
ヒント
Speech Studio を試し、サンプル ビデオ クリップを選んで、リアルタイムまたはオフラインで処理されたキャプションの結果を確認します。
ヒント
Azure AI Speech Toolkit を試して、Visual Studio Code でキャプション サンプルを簡単にビルドして実行します。
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure ポータルで、音声リソースを作成します。
- Speech リソース キーとリージョンを取得します。 音声リソースがデプロイされたら、[リソースに移動] を選択して、キーを表示および管理します。
環境をセットアップする
Speech SDK は NuGet パッケージとして提供されていて、.NET Standard 2.0 が実装されています。 Speech SDK は、このガイドで後でインストールしますが、まず、これ以上要件がないか SDK のインストール ガイドを確認してください。
また、圧縮された入力音声のために GStreamer をインストールする必要があります。
環境変数の設定
Azure AI サービスにアクセスするには、アプリケーションを認証する必要があります。 この記事では、環境変数を使って資格情報を格納する方法について説明します。 その後、コードから環境変数にアクセスして、アプリケーションを認証できます。 運用環境では、資格情報を保存してそれにアクセスする際に、安全性が高い方法を使用します。
重要
Microsoft Entra 認証と Azure リソースのマネージド ID を併用して、クラウドで実行されるアプリケーションに資格情報を格納しないようにすることをお勧めします。
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
Azure Cognitive Service for Speech リソース キーとリージョンの環境変数を設定するには、コンソール ウィンドウを開き、使用しているオペレーティング システムと開発環境についての指示に従います。
SPEECH_KEY
環境変数を設定するには、your-key をリソースのキーの 1 つに置き換えます。SPEECH_REGION
環境変数を設定するには、your-region をリソースのリージョンの 1 つに置き換えます。
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Note
現在のコンソールで環境変数のみにアクセスする必要がある場合は、環境変数を setx
の代わりに set
に設定できます。
環境変数を追加した後、コンソール ウィンドウを含め、環境変数を読み取る必要があるプログラムの再起動が必要になる場合があります。 たとえば、Visual Studio をエディターとして使用している場合、サンプルを実行する前に Visual Studio を再起動します。
音声からキャプションを作成する
Windows 上の Visual Studio Community 2022 でキャプションのクイックスタート コード例をビルドして実行するには、次の手順に従います。
GitHub から scenarios/cpp/windows/captioning/ サンプル ファイルをローカル ディレクトリにダウンロードするかコピーします。
Visual Studio Community 2022 で
captioning.sln
ソリューション ファイルを開きます。NuGet パッケージ マネージャーを使用して、プロジェクトに Speech SDK をインストールします。
Install-Package Microsoft.CognitiveServices.Speech
[プロジェクト]>[プロパティ]>[全般] を開きます。 [構成] を
All configurations
に設定します。 [C++ 言語標準] をISO C++17 Standard (/std:c++17)
に設定します。[ビルド]>[構成マネージャー] を開きます。
- 64 ビット Windows インストールでは、[アクティブ ソリューション プラットフォーム] を
x64
に設定します。 - 32 ビット Windows インストールでは、[アクティブ ソリューション プラットフォーム] を
x86
に設定します。
- 64 ビット Windows インストールでは、[アクティブ ソリューション プラットフォーム] を
[プロジェクト]>[プロパティ]>[デバッグ] を開きます。 [コマンド引数] に任意のコマンドライン引数を入力します。 使用できるオプションについては、「使用法と引数」を参照してください。 たとえば次のようになります。
--input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
重要
--input
および--output
に指定されたパスが有効であることを確認します。 そうでない場合は、パスを変更する必要があります。上記の説明に従って、
SPEECH_KEY
環境変数とSPEECH_REGION
環境変数を設定してください。 そうでない場合は、--key
引数と--region
引数を使用します。コンソール アプリケーションをビルドして実行します。
結果をチェックする
上記の例の realTime
オプションを使用すると、Recognizing
イベントの部分的な結果が出力に含められます。 この例では、最後の Recognized
イベントにのみコンマが含まれています。 コンマだけが Recognizing
イベントと Recognized
イベントの違いではありません。 詳細については、「部分的な結果を取得する」を参照してください。
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
--offline
オプションを使用すると、最終的な Recognized
イベントから結果が安定します。 部分的な結果は出力に含まれません。
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
SRT (SubRip Text) の期間の出力形式は hh:mm:ss,fff
です。 詳しくは、「キャプション出力の形式」をご覧ください。
使用法と引数
使用法: captioning --input <input file>
次のような接続オプションがあります。
--key
: Speech リソースのキー。 SPEECH_KEY 環境変数をオーバーライドします。 環境変数を設定する (推奨) か、--key
オプションを使用する必要があります。--region REGION
: Speech リソース リージョン。 SPEECH_REGION 環境変数をオーバーライドします。 環境変数を設定する (推奨) か、--region
オプションを使用する必要があります。 例:westus
、northeurope
重要
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
次のような入力オプションがあります。
--input FILE
: ファイルから音声を入力します。 既定の入力はマイクです。--format FORMAT
: 圧縮音声形式を使用します。--file
でのみ有効です。 有効な値は、alaw
、any
、flac
、mp3
、mulaw
、ogg_opus
です。 既定値はany
です。wav
ファイルを使用するには、形式を指定しないでください。 JavaScript キャプション サンプルには、このオプションを使用できません。 MP4 などの圧縮音声ファイルについては、GStreamer をインストールし、「圧縮されたオーディオ入力を使用する方法」を参照してください。
次のような言語オプションがあります。
--language LANG
: サポートされているロケールのうち、対応するもののいずれかを使用して言語を指定します。 これは、キャプションを複数行に分割するときに使用されます。 既定値はen-US
です。
次のような認識オプションがあります。
--offline
: オフラインの結果を出力します。--realTime
をオーバーライドします。 既定の出力モードはオフラインです。--realTime
: リアルタイムの結果を出力します。
リアルタイム出力には、Recognizing
イベントの結果が含まれます。 既定のオフライン出力は Recognized
イベントの結果のみです。 これらは常にコンソールに書き込まれ、出力ファイルに書き込まれることはありません。 --quiet
オプションを使うと、これがオーバーライドされます。 詳細については、「音声認識の結果を取得する」を参照してください。
次のような正確性オプションがあります。
--phrases PHRASE1;PHRASE2
:Contoso;Jessie;Rehaan
のように、認識するフレーズの一覧を指定することができます。 詳細については、「フレーズ リストを使用して認識精度を向上させる」を参照してください。
次のような出力オプションがあります。
--help
: このヘルプを表示して停止します--output FILE
: 指定したfile
にキャプションを出力します。 このフラグは必須です。--srt
: SRT (SubRip Text) 形式でキャプションを出力します。 既定の形式は WebVTT (Web Video Text Tracks) です。 SRT と WebVTT のキャプション ファイル形式の詳細については、「キャプション出力の形式」を参照してください。--maxLineLength LENGTH
: キャプションの 1 行あたりの最大文字数を LENGTH に設定します。 最小値は 20 です。 既定値は 37 (中国語の場合は 30) です。--lines LINES
: キャプションの行数を LINES に設定します。 最小値は 1 です。 既定値は 2 です。--delay MILLISECONDS
: リアルタイム エクスペリエンスを模倣するために、各キャプションの表示を遅延させるミリ秒数。 このオプションは、realTime
フラグを使用する場合にのみ指定できます。 最小値は 0.0 です。 既定値は 1000 です。--remainTime MILLISECONDS
: キャプションが別のキャプションに置き換えられない場合に、画面に残るミリ秒数。 最小値は 0.0 です。 既定値は 1000 です。--quiet
: エラー以外のコンソール出力を抑制します。--profanity OPTION
: 有効な値: 生、削除、マスク。 詳細については、「不適切表現フィルター」の概念を参照してください。--threshold NUMBER
: 安定した部分的な結果のしきい値を設定します。 既定値は3
です。 このオプションは、realTime
フラグを使用する場合にのみ指定できます。 詳細については、「部分的な結果を取得する」の概念を参照してください。
リソースをクリーンアップする
Azure portal または Azure コマンドライン インターフェイス (CLI) を使用して、作成した音声リソースを削除できます。
リファレンス ドキュメント | パッケージ (Go) | GitHub のその他のサンプル
このクイックスタートでは、音声テキスト変換を使ってキャプションを作成するコンソール アプリを実行します。
ヒント
Speech Studio を試し、サンプル ビデオ クリップを選んで、リアルタイムまたはオフラインで処理されたキャプションの結果を確認します。
ヒント
Azure AI Speech Toolkit を試して、Visual Studio Code でキャプション サンプルを簡単にビルドして実行します。
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure ポータルで、音声リソースを作成します。
- Speech リソース キーとリージョンを取得します。 音声リソースがデプロイされたら、[リソースに移動] を選択して、キーを表示および管理します。
環境をセットアップする
プラットフォーム固有のインストール手順があるかどうかを確認します。
また、圧縮された入力音声のために GStreamer をインストールする必要があります。
音声からキャプションを作成する
キャプションのクイックスタート コード例をビルドして実行するには、次の手順に従います。
GitHub から scenarios/go/captioning/ サンプル ファイルをローカル ディレクトリにダウンロードするかコピーします。
captioning.go
と同じディレクトリでコマンド プロンプトを開きます。次のコマンドを実行して、GitHub でホストされる Speech SDK コンポーネントにリンクされる
go.mod
ファイルを作成します。go mod init captioning go get github.com/Microsoft/cognitive-services-speech-sdk-go
GO モジュールをビルドします。
go build
任意のコマンド ライン引数を指定してアプリケーションを実行します。 使用できるオプションについては、「使用法と引数」を参照してください。 たとえば次のようになります。
go run captioning --key YourSubscriptionKey --region YourServiceRegion --input caption.this.mp4 --format any --output caption.output.txt --srt --recognizing --threshold 5 --profanity mask --phrases "Contoso;Jessie;Rehaan"
YourSubscriptionKey
は音声リソースのキーに置き換えて、YourServiceRegion
は音声リソースのリージョン (westus
やnortheurope
など) に置き換えます。--input
および--output
に指定されたパスが有効であることを確認します。 そうでない場合は、パスを変更する必要があります。重要
終わったらコードからキーを削除し、公開しないよう注意してください。 運用環境では、Azure Key Vault などの資格情報を格納してアクセスする安全な方法を使用します。 詳細については、Azure AI サービスのセキュリティに関する記事を参照してください。
結果をチェックする
完全なキャプションを含む出力ファイルが caption.output.txt
に書き込まれます。 中間結果がコンソールに表示されます。
00:00:00,180 --> 00:00:01,600
Welcome to
00:00:00,180 --> 00:00:01,820
Welcome to applied
00:00:00,180 --> 00:00:02,420
Welcome to applied mathematics
00:00:00,180 --> 00:00:02,930
Welcome to applied mathematics course
00:00:00,180 --> 00:00:03,100
Welcome to applied Mathematics course 2
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.
SRT (SubRip Text) の期間の出力形式は hh:mm:ss,fff
です。 詳しくは、「キャプション出力の形式」をご覧ください。
使用法と引数
使用法: go run captioning.go helper.go --key <key> --region <region> --input <input file>
次のような接続オプションがあります。
--key
: Speech リソースのキー。--region REGION
: Speech リソース リージョン。 例:westus
、northeurope
次のような入力オプションがあります。
--input FILE
: ファイルから音声を入力します。 既定の入力はマイクです。--format FORMAT
: 圧縮音声形式を使用します。--file
でのみ有効です。 有効な値は、alaw
、any
、flac
、mp3
、mulaw
、ogg_opus
です。 既定値はany
です。wav
ファイルを使用するには、形式を指定しないでください。 JavaScript キャプション サンプルには、このオプションを使用できません。 MP4 などの圧縮音声ファイルについては、GStreamer をインストールし、「圧縮されたオーディオ入力を使用する方法」を参照してください。
次のような言語オプションがあります。
--languages LANG1,LANG2
: 指定した言語の言語識別を有効にします。 (例:en-US,ja-JP
)。 このオプションは、C++、C#、Python のキャプション サンプルでのみ使用できます。 詳細については、言語識別に関する記事を参照してください。
次のような認識オプションがあります。
--recognizing
:Recognizing
イベントの結果を出力します。 既定の出力はRecognized
イベントの結果のみです。 これらは常にコンソールに書き込まれ、出力ファイルに書き込まれることはありません。--quiet
オプションを使うと、これがオーバーライドされます。 詳細については、「音声認識の結果を取得する」を参照してください。
次のような正確性オプションがあります。
--phrases PHRASE1;PHRASE2
:Contoso;Jessie;Rehaan
のように、認識するフレーズの一覧を指定することができます。 詳細については、「フレーズ リストを使用して認識精度を向上させる」を参照してください。
次のような出力オプションがあります。
--help
: このヘルプを表示して停止します--output FILE
: 指定したfile
にキャプションを出力します。 このフラグは必須です。--srt
: SRT (SubRip Text) 形式でキャプションを出力します。 既定の形式は WebVTT (Web Video Text Tracks) です。 SRT と WebVTT のキャプション ファイル形式の詳細については、「キャプション出力の形式」を参照してください。--quiet
: エラー以外のコンソール出力を抑制します。--profanity OPTION
: 有効な値: 生、削除、マスク。 詳細については、「不適切表現フィルター」の概念を参照してください。--threshold NUMBER
: 安定した部分的な結果のしきい値を設定します。 既定値は3
です。 詳細については、「部分的な結果を取得する」の概念を参照してください。
リソースをクリーンアップする
Azure portal または Azure コマンドライン インターフェイス (CLI) を使用して、作成した音声リソースを削除できます。
リファレンス ドキュメント | GitHub のその他のサンプル
このクイックスタートでは、音声テキスト変換を使ってキャプションを作成するコンソール アプリを実行します。
ヒント
Speech Studio を試し、サンプル ビデオ クリップを選んで、リアルタイムまたはオフラインで処理されたキャプションの結果を確認します。
ヒント
Azure AI Speech Toolkit を試して、Visual Studio Code でキャプション サンプルを簡単にビルドして実行します。
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure ポータルで、音声リソースを作成します。
- Speech リソース キーとリージョンを取得します。 音声リソースがデプロイされたら、[リソースに移動] を選択して、キーを表示および管理します。
環境をセットアップする
何らかの操作を行うには、事前に Speech SDK をインストールしておく必要があります。 このクイックスタートのサンプルは、Microsoft Build of OpenJDK 17 で動作します
- Apache Maven をインストールします。 次に
mvn -v
を実行して、インストールが成功したことを確認します。 - プロジェクトのルートに新しい
pom.xml
ファイルを作成し、その中に以下をコピーします。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.40.0</version> </dependency> </dependencies> </project>
- Speech SDK と依存関係をインストールします。
mvn clean dependency:copy-dependencies
- また、圧縮された入力音声のために GStreamer をインストールする必要があります。
環境変数の設定
Azure AI サービスにアクセスするには、アプリケーションを認証する必要があります。 この記事では、環境変数を使って資格情報を格納する方法について説明します。 その後、コードから環境変数にアクセスして、アプリケーションを認証できます。 運用環境では、資格情報を保存してそれにアクセスする際に、安全性が高い方法を使用します。
重要
Microsoft Entra 認証と Azure リソースのマネージド ID を併用して、クラウドで実行されるアプリケーションに資格情報を格納しないようにすることをお勧めします。
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
Azure Cognitive Service for Speech リソース キーとリージョンの環境変数を設定するには、コンソール ウィンドウを開き、使用しているオペレーティング システムと開発環境についての指示に従います。
SPEECH_KEY
環境変数を設定するには、your-key をリソースのキーの 1 つに置き換えます。SPEECH_REGION
環境変数を設定するには、your-region をリソースのリージョンの 1 つに置き換えます。
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Note
現在のコンソールで環境変数のみにアクセスする必要がある場合は、環境変数を setx
の代わりに set
に設定できます。
環境変数を追加した後、コンソール ウィンドウを含め、環境変数を読み取る必要があるプログラムの再起動が必要になる場合があります。 たとえば、Visual Studio をエディターとして使用している場合、サンプルを実行する前に Visual Studio を再起動します。
音声からキャプションを作成する
キャプションのクイックスタート コード例をビルドして実行するには、次の手順に従います。
- GitHub から scenarios/java/jre/captioning/ サンプル ファイルをプロジェクト ディレクトリにコピーします。 環境のセットアップで作成した
pom.xml
ファイルもこのディレクトリに存在する必要があります。 - コマンド プロンプトを開き、このコマンドを実行して、プロジェクト ファイルをコンパイルします。
javac Captioning.java -cp ".;target\dependency\*" -encoding UTF-8
- 任意のコマンド ライン引数を指定してアプリケーションを実行します。 使用できるオプションについては、「使用法と引数」を参照してください。 次の例を示します:
java -cp ".;target\dependency\*" Captioning --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
重要
--input
および--output
に指定されたパスが有効であることを確認します。 そうでない場合は、パスを変更する必要があります。上記の説明に従って、
SPEECH_KEY
環境変数とSPEECH_REGION
環境変数を設定してください。 そうでない場合は、--key
引数と--region
引数を使用します。
結果をチェックする
上記の例の realTime
オプションを使用すると、Recognizing
イベントの部分的な結果が出力に含められます。 この例では、最後の Recognized
イベントにのみコンマが含まれています。 コンマだけが Recognizing
イベントと Recognized
イベントの違いではありません。 詳細については、「部分的な結果を取得する」を参照してください。
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
--offline
オプションを使用すると、最終的な Recognized
イベントから結果が安定します。 部分的な結果は出力に含まれません。
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
SRT (SubRip Text) の期間の出力形式は hh:mm:ss,fff
です。 詳しくは、「キャプション出力の形式」をご覧ください。
使用法と引数
使用法: java -cp ".;target\dependency\*" Captioning --input <input file>
次のような接続オプションがあります。
--key
: Speech リソースのキー。 SPEECH_KEY 環境変数をオーバーライドします。 環境変数を設定する (推奨) か、--key
オプションを使用する必要があります。--region REGION
: Speech リソース リージョン。 SPEECH_REGION 環境変数をオーバーライドします。 環境変数を設定する (推奨) か、--region
オプションを使用する必要があります。 例:westus
、northeurope
重要
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
次のような入力オプションがあります。
--input FILE
: ファイルから音声を入力します。 既定の入力はマイクです。--format FORMAT
: 圧縮音声形式を使用します。--file
でのみ有効です。 有効な値は、alaw
、any
、flac
、mp3
、mulaw
、ogg_opus
です。 既定値はany
です。wav
ファイルを使用するには、形式を指定しないでください。 JavaScript キャプション サンプルには、このオプションを使用できません。 MP4 などの圧縮音声ファイルについては、GStreamer をインストールし、「圧縮されたオーディオ入力を使用する方法」を参照してください。
次のような言語オプションがあります。
--language LANG
: サポートされているロケールのうち、対応するもののいずれかを使用して言語を指定します。 これは、キャプションを複数行に分割するときに使用されます。 既定値はen-US
です。
次のような認識オプションがあります。
--offline
: オフラインの結果を出力します。--realTime
をオーバーライドします。 既定の出力モードはオフラインです。--realTime
: リアルタイムの結果を出力します。
リアルタイム出力には、Recognizing
イベントの結果が含まれます。 既定のオフライン出力は Recognized
イベントの結果のみです。 これらは常にコンソールに書き込まれ、出力ファイルに書き込まれることはありません。 --quiet
オプションを使うと、これがオーバーライドされます。 詳細については、「音声認識の結果を取得する」を参照してください。
次のような正確性オプションがあります。
--phrases PHRASE1;PHRASE2
:Contoso;Jessie;Rehaan
のように、認識するフレーズの一覧を指定することができます。 詳細については、「フレーズ リストを使用して認識精度を向上させる」を参照してください。
次のような出力オプションがあります。
--help
: このヘルプを表示して停止します--output FILE
: 指定したfile
にキャプションを出力します。 このフラグは必須です。--srt
: SRT (SubRip Text) 形式でキャプションを出力します。 既定の形式は WebVTT (Web Video Text Tracks) です。 SRT と WebVTT のキャプション ファイル形式の詳細については、「キャプション出力の形式」を参照してください。--maxLineLength LENGTH
: キャプションの 1 行あたりの最大文字数を LENGTH に設定します。 最小値は 20 です。 既定値は 37 (中国語の場合は 30) です。--lines LINES
: キャプションの行数を LINES に設定します。 最小値は 1 です。 既定値は 2 です。--delay MILLISECONDS
: リアルタイム エクスペリエンスを模倣するために、各キャプションの表示を遅延させるミリ秒数。 このオプションは、realTime
フラグを使用する場合にのみ指定できます。 最小値は 0.0 です。 既定値は 1000 です。--remainTime MILLISECONDS
: キャプションが別のキャプションに置き換えられない場合に、画面に残るミリ秒数。 最小値は 0.0 です。 既定値は 1000 です。--quiet
: エラー以外のコンソール出力を抑制します。--profanity OPTION
: 有効な値: 生、削除、マスク。 詳細については、「不適切表現フィルター」の概念を参照してください。--threshold NUMBER
: 安定した部分的な結果のしきい値を設定します。 既定値は3
です。 このオプションは、realTime
フラグを使用する場合にのみ指定できます。 詳細については、「部分的な結果を取得する」の概念を参照してください。
リソースをクリーンアップする
Azure portal または Azure コマンドライン インターフェイス (CLI) を使用して、作成した音声リソースを削除できます。
リファレンスドキュメント | パッケージ (npm) | GitHub のその他のサンプル | ライブラリのソース コード
このクイックスタートでは、音声テキスト変換を使ってキャプションを作成するコンソール アプリを実行します。
ヒント
Speech Studio を試し、サンプル ビデオ クリップを選んで、リアルタイムまたはオフラインで処理されたキャプションの結果を確認します。
ヒント
Azure AI Speech Toolkit を試して、Visual Studio Code でキャプション サンプルを簡単にビルドして実行します。
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure ポータルで、音声リソースを作成します。
- Speech リソース キーとリージョンを取得します。 音声リソースがデプロイされたら、[リソースに移動] を選択して、キーを表示および管理します。
環境をセットアップする
何らかの操作を行うには、事前に Speech SDK for JavaScript をインストールしておく必要があります。 パッケージ名のインストールだけが必要な場合は、npm install microsoft-cognitiveservices-speech-sdk
を実行します。 詳しいインストール手順については、SDK のインストール ガイドを参照してください。
音声からキャプションを作成する
キャプションのクイックスタート コード例をビルドして実行するには、次の手順に従います。
GitHub から scenarios/javascript/node/captioning/ サンプル ファイルをプロジェクト ディレクトリにコピーします。
Captioning.js
と同じディレクトリでコマンド プロンプトを開きます。Speech SDK for JavaScript をインストールします。
npm install microsoft-cognitiveservices-speech-sdk
任意のコマンド ライン引数を指定してアプリケーションを実行します。 使用できるオプションについては、「使用法と引数」を参照してください。 たとえば次のようになります。
node captioning.js --key YourSubscriptionKey --region YourServiceRegion --input caption.this.wav --output caption.output.txt --srt --recognizing --threshold 5 --profanity mask --phrases "Contoso;Jessie;Rehaan"
YourSubscriptionKey
は音声リソースのキーに置き換えて、YourServiceRegion
は音声リソースのリージョン (westus
やnortheurope
など) に置き換えます。--input
および--output
に指定されたパスが有効であることを確認します。 そうでない場合は、パスを変更する必要があります。Note
Speech SDK for JavaScript は圧縮入力音声をサポートしていません。 この例に示すように WAV ファイルを使う必要があります。
重要
終わったらコードからキーを削除し、公開しないよう注意してください。 運用環境では、Azure Key Vault などの資格情報を格納してアクセスする安全な方法を使用します。 詳細については、Azure AI サービスのセキュリティに関する記事を参照してください。
結果をチェックする
完全なキャプションを含む出力ファイルが caption.output.txt
に書き込まれます。 中間結果がコンソールに表示されます。
00:00:00,180 --> 00:00:01,600
Welcome to
00:00:00,180 --> 00:00:01,820
Welcome to applied
00:00:00,180 --> 00:00:02,420
Welcome to applied mathematics
00:00:00,180 --> 00:00:02,930
Welcome to applied mathematics course
00:00:00,180 --> 00:00:03,100
Welcome to applied Mathematics course 2
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.
SRT (SubRip Text) の期間の出力形式は hh:mm:ss,fff
です。 詳しくは、「キャプション出力の形式」をご覧ください。
使用法と引数
使用法: node captioning.js --key <key> --region <region> --input <input file>
次のような接続オプションがあります。
--key
: Speech リソースのキー。--region REGION
: Speech リソース リージョン。 例:westus
、northeurope
次のような入力オプションがあります。
--input FILE
: ファイルから音声を入力します。 既定の入力はマイクです。--format FORMAT
: 圧縮音声形式を使用します。--file
でのみ有効です。 有効な値は、alaw
、any
、flac
、mp3
、mulaw
、ogg_opus
です。 既定値はany
です。wav
ファイルを使用するには、形式を指定しないでください。 JavaScript キャプション サンプルには、このオプションを使用できません。 MP4 などの圧縮音声ファイルについては、GStreamer をインストールし、「圧縮されたオーディオ入力を使用する方法」を参照してください。
次のような言語オプションがあります。
--languages LANG1,LANG2
: 指定した言語の言語識別を有効にします。 (例:en-US,ja-JP
)。 このオプションは、C++、C#、Python のキャプション サンプルでのみ使用できます。 詳細については、言語識別に関する記事を参照してください。
次のような認識オプションがあります。
--recognizing
:Recognizing
イベントの結果を出力します。 既定の出力はRecognized
イベントの結果のみです。 これらは常にコンソールに書き込まれ、出力ファイルに書き込まれることはありません。--quiet
オプションを使うと、これがオーバーライドされます。 詳細については、「音声認識の結果を取得する」を参照してください。
次のような正確性オプションがあります。
--phrases PHRASE1;PHRASE2
:Contoso;Jessie;Rehaan
のように、認識するフレーズの一覧を指定することができます。 詳細については、「フレーズ リストを使用して認識精度を向上させる」を参照してください。
次のような出力オプションがあります。
--help
: このヘルプを表示して停止します--output FILE
: 指定したfile
にキャプションを出力します。 このフラグは必須です。--srt
: SRT (SubRip Text) 形式でキャプションを出力します。 既定の形式は WebVTT (Web Video Text Tracks) です。 SRT と WebVTT のキャプション ファイル形式の詳細については、「キャプション出力の形式」を参照してください。--quiet
: エラー以外のコンソール出力を抑制します。--profanity OPTION
: 有効な値: 生、削除、マスク。 詳細については、「不適切表現フィルター」の概念を参照してください。--threshold NUMBER
: 安定した部分的な結果のしきい値を設定します。 既定値は3
です。 詳細については、「部分的な結果を取得する」の概念を参照してください。
リソースをクリーンアップする
Azure portal または Azure コマンドライン インターフェイス (CLI) を使用して、作成した音声リソースを削除できます。
リファレンス ドキュメント | パッケージ (ダウンロード) | GitHub のその他のサンプル
Speech SDK for Objective-C は、キャプションのための音声認識結果の取得をサポートしていますが、ここではまだガイドを掲載していません。 作業を開始するには別のプログラミング言語を選択して概念について学ぶか、この記事の冒頭でリンクされている Objective-C のリファレンスとサンプルを参照してください。
リファレンス ドキュメント | パッケージ (ダウンロード) | GitHub のその他のサンプル
Speech SDK for Swift は、キャプションのための音声認識結果の取得をサポートしていますが、ここではまだガイドを掲載していません。 作業を開始するには、別のプログラミング言語を選択して概念について学ぶか、この記事の冒頭でリンクされている、Swift のリファレンスとサンプルを参照してください。
リファレンス ドキュメント | パッケージ (PyPi) | GitHub のその他のサンプル
このクイックスタートでは、音声テキスト変換を使ってキャプションを作成するコンソール アプリを実行します。
ヒント
Speech Studio を試し、サンプル ビデオ クリップを選んで、リアルタイムまたはオフラインで処理されたキャプションの結果を確認します。
ヒント
Azure AI Speech Toolkit を試して、Visual Studio Code でキャプション サンプルを簡単にビルドして実行します。
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure ポータルで、音声リソースを作成します。
- Speech リソース キーとリージョンを取得します。 音声リソースがデプロイされたら、[リソースに移動] を選択して、キーを表示および管理します。
環境をセットアップする
Speech SDK Python は、Python パッケージ インデックス (PyPI) モジュールとして入手できます。 Speech SDK for Python は、Windows、Linux、macOS との互換性があります。
- お使いのプラットフォームに対応した Microsoft Visual Studio の Visual C++ 再頒布可能パッケージ 2015、2017、2019、そして2022をインストールする必要があります。 このパッケージを初めてインストールする場合、再起動が必要になる可能性があります。
- Linux では、x64 ターゲット アーキテクチャを使う必要があります。
- Python の 3.10 以降 のバージョンをインストールします。 最初に、これ以上要件がないか、SDK のインストール ガイドを確認してください。
- また、圧縮された入力音声のために GStreamer をインストールする必要があります。
環境変数の設定
Azure AI サービスにアクセスするには、アプリケーションを認証する必要があります。 この記事では、環境変数を使って資格情報を格納する方法について説明します。 その後、コードから環境変数にアクセスして、アプリケーションを認証できます。 運用環境では、資格情報を保存してそれにアクセスする際に、安全性が高い方法を使用します。
重要
Microsoft Entra 認証と Azure リソースのマネージド ID を併用して、クラウドで実行されるアプリケーションに資格情報を格納しないようにすることをお勧めします。
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
Azure Cognitive Service for Speech リソース キーとリージョンの環境変数を設定するには、コンソール ウィンドウを開き、使用しているオペレーティング システムと開発環境についての指示に従います。
SPEECH_KEY
環境変数を設定するには、your-key をリソースのキーの 1 つに置き換えます。SPEECH_REGION
環境変数を設定するには、your-region をリソースのリージョンの 1 つに置き換えます。
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Note
現在のコンソールで環境変数のみにアクセスする必要がある場合は、環境変数を setx
の代わりに set
に設定できます。
環境変数を追加した後、コンソール ウィンドウを含め、環境変数を読み取る必要があるプログラムの再起動が必要になる場合があります。 たとえば、Visual Studio をエディターとして使用している場合、サンプルを実行する前に Visual Studio を再起動します。
音声からキャプションを作成する
キャプションのクイックスタート コード例をビルドして実行するには、次の手順に従います。
- GitHub から scenarios/python/console/captioning/ サンプル ファイルをローカル ディレクトリにダウンロードするかコピーします。
captioning.py
と同じディレクトリでコマンド プロンプトを開きます。- 次のコマンドを実行して、Speech SDK をインストールします。
pip install azure-cognitiveservices-speech
- 任意のコマンド ライン引数を指定してアプリケーションを実行します。 使用できるオプションについては、「使用法と引数」を参照してください。 次の例を示します:
python captioning.py --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
重要
--input
および--output
に指定されたパスが有効であることを確認します。 そうでない場合は、パスを変更する必要があります。上記の説明に従って、
SPEECH_KEY
環境変数とSPEECH_REGION
環境変数を設定してください。 そうでない場合は、--key
引数と--region
引数を使用します。
結果をチェックする
上記の例の realTime
オプションを使用すると、Recognizing
イベントの部分的な結果が出力に含められます。 この例では、最後の Recognized
イベントにのみコンマが含まれています。 コンマだけが Recognizing
イベントと Recognized
イベントの違いではありません。 詳細については、「部分的な結果を取得する」を参照してください。
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
--offline
オプションを使用すると、最終的な Recognized
イベントから結果が安定します。 部分的な結果は出力に含まれません。
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
SRT (SubRip Text) の期間の出力形式は hh:mm:ss,fff
です。 詳しくは、「キャプション出力の形式」をご覧ください。
使用法と引数
使用法: python captioning.py --input <input file>
次のような接続オプションがあります。
--key
: Speech リソースのキー。 SPEECH_KEY 環境変数をオーバーライドします。 環境変数を設定する (推奨) か、--key
オプションを使用する必要があります。--region REGION
: Speech リソース リージョン。 SPEECH_REGION 環境変数をオーバーライドします。 環境変数を設定する (推奨) か、--region
オプションを使用する必要があります。 例:westus
、northeurope
重要
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
次のような入力オプションがあります。
--input FILE
: ファイルから音声を入力します。 既定の入力はマイクです。--format FORMAT
: 圧縮音声形式を使用します。--file
でのみ有効です。 有効な値は、alaw
、any
、flac
、mp3
、mulaw
、ogg_opus
です。 既定値はany
です。wav
ファイルを使用するには、形式を指定しないでください。 JavaScript キャプション サンプルには、このオプションを使用できません。 MP4 などの圧縮音声ファイルについては、GStreamer をインストールし、「圧縮されたオーディオ入力を使用する方法」を参照してください。
次のような言語オプションがあります。
--language LANG
: サポートされているロケールのうち、対応するもののいずれかを使用して言語を指定します。 これは、キャプションを複数行に分割するときに使用されます。 既定値はen-US
です。
次のような認識オプションがあります。
--offline
: オフラインの結果を出力します。--realTime
をオーバーライドします。 既定の出力モードはオフラインです。--realTime
: リアルタイムの結果を出力します。
リアルタイム出力には、Recognizing
イベントの結果が含まれます。 既定のオフライン出力は Recognized
イベントの結果のみです。 これらは常にコンソールに書き込まれ、出力ファイルに書き込まれることはありません。 --quiet
オプションを使うと、これがオーバーライドされます。 詳細については、「音声認識の結果を取得する」を参照してください。
次のような正確性オプションがあります。
--phrases PHRASE1;PHRASE2
:Contoso;Jessie;Rehaan
のように、認識するフレーズの一覧を指定することができます。 詳細については、「フレーズ リストを使用して認識精度を向上させる」を参照してください。
次のような出力オプションがあります。
--help
: このヘルプを表示して停止します--output FILE
: 指定したfile
にキャプションを出力します。 このフラグは必須です。--srt
: SRT (SubRip Text) 形式でキャプションを出力します。 既定の形式は WebVTT (Web Video Text Tracks) です。 SRT と WebVTT のキャプション ファイル形式の詳細については、「キャプション出力の形式」を参照してください。--maxLineLength LENGTH
: キャプションの 1 行あたりの最大文字数を LENGTH に設定します。 最小値は 20 です。 既定値は 37 (中国語の場合は 30) です。--lines LINES
: キャプションの行数を LINES に設定します。 最小値は 1 です。 既定値は 2 です。--delay MILLISECONDS
: リアルタイム エクスペリエンスを模倣するために、各キャプションの表示を遅延させるミリ秒数。 このオプションは、realTime
フラグを使用する場合にのみ指定できます。 最小値は 0.0 です。 既定値は 1000 です。--remainTime MILLISECONDS
: キャプションが別のキャプションに置き換えられない場合に、画面に残るミリ秒数。 最小値は 0.0 です。 既定値は 1000 です。--quiet
: エラー以外のコンソール出力を抑制します。--profanity OPTION
: 有効な値: 生、削除、マスク。 詳細については、「不適切表現フィルター」の概念を参照してください。--threshold NUMBER
: 安定した部分的な結果のしきい値を設定します。 既定値は3
です。 このオプションは、realTime
フラグを使用する場合にのみ指定できます。 詳細については、「部分的な結果を取得する」の概念を参照してください。
リソースをクリーンアップする
Azure portal または Azure コマンドライン インターフェイス (CLI) を使用して、作成した音声リソースを削除できます。
このクイックスタートでは、音声テキスト変換を使ってキャプションを作成するコンソール アプリを実行します。
ヒント
Speech Studio を試し、サンプル ビデオ クリップを選んで、リアルタイムまたはオフラインで処理されたキャプションの結果を確認します。
ヒント
Azure AI Speech Toolkit を試して、Visual Studio Code でキャプション サンプルを簡単にビルドして実行します。
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure ポータルで、音声リソースを作成します。
- Speech リソース キーとリージョンを取得します。 音声リソースがデプロイされたら、[リソースに移動] を選択して、キーを表示および管理します。
環境をセットアップする
次の手順を実行し、対象プラットフォームに対する他の要件を Azure Cognitive Service for Speech CLI クイックスタートで確認します。
次の .NET CLI コマンドを実行して、Speech CLI をインストールします。
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
次のコマンドを実行して、Azure Cognitive Service for Speech リソースのキーとリージョンを構成します。
SUBSCRIPTION-KEY
は Speech リソースのキーに、REGION
は Speech リソースのリージョンに置き換えます。spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
また、圧縮された入力音声のために GStreamer をインストールする必要があります。
音声からキャプションを作成する
Speech CLI を使うと、音声を含むあらゆる種類のメディアから SRT (SubRip Text) と WebVTT (Web Video Text Tracks) の両方のキャプションを出力することができます。
ファイルから音声を認識し、WebVtt (vtt
) と SRT (srt
) の両方のキャプションを出力するには、次の手順を実行します。
パスに
caption.this.mp4
という入力ファイルがあることを確認します。次のコマンドを実行し、ビデオ ファイルからキャプションを出力します。
spx recognize --file caption.this.mp4 --format any --output vtt file - --output srt file - --output each file - @output.each.detailed --property SpeechServiceResponse_StablePartialResultThreshold=5 --profanity masked --phrases "Constoso;Jessie;Rehaan"
SRT と WebVTT のキャプションは次のようにコンソールに出力されます。
1 00:00:00,180 --> 00:00:03,230 Welcome to applied Mathematics course 201. WEBVTT 00:00:00.180 --> 00:00:03.230 Welcome to applied Mathematics course 201. { "ResultId": "561a0ea00cc14bb09bd294357df3270f", "Duration": "00:00:03.0500000" }
使用法と引数
前のコマンドの省略可能な引数の詳細は次のとおりです。
--file caption.this.mp4 --format any
: ファイルから音声を入力します。 既定の入力はマイクです。 MP4 などの圧縮音声ファイルについては、GStreamer をインストールし、「圧縮されたオーディオ入力を使用する方法」を参照してください。--output vtt file -
と--output srt file -
: WebVTT と SRT のキャプションを標準出力に出力します。 SRT と WebVTT のキャプション ファイル形式の詳細については、「キャプション出力の形式」を参照してください。--output
引数の詳細については、Speech CLI 出力オプションに関する記事を参照してください。@output.each.detailed
: テキスト、オフセット、期間を含むイベント結果を出力します。 詳細については、「音声認識の結果を取得する」を参照してください。--property SpeechServiceResponse_StablePartialResultThreshold=5
: 返すRecognizing
イベントの数を減らして正確さを上げるよう、音声サービスに要求できます。 この例では、Speech サービスは、部分的な結果をユーザーに返す前に、少なくとも 5 回は単語の認識を確認する必要があります。 詳細については、「部分的な結果を取得する」の概念を参照してください。--profanity masked
: 認識結果で不適切な表現をマスク、削除、または表示するかどうかを指定できます。 詳細については、「不適切表現フィルター」の概念を参照してください。--phrases "Constoso;Jessie;Rehaan"
: Contoso、Jessie、Rehaan など、認識するフレーズの一覧を指定できます。 詳細については、「フレーズ リストを使用して認識精度を向上させる」を参照してください。
リソースをクリーンアップする
Azure portal または Azure コマンドライン インターフェイス (CLI) を使用して、作成した音声リソースを削除できます。