本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过说话人日记法,您可以在转录输出中区分不同的说话者。 Amazon Transcribe 可以区分最多 30 个不同的扬声器,并用唯一的值(spk_0
直到spk_9
)标记每个唯一发言者的文本。
除了标准转录部分(transcripts
和 items
)之外,启用发言人划分的请求还包括一个 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"
},
要查看包含发言者划分(适用于两个发言者)的完整转录示例,请参阅分类输出示例(批量转录)。
在批量转录中对发言者进行划分
要在批量转录中对发言者进行划分,请参阅以下示例:
-
在导航窗格中,选择转录作业,然后选择创建作业(右上角)。这将打开指定作业详细信息页面。
-
在指定作业详细信息页面上填写要包含的任何字段,然后选择下一步。此时您将会看到配置作业 - 可选页面。
在音频设置面板中,选择发言者划分(在“音频识别类型”标题下)。您可以指定要划分的发言者数量,最多 10 个。
-
选择创建作业以运行您的转录作业。
此示例使用 start-transcription-jobStartTranscriptionJob
。
aws transcribe start-transcription-job \ --region
us-west-2
\ --transcription-job-namemy-first-transcription-job
\ --media MediaFileUri=s3://amzn-s3-demo-bucket
/my-input-files
/my-media-file
.flac
\ --output-bucket-nameamzn-s3-demo-bucket
\ --output-keymy-output-files
/ \ --language-codeen-US
\ --settings ShowSpeakerLabels=true
,MaxSpeakerLabels=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://amzn-s3-demo-bucket
/my-input-files
/my-media-file
.flac
"
},
"OutputBucketName": "amzn-s3-demo-bucket
",
"OutputKey": "my-output-files
/",
"LanguageCode": "en-US
",
"ShowSpeakerLabels": 'TRUE',
"MaxSpeakerLabels": 3
}
此示例使用 start_transcription_
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://amzn-s3-demo-bucket
/my-input-files
/my-media-file
.flac
"
transcribe.start_transcription_job(
TranscriptionJobName = job_name,
Media = {
'MediaFileUri': job_uri
},
OutputBucketName = 'amzn-s3-demo-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)
在流式转录中对发言者进行划分
要在流式转录中对发言者进行划分,请参阅以下示例:
-
在导航窗格中,选择 Real-time transcription (实时转录)。向下滚动到音频设置,如果该字段已最小化,则将其展开。
-
开启发言者划分。
-
您现在已准备就绪,可以转录音频流了。选择开始流式转录并开始讲话。要结束口述,请选择停止流式转录。
此示例创建了一个 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: 20220208
T235959
Z
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=20220208
T235959
Z &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 操作的通用参数列在常用参数部分中。