

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

# 다중 채널 오디오 트랜스크립션
<a name="conversation-channel-id-med"></a>

여러 채널이 있는 오디오 파일 또는 스트림이 있는 경우 *채널 식별*을 사용하여 각 채널의 음성을 트랜스크립션할 수 있습니다. Amazon Transcribe Medical은 각 채널의 음성을 별도로 트랜스크립션합니다. 각 채널의 개별 트랜스크립션을 결합하여 단일 트랜스크립션 출력으로 만듭니다.

채널 식별을 사용하여 오디오의 개별 채널을 식별하고 각 채널의 음성을 트랜스크린션할 수 있습니다. 발신자와 에이전트가 나오는 시나리오 등의 상황에서 이 기능을 활성화하세요. 이 채널 식별를 사용하여 약물 안전성 모니터링을 수행하는 고객 센터의 녹음이나 스트림에서 발신자와 에이전트를 구별할 수 있습니다.

배치 프로세싱과 실시간 스트리밍 모두에 채널 식별을 활성화할 수 있습니다. 다음 목록은 각 방법에서 채널 식별을 활성화하는 방법을 설명합니다.
+ 배치 트랜스크립션 및 AWS Management Console [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API
+ 스트리밍 트랜스크립션 - WebSocket 스트리밍 및 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) API

## 다중 채널 오디오 파일 트랜스크립션
<a name="conversation-channel-id-med-batch"></a>

오디오 파일을 트랜스크립션하면 Amazon Transcribe Medical은 각 채널의 *항목* 목록을 반환합니다. 항목은 트랜스크립션된 단어 또는 문장 부호입니다. 각 단어에는 시작 시간과 종료 시간이 있습니다. 한 채널에 있는 사람이 별도의 채널에 있는 사람과 동시에 말하는 경우, 각 채널에 있는 항목의 시작 시간과 종료 시간은 개인이 서로 말하는 동안 서로 겹칩니다.

기본적으로 두 채널로 오디오 파일을 트랜스크립션할 수 있습니다. 채널이 3개 이상인 파일을 트랜스크립션해야 하는 경우 할당량 증가를 요청할 수 있습니다. 할당량 증가 요청에 대한 자세한 내용은 [AWS 서비스 할당량](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)을 참조하세요.

배치 트랜스크립션 작업에서 다중 채널 오디오를 트랜스크립션하려면 AWS Management Console 또는 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API를 사용합니다.

### AWS Management Console
<a name="channel-id-batch-med-console"></a>

 AWS Management Console 를 사용하여 배치 트랜스크립션 작업에서 채널 식별을 활성화하려면 오디오 식별을 활성화한 다음 채널 식별을 활성화합니다. 채널 식별은에서 오디오 식별의 하위 집합입니다 AWS Management Console.

1. [AWS Management Console](https://console.aws.amazon.com/transcribe/)에 로그인합니다.

1. 탐색 창의 Amazon Transcribe Medical에서 **트랜스크립션 작업을** 선택합니다.

1. **작업 생성**을 선택합니다.

1. **작업 세부 정보 지정** 페이지에서 트랜스크립션 작업에 대한 정보를 제공합니다.

1. **다음**을 선택합니다.

1. **오디오 식별**을 활성화합니다.

1. **오디오 식별 유형**에서 **채널 식별**을 선택합니다.

1. **생성(Create)**을 선택합니다.

### API
<a name="channel-id-batch-med-api"></a>

**다중 채널 오디오 파일을 트랜스크립션하려면(API)**
+ [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) API의 경우 다음을 지정하세요.

  1. `TranscriptionJobName`에서 AWS 계정의 고유한 이름을 지정합니다.

  1. `LanguageCode`에는 오디오 파일에서 사용하는 언어에 해당하는 언어 코드를 지정합니다. 유효한 값은 `en-US`입니다.

  1. `Media` 객체의 `MediaFileUri` 파라미터에서 트랜스크립션할 미디어 파일의 이름을 지정합니다.

  1. `Settings` 객체에서 `ChannelIdentification`을 `true`로 설정합니다.

다음은 AWS SDK for Python (Boto3)을 사용한 요청 예시입니다.

```
from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe', 'us-west-2')
job_name = "my-first-transcription-job"
job_name = "my-first-med-transcription-job"
job_uri = "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac"
transcribe.start_medical_transcription_job(
      MedicalTranscriptionJobName = job_name,
      Media = {
        'MediaFileUri': job_uri
      },
      OutputBucketName = 'amzn-s3-demo-bucket',
      OutputKey = 'output-files/',
      LanguageCode = 'en-US',
      Specialty = 'PRIMARYCARE',
      Type = 'CONVERSATION',
      Settings = {
        'ChannelIdentification': True
      }
)
while True:
    status = transcribe.get_transcription_job(MedicalTranscriptionJobName = job_name)
    if status['MedicalTranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
        break
    print("Not ready yet...")
    time.sleep(5)
print(status)
```

### AWS CLI
<a name="channel-id-med-cli"></a>

**배치 트랜스크립션 작업을 사용하여 다중 채널 오디오 파일을 트랜스크립션하려면(AWS CLI)**
+ 다음 코드를 실행합니다.

  ```
                      
  aws transcribe start-medical-transcription-job \
  --region us-west-2 \
  --cli-input-json file://example-start-command.json
  ```

  다음은 `example-start-command.json`의 코드입니다.

  ```
  {
        "MedicalTranscriptionJobName": "my-first-med-transcription-job",        
        "Media": {
            "MediaFileUri": "s3://amzn-s3-demo-bucket/my-input-files/my-audio-file.flac"
        },
        "OutputBucketName": "amzn-s3-demo-bucket",
        "OutputKey": "my-output-files/", 
        "LanguageCode": "en-US",
        "Specialty": "PRIMARYCARE",
        "Type": "CONVERSATION",
  
          "Settings":{
            "ChannelIdentification": true
          }
  }
  ```

다음 코드는 두 채널의 대화가 있는 오디오 파일의 트랜스크립션 출력을 보여줍니다.

```
{
  "jobName": "job id",
  "accountId": "111122223333",
  "results": {
    "transcripts": [
      {
        "transcript": "When you try ... It seems to ..."
      }
    ],
    "channel_labels": {
      "channels": [
        {
          "channel_label": "ch_0",
          "items": [
            {
              "start_time": "12.282",
              "end_time": "12.592",
              "alternatives": [
                {
                  "confidence": "1.0000",
                  "content": "When"
                }
              ],
              "type": "pronunciation"
            },
            {
              "start_time": "12.592",
              "end_time": "12.692",
              "alternatives": [
                {
                  "confidence": "0.8787",
                  "content": "you"
                }
              ],
              "type": "pronunciation"
            },
            {
              "start_time": "12.702",
              "end_time": "13.252",
              "alternatives": [
                {
                  "confidence": "0.8318",
                  "content": "try"
                }
              ],
              "type": "pronunciation"
            },
            ...
         ]
      },
      {
          "channel_label": "ch_1",
          "items": [
            {
              "start_time": "12.379",
              "end_time": "12.589",
              "alternatives": [
                {
                  "confidence": "0.5645",
                  "content": "It"
                }
              ],
              "type": "pronunciation"
            },
            {
              "start_time": "12.599",
              "end_time": "12.659",
              "alternatives": [
                {
                  "confidence": "0.2907",
                  "content": "seems"
                }
              ],
              "type": "pronunciation"
            },
            {
              "start_time": "12.669",
              "end_time": "13.029",
              "alternatives": [
                {
                  "confidence": "0.2497",
                  "content": "to"
                }
              ],
              "type": "pronunciation"
            },
            ...
        ]
    }
}
```

## 다중 채널 오디오 스트림 트랜스크립션
<a name="conversation-channel-id-med-stream"></a>

[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) API를 사용하여 HTTP/2 또는 WebSocket 스트림의 개별 채널에서 오디오를 트랜스크립션할 수 있습니다.

기본적으로 두 채널로 스트림을 트랜스크립션할 수 있습니다. 채널이 3개 이상인 스트림을 트랜스크립팅해야 하는 경우 할당량 증가를 요청할 수 있습니다. 할당량 증가 요청에 대한 자세한 내용은 [AWS 서비스 할당량](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)을 참조하세요.

### HTTP/2 스트림에서 다중 채널 트랜스크립션
<a name="conversation-channel-id-http2"></a>

HTTP/2 스트림에서 다중 채널 오디오를 트랜스크립션하려면 [StartMedicalStreamTranscription](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) API를 사용하고 다음을 지정하세요.
+ `LanguageCode` - 오디오의 언어 코드. 유효한 값은 `en-US`입니다.
+ `MediaEncoding` - 오디오의 인코딩. 유효한 값은 `ogg-opus`, `flac`, `pcm`입니다.
+ `EnableChannelIdentification` – `true`
+ `NumberOfChannels` - 스트리밍 오디오의 채널 수.

의료 대화를 트랜스크립션하기 위한 HTTP/2 스트림 설정에 대한 자세한 내용은 [HTTP/2 스트림 설정](streaming-setting-up.md#streaming-http2) 섹션을 참조하세요.

### WebSocket 스트림에서 다중 채널 오디오 트랜스크립션
<a name="channel-id-med-websocket"></a>

WebSocket 스트림에서 화자를 분할하려면 다음 형식을 사용하여 미리 서명된 URI를 만들고 WebSocket 요청을 시작하세요. `enable-channel-identification`을 `true`로 지정하고 `number-of-channels`에서 스트림의 채널 수를 지정합니다. 미리 서명된 URI에는 애플리케이션과 Amazon Transcribe Medical 간의 양방향 통신을 설정하는 데 필요한 정보가 포함되어 있습니다.

```
GET wss://transcribestreaming.us-west-2.amazonaws.com:8443/medical-stream-transcription-websocket
?language-code=languageCode
&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=Signature Version 4 signature
&X-Amz-SignedHeaders=host
&media-encoding=flac
&sample-rate=16000
&session-id=sessionId
&enable-channel-identification=true
&number-of-channels=2
```

파라미터 정의는 [API 참조](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Reference.html)에서 찾을 수 있습니다. 모든 AWS API 작업에 공통적인 파라미터는 [공통 파라미터](https://docs.aws.amazon.com/transcribe/latest/APIReference/CommonParameters.html) 섹션에 나열되어 있습니다.

WebSocket 요청에 대한 자세한 내용은 [WebSocket 스트림 설정](streaming-setting-up.md#streaming-websocket) 섹션을 참조하세요.

### 다중 채널 스트리밍 출력
<a name="streaming-med-output"></a>

스트리밍 트랜스크립션의 출력은 HTTP/2 및 WebSocket 요청에서 동일합니다. 다음은 예시 출력입니다.

```
{
    "resultId": "XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX",
    "startTime": 0.11,
    "endTime": 0.66,
    "isPartial": false,
    "alternatives": [
        {
            "transcript": "Left.",
            "items": [
                {
                    "startTime": 0.11,
                    "endTime": 0.45,
                    "type": "pronunciation",
                    "content": "Left",
                    "vocabularyFilterMatch": false
                },
                {
                    "startTime": 0.45,
                    "endTime": 0.45,
                    "type": "punctuation",
                    "content": ".",
                    "vocabularyFilterMatch": false
                }
            ]
        }
    ],
    "channelId": "ch_0"
}
```

각 음성 세그먼트에는 음성이 속한 채널을 나타내는 `channelId` 플래그가 있습니다.