다중 채널 오디오 트랜스크립션 - Amazon Transcribe

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

다중 채널 오디오 트랜스크립션

오디오에 두 개의 채널이 있는 경우 채널 식별을 사용하여 각 채널의 스피치를 개별적으로 트랜스크립션할 수 있습니다. Amazon Transcribe 는 현재 두 개 이상의 채널이 있는 오디오를 지원하지 않습니다.

트랜스크립트에서 채널에는 ch_0ch_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 Console, AWS CLI 또는 AWS SDK를 사용할 수 있습니다. 예를 보려면 다음을 참조하세요.

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

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

    Amazon Transcribe 콘솔 '작업 세부 정보 지정' 페이지. '작업 설정' 패널에서 트랜스크립션 작업의 이름을 지정하고, 모델 유형을 선택하고, 언어 설정을 지정할 수 있습니다.
  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://amzn-s3-demo-bucket/my-input-files/my-media-file.flac \ --output-bucket-name amzn-s3-demo-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://amzn-s3-demo-bucket/my-input-files/my-media-file.flac" }, "OutputBucketName": "amzn-s3-demo-bucket", "OutputKey": "my-output-files/", "LanguageCode": "en-US", "Settings": { "ChannelIdentification": true } }

이 예제에서는 AWS SDK for Python (Boto3) 를 사용하여 start_transcription_job 메서드를 사용하여 채널을 식별합니다. 자세한 내용은 StartStReptionJob을 참조하세요.

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 = { '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 또는 WebSocket을 사용할 수 있습니다. 예를 보려면 다음을 참조하세요.

이 예시에서는 트랜스크립션 출력에서 채널을 구분하는 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 작업에 공통적인 파라미터는 공통 파라미터 섹션에 나열되어 있습니다.