在实时直播中识别演讲者并标记演讲 - Amazon Transcribe
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在实时直播中识别演讲者并标记演讲

要识别演讲者并在实时直播中标记他们的演讲,请使用 Amazon Transcribe Medical 控制台或直播请求。扬声器识别最适合在直播中识别两到五位扬声器。尽管 Amazon Transcribe Medical 可以在一个直播中识别五位以上的扬声器,但如果超过该数字,扬声器识别的准确性会降低。

要启动 HTTP/2 请求,请使用StartMedicalStreamTranscriptionAPI。要启动 WebSocket 请求,请使用预签名 URL。该 URL 包含在应用程序和 Amazon Transcribe Medical 之间建立双向通信所需的信息。

识别麦克风(控制台)中使用的音频中的扬声器

您可以使用 Amazon Transcribe Medical 控制台启动临床医生与患者对话的实时流媒体,或者在麦克风中实时说出的听写。

  1. 登录到Amazon Transcribe Medical.

  2. 在导航窗格中,对于 Amazon Transcribe Medical,请选择实时转录.

  3. 适用于音频输入类型,选择你想转录的医学语音类型。

  4. 适用于其他设置,选择识别发言者.

  5. 选择流式传输开始转录实时音频。

  6. 对麦克风说话。

要识别医疗对话的 HTTP/2 直播中的演讲者,请使用StartMedicalStreamTranscriptionAPI 并指定以下内容:

  • 适用于LanguageCode,指定与流中语言对应的语言代码。有效值为 en-US

  • 适用于MediaSampleHertz,指定音频的采样率。

  • 适用于Specialty,指定提供者的医疗专业。

  • ShowSpeakerLabeltrue

有关设置 HTTP/2 流以转录医疗对话的更多信息,请参阅流请求.

要使用 API 识别 WebSocket 流中的扬声器,请使用以下格式创建预签名 URL 以启动 WebSocket 请求并设置show-speaker-labeltrue.

GET https://transcribestreaming.region.amazonaws.com:8443/medical-stream-transcription-websocket ?language-code=languageCode &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=Signature Version 4 credential scope &X-Amz-Date=date &X-Amz-Expires=time in seconds until expiration &X-Amz-Security-Token=security-token &X-Amz-Signature=Signature Version 4 signature &X-Amz-SignedHeaders=host &media-encoding=mediaEncoding &sample-rate=mediaSampleRateHertz &session-id=sessionId &specialty=medicalSpecialty &type=CONVERSATION &vocabulary-name=vocabularyName &show-speaker-label=boolean

下面的代码显示了直播请求的截断示例响应。

{ "Transcript": { "Results": [ { "Alternatives": [ { "Items": [ { "Confidence": 0.97, "Content": "From", "EndTime": 18.98, "Speaker": "0", "StartTime": 18.74, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "Confidence": 1, "Content": "the", "EndTime": 19.31, "Speaker": "0", "StartTime": 19, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "Confidence": 1, "Content": "last", "EndTime": 19.86, "Speaker": "0", "StartTime": 19.32, "Type": "pronunciation", "VocabularyFilterMatch": false }, ... { "Confidence": 1, "Content": "chronic", "EndTime": 22.55, "Speaker": "0", "StartTime": 21.97, "Type": "pronunciation", "VocabularyFilterMatch": false }, ... "Confidence": 1, "Content": "fatigue", "EndTime": 24.42, "Speaker": "0", "StartTime": 23.95, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "EndTime": 25.22, "StartTime": 25.22, "Type": "speaker-change", "VocabularyFilterMatch": false }, { "Confidence": 0.99, "Content": "True", "EndTime": 25.63, "Speaker": "1", "StartTime": 25.22, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "Content": ".", "EndTime": 25.63, "StartTime": 25.63, "Type": "punctuation", "VocabularyFilterMatch": false } ], "Transcript": "From the last note she still has mild sleep deprivation and chronic fatigue True." } ], "EndTime": 25.63, "IsPartial": false, "ResultId": "XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX", "StartTime": 18.74 } ] } }

Amazon Transcribe Medical 会根据自然语音段中断您的传入音频流,例如,扬声器的更改或音频中的暂停。转录将逐步返回到您的应用程序,每个响应包含更多转录的语音,直到整个片段被转录。前面的代码是完全转录语音段落的截断示例。扬声器标签仅针对完全转录的段落显示。

以下列表显示了流转录输出中对象和参数的组织结构。

Transcript

每个语音片段都有自己的Transcript对象。

Results

ELESTranscript对象有自己的Results对象。此对象包含isPartial字段中返回的子位置类型。它的价值是什么时候false,返回的结果是针对整个语音片段的结果。

Alternatives

ELESResults对象有Alternatives对象。

Items

ELESAlternatives对象有自己的Items对象,该对象中包含转录输出中每个单词和标点符号的信息。启用发言者识别功能时,每个单词都有Speaker完全转录的语音片段的标签。Amazon Transcribe Medical 使用此标签为它在直播中识别的每个扬声器分配一个唯一的整数。这些区域有:Type值为的参数speaker-change表明一个人已经停止说话,另一个人即将开始。

Transcript

每个 Item 对象都包含一个转录的语音片段作为Transcript字段中返回的子位置类型。

有关 WebSocket 请求的更多信息,请参阅创建预签名 URL.