기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
말하십시오
텍스트를 제공하여 모든 통화 레그에서 음성을 재생할 수 있습니다. 일반 텍스트 또는 음성 합성 마크업 언어 (SSML) 를 사용할 수 있습니다. SSML은 일시 중지를 추가하거나, 특정 단어를 강조하거나, 말하기 스타일을 변경하여 Amazon Chime SDK가 음성을 생성하는 방식을 더욱 세밀하게 제어할 수 있도록 합니다.
Amazon Chime SDK는 Amazon Polly 서비스를 사용하여 text-to-speech 변환합니다. Amazon Polly를 사용하면 표준 엔진과 뉴럴 엔진 중 하나를 선택하여 음성 품질을 개선할 수 있습니다. Amazon Polly는 20개 이상의 언어와 60개 음성을 지원하여 애플리케이션의 사용자 경험을 사용자 지정합니다. Amazon Chime SDK는 무료로 음성 기능을 제공하지만 Amazon Polly를 사용하면 비용을 지불해야 합니다. 요금 정보는 Amazon Polly 요금 페이지
중요
Amazon Polly의 사용에는 AWS
말하기 동작 사용
다음 예제에서는Speak
작업의 일반적인 용도를 보여줍니다.
{ "SchemaVersion": "1.0", "Actions":[ { "Type": "Speak", "Parameters": { "Text": "
Hello, World!
", // required "CallId": "call-id-1
", // required "Engine": "neural
", // optional. Defaults to standard "LanguageCode": "en-US
", // optional "TextType": "text
", // optional "VoiceId": "Joanna
" // optional. Defaults to Joanna } } ] }
- CallId
-
설명 — Lambda 함수 호출에 참여한 사람
CallId
CallDetails
허용된 값 — 유효한 통화 ID
필수 — 예
기본값 – 없음
- Text
-
설명 — 음성으로 합성할 입력 텍스트를 지정합니다.
ssml
로 지정하는 경우 입력 텍스트의 SSML 형식을 따르십시오.TextType
허용되는 값 — 문자열
필수 — 예
기본값 – 없음
- Engine
-
설명 — 음성 합성을 위해 텍스트를 처리할 때 사용할 엔진 (표준 또는 신경 엔진) 을 지정합니다.
허용된 값 — 표준 | 신경
필수 — 아니요
기본값 — 표준
- LanguageCode
-
설명 — 언어 코드를 지정합니다. 이중 언어 음성을 사용하는 경우에만 필요합니다. 언어 코드 없이 이중 언어 음성을 사용하는 경우 이중 언어 음성의 기본 언어가 사용됩니다.
허용되는 값 — Amazon Polly 언어 코드
필수 — 아니요
기본값 – 없음
- TextType
-
설명 — 입력 텍스트, 일반 텍스트 또는 SSML의 유형을 지정합니다. 입력 유형을 지정하지 않으면 일반 텍스트가 기본값으로 사용됩니다. SSML에 대한 자세한 내용은 Amazon Polly 개발자 안내서의 SSML 문서에서 음성 생성을 참조하십시오.
허용되는 값 — ssml | 텍스트
필수 — 아니요
기본값 – 없음
- VoiceId
-
설명 — 사용할 음성의 ID를 지정합니다.
허용된 값 — Amazon Polly 음성 ID
필수 — 아니요
기본값 — 조안나
액션_성공 이벤트 처리
다음 예제는 Amazon Polly의Joanna
음성을 사용하여 “Hello World”라는 텍스트를 영어로 음성으로 합성하는 작업의 일반적인ACTION_SUCCESSFUL
이벤트를 보여줍니다.
{ "SchemaVersion": "1.0", "Sequence":
3
, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "Speak", "Parameters": { "CallId": "call-id-1
", "Engine": "neural
", "LanguageCode": "en-US
", "Text": "Hello World
", "TextType": "text
", "VoiceId": "Joanna
" } }, "CallDetails":{ ... } }
ACTION_FAILED 이벤트 처리
다음 예제는 이전 예제에서 사용한 것과 동일한ACTION_FAILED
이벤트에 대한 일반적인 이벤트를 보여줍니다.
{ "SchemaVersion": "1.0", "Sequence":
2
, "InvocationEventType": "ACTION_FAILED", "ActionData":{ "Type": "Speak", "Parameters": { "CallId": "call-id-1
", "Engine": "neural
", "LanguageCode": "en-US
", "Text": "Hello World
", "TextType": "text
", "VoiceId": "Joanna
" }, "ErrorType": "SystemException", "ErrorMessage": "System error while running action" }, "CallDetails":{ ... } }
오류 처리
이 표에서는Speak
작업에서 발생하는 오류 메시지를 나열하고 설명합니다.
오류 | 메시지 | 이유 |
---|---|---|
|
|
Amazon Polly에 요청을 보내는 데 사용된 서비스 연결 역할이 없거나 역할에 권한이 없습니다. 문제를 해결하려면Amazon Chime SDK 음성 커넥터 서비스 연결 역할 사용 섹션의 단계를 참조하십시오. |
|
|
작업 매개 변수를 검증하는 중 오류가 발생했습니다. 파라미터에 대한 자세한 내용은 Amazon Polly 개발자 안내서의SynthesizeSpeech API를 참조하십시오. |
ActionExecutionThrottled |
Amazon Polly는 음성 합성 요청을 제한하고 있습니다. | Amazon Polly에 대한 요청은 스로틀링 예외를 반환하고 있습니다. Amazon Polly 스로틀링 한도에 대한 자세한 내용은 https://docs.aws.amazon.com/polly/latest/dg/limits.html#limits-throttle 을 참조하십시오. |
|
|
작업 매개변수에는 |
|
|
텍스트가 글자 수 제한을 초과했습니다. |
|
작업 실행 중 시스템 오류가 발생했습니다. |
작업을 실행하는 동안 시스템 오류가 발생했습니다. |
프로그램 흐름
다음 다이어그램은 발신자의Speak
작업을 활성화하는 프로그램 흐름을 보여줍니다. 이 예제에서 발신자는 다음과 같은 문자를 듣습니다.

다이어그램 내
발신자는 소프트폰을 사용하여 SIP 미디어 애플리케이션에 등록된 번호를 입력합니다. 응용 프로그램은 SIPINVITE
메서드를 사용하여 호출자에게Trying
(100)
응답을 보냅니다. 이는 next-hop 서버가 호출 요청을 수신했음을 나타냅니다. 그런 다음 SIP 애플리케이션은 엔드포인트에 연결하는INVITE
데 사용합니다. 연결이 설정되면 애플리케이션이 발신자에게Ringing (180)
응답을 보내고 알림이 시작됩니다.
그러면 SIP 미디어 애플리케이션이 Lambda 함수로NEW_INBOUND_CALL
이벤트를 전송합니다. Lambda 함수는 발신자 ID와 음성으로 변환하려는 텍스트가 포함된Speak
작업으로 응답합니다. 그런 다음 SIP 애플리케이션은 전화를 받았음을 나타내는200 (OK)
응답을 보냅니다. 프로토콜은 또한 미디어를 활성화합니다.
Speak
작업이 성공하고 텍스트를 음성으로 변환하면 SIP 미디어 응용 프로그램에ACTION_SUCCESSFUL
이벤트가 반환되고 SIP 미디어 응용 프로그램은 다음 작업 세트를 반환합니다. 작업이 실패하면 SIP 미디어 애플리케이션은 Lambda 함수에ACTION_FAILED
이벤트를 전송하고, 이 함수는 일련의Hangup
작업으로 응답합니다. 애플리케이션은 호출자를 끊고 Lambda 함수에HANGUP
이벤트를 반환하며, Lambda 함수는 추가 조치를 취하지 않습니다.
다음 다이어그램은 피호출자에 대한Speak
작업을 활성화하는 프로그램 흐름을 보여줍니다.

다이어그램 내
발신자가 SIP 미디어 애플리케이션에 등록된 번호를 입력하면 애플리케이션이 이전 다이어그램에 설명된 대로 응답합니다. Lambda 함수는NEW_INBOUND_CALL
이벤트를 수신하면 해당CallAndBridge 작업을 SIP 애플리케이션에 반환합니다. 그런 다음 애플리케이션은 SIPINVITE
메서드를 사용하여 수신자에게Trying (100)
및Ringing (180)
응답을 보냅니다.
수신자가 응답하면 SIP 미디어 애플리케이션은200 (OK)
응답을 수신하고 발신자에게 동일한 응답을 보냅니다. 그러면 미디어가 설정되고 SIP 애플리케이션은 해당CallAndBridge 작업에 대한ACTION_SUCCESSFUL
이벤트를 Lambda 함수로 보냅니다. 그런 다음 함수는 Speak 액션과 데이터를 SIP 애플리케이션으로 반환하고 SIP 애플리케이션은 다음을 변환합니다.