翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
マルチチャネルの音声文字起こし
複数のチャネルを持つオーディオファイルまたはストリームがある場合は、チャネル識別を使用して、それらの各チャネルの音声を文字起こしできます。 Amazon Transcribe Medical は、各チャネルの音声を個別に文字起こしします。各チャネルの個別のトランプスクリプトを単一の文字起こし出力に結合します。
チャネル識別を使用して、音声内の個別のチャネルを特定し、各チャネルの音声の文字起こしを行います。発信者およびエージェントのシナリオなどの状況でこれを有効にします。これを使用して、薬物安全モニタリングを実行するコンタクトセンターからの録音またはストリーミング内のエージェントと発信者を区別します。
バッチ処理とリアルタイムストリームの両方でチャネル識別を有効にできます。次のリストは、メソッドごとに有効にする方法を説明しています。
-
バッチ文字起こし – AWS Management Console および
StartMedicalTranscriptionJob
API -
ストリーミング文字起こし - WebSocket ストリーミングと
StartMedicalStreamTranscription
API
マルチチャネルの音声ファイルの文字起こし
オーディオファイルを文字起こしすると、 Amazon Transcribe Medical は各チャネルの項目のリストを返します。アイテムは、文字起こしされた単語または句読点です。各単語には、開始時刻と終了時刻があります。あるチャネルの人が別のチャネルで話しかけると、各チャネルのアイテムの開始時間と終了時刻が重なり、個人が互いに話しかけ合っています。
デフォルトでは、2 つのチャネルで音声ファイルを文字起こしできます。2 つ以上のチャネルを持つファイルを文字起こしする必要がある場合は、クォータの引き上げをリクエストできます。クォータ増加の要求の詳細については、「AWS のサービス クォータ」を参照してください。
バッチ文字起こしジョブでマルチチャネルオーディオを文字起こしするには、 AWS Management Console または StartMedicalTranscriptionJob
API を使用します。
を使用してバッチ文字起こ AWS Management Console しジョブでチャネル識別を有効にするには、音声識別を有効にしてからチャネル識別を有効にします。チャネル識別は、 のオーディオ識別のサブセットです AWS Management Console。
-
AWS Management Console
にサインインします。 -
ナビゲーションペインの Amazon Transcribe Medical で、文字起こしジョブを選択します。
-
[ジョブの作成]を選択します。
-
[ジョブの詳細を指定する] ページで、文字起こしジョブに関する情報を入力します。
-
[Next (次へ)] を選択します。
-
[音声識別] を有効にします。
-
音声識別タイプ では、[チャネルの識別] を選択します。
-
[Create] (作成) を選択します。
マルチチャネルの音声ファイルの文字起こし (API)
-
StartMedicalTranscriptionJob
API では、以下のものを指定します。-
TranscriptionJobName
の場合、 AWS アカウントで一意の名前を指定します。 -
LanguageCode
の場合、音声ファイル内で話されている言語に対応する言語コードを指定します。有効値はen-US
です。 -
MediaFileUri
オブジェクトのMedia
パラメータの場合、文字起こしを行うメディアファイルの名前を指定します。 -
Settings
オブジェクトの場合、ChannelIdentification
をtrue
にセットします。
-
以下は、 AWS SDK for Python (Boto3)を使ったリクエストの例です。
from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', '
us-west-2
') job_name = "my-first-transcription-job
" job_name = "my-first-med-transcription-job
" job_uri = "s3://amzn-s3-demo-bucket
/my-input-files
/my-media-file
.flac
" transcribe.start_medical_transcription_job( MedicalTranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'amzn-s3-demo-bucket
', OutputKey = 'output-files
/', LanguageCode = 'en-US', Specialty = 'PRIMARYCARE', Type = 'CONVERSATION', Settings = { 'ChannelIdentification': True } ) while True: status = transcribe.get_transcription_job(MedicalTranscriptionJobName = job_name) if status['MedicalTranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)
バッチ文字起こしジョブを使用して、マルチチャネル音声ファイルの文字起こしをする (AWS CLI)
-
以下のコードを実行します。
aws transcribe start-medical-transcription-job \ --region
us-west-2
\ --cli-input-json file://example-start-command
.json以下は
example-start-command.json
のコードです。{ "MedicalTranscriptionJobName": "
my-first-med-transcription-job
", "Media": { "MediaFileUri": "s3://amzn-s3-demo-bucket
/my-input-files
/my-audio-file
.flac
" }, "OutputBucketName": "amzn-s3-demo-bucket
", "OutputKey": "my-output-files
/", "LanguageCode": "en-US", "Specialty": "PRIMARYCARE", "Type": "CONVERSATION", "Settings":{ "ChannelIdentification": true } }
次のコードは、2 つのチャネルで会話がある音声ファイルの文字起こし出力を示しています。
{
"jobName": "job id
",
"accountId": "111122223333",
"results": {
"transcripts": [
{
"transcript": "When you try ... It seems to ..."
}
],
"channel_labels": {
"channels": [
{
"channel_label": "ch_0",
"items": [
{
"start_time": "12.282",
"end_time": "12.592",
"alternatives": [
{
"confidence": "1.0000",
"content": "When"
}
],
"type": "pronunciation"
},
{
"start_time": "12.592",
"end_time": "12.692",
"alternatives": [
{
"confidence": "0.8787",
"content": "you"
}
],
"type": "pronunciation"
},
{
"start_time": "12.702",
"end_time": "13.252",
"alternatives": [
{
"confidence": "0.8318",
"content": "try"
}
],
"type": "pronunciation"
},
...
]
},
{
"channel_label": "ch_1",
"items": [
{
"start_time": "12.379",
"end_time": "12.589",
"alternatives": [
{
"confidence": "0.5645",
"content": "It"
}
],
"type": "pronunciation"
},
{
"start_time": "12.599",
"end_time": "12.659",
"alternatives": [
{
"confidence": "0.2907",
"content": "seems"
}
],
"type": "pronunciation"
},
{
"start_time": "12.669",
"end_time": "13.029",
"alternatives": [
{
"confidence": "0.2497",
"content": "to"
}
],
"type": "pronunciation"
},
...
]
}
}
マルチチャネルの音声ストリームの文字起こし
HTTP/2 ストリーミングまたは WebSocket ストリーミングで、別々のチャネルから音声を文字起こしするには、StartMedicalStreamTranscription
APIを使用します。
デフォルトでは、2 つのチャネルでストリーミングを文字起こしできます。2 つ以上のチャネルを持つストリーミングを文字起こしする必要がある場合、クォータの引き上げをリクエストできます。クォータ増加の要求の詳細については、「AWS の Service Quotas」を参照してください。
HTTP/2 ストリームでのマルチチャネル音声の文字起こし
HTTP/2 ストリームでのマルチチャネル音声を文字起こしする場合、StartMedicalStreamTranscription API を使用し、以下を指定します。
-
LanguageCode
- 音声の言語コードです。有効値はen-US
です。 -
MediaEncoding
- 音声のエンコーディングです。有効値は、ogg-opus
、flac
、pcm
です。 -
EnableChannelIdentification
–true
-
NumberOfChannels
- ストリーミング音声のチャネル数です。
医療関係の会話を文字起こしするための HTTP/2 ストリーミングの設定の詳細については、HTTP/2 ストリームの設定 を参照してください。
WebSocket ストリーム内のマルチチャネル音声の文字起こし
WebSocket ストリーム内でスピーカーをパーティション化する場合、次の形式を使用して署名付き URL を作成し、WebSocket リクエストを開始します。enable-channel-identification
を true
に、ストリームのチャネル数を number-of-channels
に指定します。署名付き URI には、アプリケーションと Amazon Transcribe Medical 間の双方向通信を設定するために必要な情報が含まれています。
GET wss://transcribestreaming.
us-west-2
.amazonaws.com:8443/medical-stream-transcription-websocket ?language-code=languageCode
&X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIAIOSFODNN7EXAMPLE
%2F20220208
%2Fus-west-2
%2Ftranscribe
%2Faws4_request &X-Amz-Date=20220208T235959Z
&X-Amz-Expires=300
&X-Amz-Security-Token=security-token
&X-Amz-Signature=Signature Version 4 signature
&X-Amz-SignedHeaders=host &media-encoding=flac
&sample-rate=16000
&session-id=sessionId
&enable-channel-identification=true &number-of-channels=2
パラメータ定義は API リファレンスにあります。すべての AWS API オペレーションに共通のパラメータは、「共通パラメータ」セクションに記載されています。
WebSocket リクエストの詳細については、「WebSocket ストリームの設定」を参照してください。
マルチチャネルストリーミング出力
ストリーミング文字起こし出力は、HTTP/2 リクエストと WebSocket リクエストと同じです。以下に出力例を示します。
{ "resultId": "XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX", "startTime": 0.11, "endTime": 0.66, "isPartial": false, "alternatives": [ { "transcript": "Left.", "items": [ { "startTime": 0.11, "endTime": 0.45, "type": "pronunciation", "content": "Left", "vocabularyFilterMatch": false }, { "startTime": 0.45, "endTime": 0.45, "type": "punctuation", "content": ".", "vocabularyFilterMatch": false } ] } ], "channelId": "ch_0" }
各音声セグメントには、音声が属するチャネルを示す channelId
フラグがあります。