SynthesizeSpeech - Amazon Polly

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

SynthesizeSpeech

UTF-8 입력, 일반 텍스트 또는 SSML을 바이트 스트림으로 합성합니다. SSML 입력은 유효하고 올바른 형식의 SSML이어야 합니다. 음소 매핑을 사용하지 않는 한 일부 음성에서 일부 알파벳을 사용할 수 없습니다(예: 키릴 문자는 영어 음성으로 전혀 읽히지 않을 수 있음). 자세한 내용은 작동 방식을 참조하세요.

Request Syntax

POST /v1/speech HTTP/1.1 Content-type: application/json { "Engine": "string", "LanguageCode": "string", "LexiconNames": [ "string" ], "OutputFormat": "string", "SampleRate": "string", "SpeechMarkTypes": [ "string" ], "Text": "string", "TextType": "string", "VoiceId": "string" }

URI 요청 파라미터

요청은 URI 파라미터를 사용하지 않습니다.

요청 본문

요청은 JSON 형식으로 다음 데이터를 받습니다.

Engine

스피치 합성을 위한 입력 텍스트를 처리할 때 Amazon Polly의 엔진(standard, neural 또는 long-form)을 지정합니다. Amazon Polly 음성 및 각 엔진에서 사용할 수 있는 음성에 대한 자세한 내용은 사용 가능한 음성을 참조하세요.

NTTS 전용 음성

Kevin(en-US)과 같은 NTTS 전용 음성을 사용하는 경우 이 파라미터는 필수이며 neural(으)로 설정해야 합니다. 엔진을 지정하지 않거나 standard(으)로 설정하면 오류가 발생합니다.

롱폼 전용 음성

Danielle(en-US)와 같은 롱폼 전용 음성을 사용하는 경우 이 파라미터는 필수이며 long-form으로 설정해야 합니다. 엔진을 지정하지 않거나 standard 또는 neural로 설정하면 오류가 발생합니다.

유형: 문자열

유효한 값: standard | neural | long-form

필수 항목 여부: 예

표준 음성

표준 음성은 필수 사항은 아닙니다. 엔진 파라미터의 기본값은 standard입니다. 엔진을 지정하지 않거나 standard(으)로 설정한 상태에서 NTTS 전용 음성을 선택하면 오류가 발생합니다.

유형: 문자열

유효 값: standard | neural | long-form

필수 항목 여부: 아니요

LanguageCode

스피치 합성 요청을 위한 옵션 언어 코드입니다. 이는 인도 영어(en-IN) 또는 힌디어(hi-IN)에 사용할 수 있는 Aditi와 같은 이중 언어 음성을 사용하는 경우에만 필요합니다.

이중 언어 음성을 사용하지만 언어 코드를 지정하지 않은 경우 Amazon Polly는 이중 언어 음성의 기본 언어를 사용합니다. 모든 음성의 기본 언어는 LanguageCode 파라미터와 관련하여 DescribeVoices 작업에서 반환되는 언어입니다. 예를 들어 언어 코드를 지정하지 않은 경우 Aditi는 힌디어 대신 인도식 영어를 사용합니다.

유형: 문자열

유효 값: arb | cmn-CN | cy-GB | da-DK | de-DE | en-AU | en-GB | en-GB-WLS | en-IN | en-US | es-ES | es-MX | es-US | fr-CA | fr-FR | is-IS | it-IT | ja-JP | hi-IN | ko-KR | nb-NO | nl-NL | pl-PL | pt-BR | pt-PT | ro-RO | ru-RU | sv-SE | tr-TR | en-NZ | en-ZA | ca-ES | de-AT | yue-CN | ar-AE | fi-FI | en-IE | nl-BE | fr-BE

필수 항목 여부: 아니요

LexiconNames

통합 과정에서 서비스에 적용하려는 하나 이상의 발음 어휘 이름의 목록입니다. 어휘는 어휘의 언어가 음성의 언어와 동일한 경우에만 적용됩니다. 어휘 저장에 대한 자세한 내용은 PutLexicon을 참조하세요.

유형: 문자열 어레이

배열 멤버: 최대 항목 수는 5개입니다.

패턴: [0-9A-Za-z]{1,20}

필수 항목 여부: 아니요

OutputFormat

반환된 출력이 인코딩되는 형식입니다. 오디오 스트림의 경우 mp3, ogg_vorbis 또는 pcm이 됩니다. 스피치 마크의 경우 json이 됩니다.

pcm을 사용하면 반환되는 콘텐츠는 부호가 있는 16비트, 1채널(모노), 리틀 엔디안 형식의 오디오/pcm입니다.

유형: 문자열

유효 값: json | mp3 | ogg_vorbis | pcm

필수 항목 여부: 예

SampleRate

Hz로 지정된 오디오 주파수입니다.

mp3 및 ogg_vorbis의 유효한 값은 “8000”, “16000”, “22050”, “24000”입니다. 표준 음성의 기본값은 “22050”이고 신경 음성의 기본값은 “24000”입니다. 롱폼 음성의 기본값은 ‘24000’입니다.

pcm의 유효한 값은 “8000”과 “16000”입니다. 기본값은 “16000”입니다.

유형: 문자열

필수 항목 여부: 아니요

SpeechMarkTypes

입력 텍스트에 대해 반환되는 스피치 마크의 유형입니다.

유형: 문자열 어레이

배열 멤버: 최대 항목 수는 4개입니다.

유효 값: sentence | ssml | viseme | word

필수 항목 여부: 아니요

Text

합성할 입력 텍스트입니다. ssml을(를) TextType(으)로 지정하는 경우 입력 텍스트의 SSML 형식을 따라야 합니다.

유형: 문자열

필수 항목 여부: 예

TextType

입력 텍스트가 일반 텍스트인지 SSML인지 지정합니다. 기본값은 일반 텍스트입니다. 자세한 내용은 SSML 사용을 참조하세요.

유형: 문자열

유효 값: ssml | text

필수 항목 여부: 아니요

VoiceId

합성에 사용할 음성 ID입니다. DescribeVoices 작업을 호출하여 사용 가능한 음성 ID 목록을 가져올 수 있습니다.

유형: 문자열

유효 값: Aditi | Amy | Astrid | Bianca | Brian | Camila | Carla | Carmen | Celine | Chantal | Conchita | Cristiano | Dora | Emma | Enrique | Ewa | Filiz | Gabrielle | Geraint | Giorgio | Gwyneth | Hans | Ines | Ivy | Jacek | Jan | Joanna | Joey | Justin | Karl | Kendra | Kevin | Kimberly | Lea | Liv | Lotte | Lucia | Lupe | Mads | Maja | Marlene | Mathieu | Matthew | Maxim | Mia | Miguel | Mizuki | Naja | Nicole | Olivia | Penelope | Raveena | Ricardo | Ruben | Russell | Salli | Seoyeon | Takumi | Tatyana | Vicki | Vitoria | Zeina | Zhiyu | Aria | Ayanda | Arlet | Hannah | Arthur | Daniel | Liam | Pedro | Kajal | Hiujin | Laura | Elin | Ida | Suvi | Ola | Hala | Andres | Sergio | Remi | Adriano | Thiago | Ruth | Stephen | Kazuha | Tomoko | Niamh | Sofie | Lisa | Isabelle | Zayd | Danielle | Gregory

필수 여부: 예

응답 구문

HTTP/1.1 200 Content-Type: ContentType x-amzn-RequestCharacters: RequestCharacters AudioStream

응답 요소

작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.

응답에 다음 HTTP 헤더가 반환됩니다.

ContentType

오디오 스트림 유형을 지정합니다. 여기에는 요청의 OutputFormat 파라미터가 반영되어야 합니다.

  • mp3을(를) OutputFormat(으)로 요청하면 ContentType이(가) audio/mpeg를 반환합니다.

  • ogg_vorbis을(를) OutputFormat(으)로 요청하면 ContentType이(가) audio/ogg를 반환합니다.

  • pcm을(를) OutputFormat(으)로 요청하면 ContentType이(가) 부호가 있는 16비트, 1채널(모노), 리틀 엔디안 형식의 audio/pcm을 반환합니다.

  • jsonOutputFormat으로 요청하면 반환되는 ContentType은 application/x-json-stream입니다.

RequestCharacters

합성된 문자 수입니다.

응답은 다음 내용을 HTTP 본문으로 반환합니다.

AudioStream

합성된 스피치가 포함된 스트림입니다.

Errors

EngineNotSupportedException

이 엔진은 지정한 음성과 호환되지 않습니다. 엔진과 호환되는 새 음성을 선택하거나 엔진을 교체하고 작업을 다시 시작하세요.

HTTP 상태 코드: 400

InvalidSampleRateException

지정한 샘플 속도가 유효하지 않습니다.

HTTP 상태 코드: 400

InvalidSsmlException

제공한 SSML이 유효하지 않습니다. SSML 구문, 태그의 철자 및 값을 확인한 다음 다시 시도하세요.

HTTP 상태 코드: 400

LanguageNotSupportedException

Amazon Polly의 현재 용량에서는 지정된 언어를 지원하지 않습니다.

HTTP 상태 코드: 400

LexiconNotFoundException

Amazon Polly에서 지정된 어휘를 찾을 수 없습니다. 이는 어휘가 없거나, 이름의 철자가 틀렸거나, 다른 리전에 있는 어휘를 지정했기 때문일 수 있습니다.

어휘가 존재하고, 해당 리전(ListLexicons 참조)에 있고, 입력한 이름의 철자가 올바른지 확인하세요. 그런 다음 다시 시도하세요.

HTTP 상태 코드: 404

MarksNotSupportedForFormatException

선택한 OutputFormat에서 스피치 마크를 지원하지 않습니다. 스피치 마크는 json 형식의 내용에서만 사용할 수 있습니다.

HTTP 상태 코드: 400

ServiceFailureException

알 수 없는 상태로 인해 서비스 장애가 발생했습니다.

HTTP Status Code: 500

SsmlMarksNotSupportedForTextTypeException

일반 텍스트 유형 입력에는 SSML 스피치 마크가 지원되지 않습니다.

HTTP 상태 코드: 400

TextLengthExceededException

“Text” 파라미터 값이 허용된 한도보다 깁니다. SynthesizeSpeech API의 경우 입력 텍스트 한도는 최대 총 6,000자이며, 이 중 청구 가능한 문자 수는 3,000자를 초과할 수 없습니다. StartSpeechSynthesisTask API의 경우 최대 200,000자이며, 이 중 청구 가능한 문자 수는 100,000자를 초과할 수 없습니다. SSML 태그는 청구 문자 수로 계산되지 않습니다.

HTTP 상태 코드: 400

참고

이 API를 언어별 AWS SDK 중 하나로 사용하는 방법에 대한 자세한 설명은 다음을 참조하세요.