分隔發言者 (日記) - Amazon Transcribe

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

分隔發言者 (日記)

使用揚聲器日記,您可以區分轉錄輸出中的不同揚聲器。 Amazon Transcribe 可以區分最多 30 個獨特的揚聲器,並以獨特的價值(spk_0通過spk_9)標記每個獨特揚聲器的文本。

除了標準文字記錄區段 (transcriptsitems) 之外,啟用發言者分隔的頃求還包括一個 speaker_labels 區段。本節按發言者分組,包含每個表達方式的資訊,包括發言者標籤和時間戳記。

"speaker_labels": { "channel_label": "ch_0", "speakers": 2, "segments": [ { "start_time": "4.87", "speaker_label": "spk_0", "end_time": "6.88", "items": [ { "start_time": "4.87", "speaker_label": "spk_0", "end_time": "5.02" }, ... { "start_time": "8.49", "speaker_label": "spk_1", "end_time": "9.24", "items": [ { "start_time": "8.49", "speaker_label": "spk_1", "end_time": "8.88" },

要檢視具有發言者分隔功能的完整範例文字記錄 (適用於兩位發言者),請參閱 例如日記輸出(批次)

在批次轉錄中對發言者進行分隔

若要在批次轉錄中分隔發言者,請參閱下列範例:

  1. 登入 AWS Management Console

  2. 在導覽窗格中,選擇轉錄作業,然後選擇建立作業(右上角)。這會開啟指定作業詳細資訊‭頁面。

    Amazon Transcribe 控制台「指定作業詳細信息」頁面。在「任務設定」面板中,您可以指定轉錄作業的名稱、選擇模型類型,並指定語言設定。
  3. 填寫您要包含在指定作業詳細資訊頁面上的任何欄位,然後選擇下一步。這會引導您前往設定工作 - 選擇性頁面。

    音訊設定 面板中,選擇 發言者分隔 (在「音訊識別類型」標題下)。您可以選擇性指定要分隔的發言者數量,最多 10 個。

    Amazon Transcribe 控制台「配置工作」頁面。在「音訊設定」面板中,您可以啟用「發言者分隔」。
  4. 選擇建立作業以執行轉錄作業。

此範例使用 start-transcription-job。如需詳細資訊,請參閱 StartTranscriptionJob

aws transcribe start-transcription-job \ --region us-west-2 \ --transcription-job-name my-first-transcription-job \ --media MediaFileUri=s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac \ --output-bucket-name DOC-EXAMPLE-BUCKET \ --output-key my-output-files/ \ --language-code en-US \ --show-speaker-labels TRUE \ --max-speaker-labels 3

下面是使用start-transcription-job命令的另一個示例,以及一個請求主體,可以使用該作業進行發言者分區。

aws transcribe start-transcription-job \ --region us-west-2 \ --cli-input-json file://my-first-transcription-job.json

該文件 my-first-transcription-job.json 包含以下請求主體。

{ "TranscriptionJobName": "my-first-transcription-job", "Media": { "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" }, "OutputBucketName": "DOC-EXAMPLE-BUCKET", "OutputKey": "my-output-files/", "LanguageCode": "en-US", "ShowSpeakerLabels": 'TRUE', "MaxSpeakerLabels": 3 }

此範例會使用 AWS SDK for Python (Boto3) 來識別使用開始轉譯工作方法的通道。如需詳細資訊,請參閱StartTranscriptionJob

from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', 'us-west-2') job_name = "my-first-transcription-job" job_uri = "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" transcribe.start_transcription_job( TranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'DOC-EXAMPLE-BUCKET', OutputKey = 'my-output-files/', LanguageCode = 'en-US', Settings = { 'ShowSpeakerLabels': True, 'MaxSpeakerLabels': 3 } ) while True: status = transcribe.get_transcription_job(TranscriptionJobName = job_name) if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)

在串流轉錄中分隔發言者

若要在串流轉錄中分隔發言者,請參閱下列範例:

  1. 登入 AWS Management Console

  2. 在導覽窗格中,選擇即時轉錄。向下捲動至音訊設定,如果此欄位已最小化,請展開此欄位。

    Amazon Transcribe 控制台屏幕截圖:「實時轉錄」頁面上的「音頻設置」選項卡。
  3. 開啟 發言者分隔

    Amazon Transcribe 控制台屏幕截圖:擴展的「音頻設置」選項卡,並啟用了揚聲器分區。
  4. 您現在已準備好轉錄串流。選擇開始串流並開始說話。若要結束聽寫,選擇停止串流

此範例會建立 HTTP/2 要求,以分隔轉錄輸出中的發言者。如需搭配使用 HTTP/2 串流的詳細資訊 Amazon Transcribe,請參閱。設定 HTTP/2 串流如需有關特定參數和標題的更多詳細資訊 Amazon Transcribe,請參閱StartStreamTranscription

POST /stream-transcription HTTP/2 host: transcribestreaming.us-west-2.amazonaws.com X-Amz-Target: com.amazonaws.transcribe.Transcribe.StartStreamTranscription Content-Type: application/vnd.amazon.eventstream X-Amz-Content-Sha256: string X-Amz-Date: 20220208T235959Z Authorization: AWS4-HMAC-SHA256 Credential=access-key/20220208/us-west-2/transcribe/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target;x-amz-security-token, Signature=string x-amzn-transcribe-language-code: en-US x-amzn-transcribe-media-encoding: flac x-amzn-transcribe-sample-rate: 16000 x-amzn-transcribe-show-speaker-label: true transfer-encoding: chunked

您可以在 API 參考中找到參數定義;所有 AWS API 作業的共用參數會列在「一般參數」區段中。

此範例會建立預先簽署的 URL,以分隔轉錄輸出中的發言者。已加入分行符號以提高可讀性。如需搭配使用 WebSocket 串流的詳細資訊 Amazon Transcribe,請參閱設定串 WebSocket 流。如需參數詳細資訊,請參閱 StartStreamTranscription

GET wss://transcribestreaming.us-west-2.amazonaws.com:8443/stream-transcription-websocket? &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=string &X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-date &language-code=en-US &specialty=PRIMARYCARE &type=DICTATION &media-encoding=flac &sample-rate=16000 &show-speaker-label=true

您可以在 API 參考中找到參數定義;所有 AWS API 作業的共用參數會列在「一般參數」區段中。