멀티 채널 오디오 트랜스크립팅 - Amazon Transcribe

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

멀티 채널 오디오 트랜스크립팅

오디오에 두 개의 채널이 있는 경우 채널 식별을 사용하여 각 채널의 음성을 개별적으로 변환할 수 있습니다. Amazon Transcribe현재 2개 이상의 채널이 있는 오디오는 지원하지 않습니다.

트랜스크립트에서 채널에는ch_0 레이블과 레이블이 지정됩니다ch_1.

표준 트랜스크립트 섹션 (transcriptsitems) 외에도 채널 식별이 활성화된 요청에는channel_labels 섹션이 포함됩니다. 이 섹션에는 채널별로 그룹화된 각 발화 또는 문장 부호와 관련 채널 레이블, 타임스탬프 및 신뢰도 점수가 포함되어 있습니다.

"channel_labels": { "channels": [ { "channel_label": "ch_0", "items": [ { "channel_label": "ch_0", "start_time": "4.86", "end_time": "5.01", "alternatives": [ { "confidence": "1.0", "content": "I've" } ], "type": "pronunciation" }, ... "channel_label": "ch_1", "items": [ { "channel_label": "ch_1", "start_time": "8.5", "end_time": "8.89", "alternatives": [ { "confidence": "1.0", "content": "Sorry" } ], "type": "pronunciation" }, ... "number_of_channels": 2 },

한 채널에 있는 사람이 별도의 채널에 있는 사람과 동시에 말하는 경우 각 채널의 타임스탬프가 서로 말을 하는 동안 해당 채널의 타임스탬프가 겹쳐집니다.

채널 식별이 포함된 전체 예제 스크립트를 보려면 을 참조하십시오채널 식별 출력 예시(배치).

일괄 트랜스크립션에서 채널 식별 사용

일괄 트랜스크립션에서 채널을 식별하려면 AWS Management ConsoleAWS CLI, 또는 AWSSDK를 사용할 수 있습니다. 예를 보려면 다음을 참조하십시오.

  1. AWS Management Console에 로그인합니다.

  2. 탐색 창에서 트랜스크립션 작업을 선택한 다음 작업 생성 (오른쪽 상단) 을 선택합니다. 그러면 작업 세부 정보 지정 페이지가 열립니다.

    Amazon Transcribe콘솔 '작업 세부 정보 지정' 페이지 '작업 설정' 패널에서 트랜스크립션 Job 이름을 지정하고, 모델 유형을 선택하고, 언어 설정을 지정할 수 있습니다.
  3. 작업 세부 정보 지정 페이지에 포함하려는 필드를 모두 입력한 후 다음을 선택합니다. 그러면 작업 구성 - 옵션 페이지로 이동합니다.

    오디오 설정 패널에서 채널 식별 ('오디오 식별 유형' 제목 아래) 을 선택합니다.

    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 \ --settings ChannelIdentification=true

다음은 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", "Settings": { "ChannelIdentification": true } }

이 예제에서는 를 사용하여 start_transcription_job 메서드를 사용하여 채널을 식별합니다.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 = { 'ChannelIdentification':True } ) 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)

스트리밍 트랜스크립션에서 채널 식별 사용

스트리밍 트랜스크립션에서 채널을 식별하려면 HTTP/2를 사용하거나 예를 보려면 다음을 참조하십시오 WebSockets.

이 예시에서는 트랜스크립션 출력에서 채널을 구분하는 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-channel-identification: 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 &channel-identification=TRUE

파라미터 정의는 API 레퍼런스에서 찾을 수 있으며, 모든AWS API 작업에 공통적인 파라미터는 일반 파라미터 섹션에 나열되어 있습니다.