어휘 적용(음성 합성) - Amazon Polly

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

어휘 적용(음성 합성)

사용하는 어휘는 발음 어휘 사양(PLS) W3C 권장 사항을 준수해야 합니다. 자세한 내용은 W3C 웹 사이트의 발음 어휘 사양(PLS) 버전 1.0을 참조하세요.

Console

다음 절차는 “W3C”를 “월드 와이드 웹 컨소시엄”으로 대체하는 W3c.pls 어휘를 적용하여 입력 텍스트에 어휘를 적용하는 방법을 보여줍니다. 텍스트에 여러 어휘를 적용하면 하향식 순서로 적용되며 첫 번째 일치 항목이 이후 일치 항목보다 우선합니다. 어휘에 지정된 언어가 선택한 언어와 동일한 경우에만 텍스트에 어휘가 적용됩니다.

일반 텍스트 또는 SSML 입력에 어휘를 적용할 수 있습니다.

예 - W3C.pls 어휘 적용

이 연습에 필요한 어휘를 생성하려면 어휘 업로드을 참조하세요. 일반 텍스트 편집기를 사용하여 주제 상단에 표시된 W3C.pls 어휘를 생성합니다. 이 파일을 어디에 저장했는지 기억해 두세요.

W3C.pls 어휘를 입력에 적용

이 예제에서는 “W3C”를 “월드 와이드 웹 컨소시엄”으로 대체하는 어휘를 소개합니다. 이 연습의 결과를 미국 영어와 다른 언어의 연습의 콘솔SSML에서 사용과 비교하세요.

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/polly/에서 Amazon Polly 콘솔을 엽니다.

  2. 다음 중 하나를 수행합니다.

    • SSML을 비활성화한 후 이 텍스트를 텍스트 입력 상자에 입력하거나 붙여 넣습니다.

      He was caught up in the game. In the middle of the 10/3/2014 W3C meeting he shouted, "Score!" quite loudly.
    • SSML을 활성화한 후 이 텍스트를 텍스트 입력 상자에 입력하거나 붙여 넣습니다.

      <speak>He wasn't paying attention.<break time="1s"/> In the middle of the 10/3/2014 W3C meeting he shouted, "Score!" quite loudly.</speak>
  3. 언어 목록에서 영어, 미국을 선택한 후 이 텍스트에 사용할 음성을 선택합니다.

  4. 추가 설정을 확장하고 발음 사용자 지정을 활성화합니다.

  5. 어휘 목록에서 W3C (English, US)를 선택합니다.

    W3C (English, US) 어휘가 목록에 없는 경우 어휘 업로드를 선택하여 업로드한 후 목록에서 선택합니다. 이 어휘를 생성하려면 어휘 업로드을 참조하세요.

  6. 스피치를 즉시 들으려면 듣기를 선택합니다.

  7. 스피치를 파일에 저장하려면

    1. 다운로드를 선택합니다.

    2. 다른 파일 형식으로 변경하려면 음성 파일 형식 설정을 활성화하고 원하는 파일 형식을 선택한 후 다운로드를 선택합니다.

이전 단계를 반복하되 다른 언어를 선택하고 출력 차이를 확인합니다.

AWS CLI

SynthesizeSpeech를 호출할 때 여러 어휘를 지정할 수 있습니다. 이 경우 왼쪽에서 오른쪽 순으로 지정된 어휘 중 첫 번째 어휘가 이전의 모든 어휘보다 우선합니다.

다음 두 어휘를 고려해 보세요. 참고로 어휘마다 동일한 W3C 자소에 대해 서로 다른 별칭이 설명되어 있습니다.

  • 어휘 1: w3c.pls

    <?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>World Wide Web Consortium</alias> </lexeme> </lexicon>
  • 어휘 2: w3cAlternate.pls

    <?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>WWW Consortium</alias> </lexeme> </lexicon>

이들 어휘를 각각 w3cw3cAlternate로 저장한다고 가정해 보겠습니다. SynthesizeSpeech 호출에서 어휘를 순서대로(w3c 다음에 w3cAlternate) 지정하는 경우 첫 번째 어휘에 정의된 W3C의 별칭이 두 번째 어휘보다 우선합니다. 어휘를 테스트하려면 다음을 수행합니다.

  1. w3c.plsw3cAlternate.pls 파일에 어휘를 로컬로 저장합니다.

  2. put-lexicon AWS CLI 명령을 사용하여 이러한 어휘를 업로드합니다.

    • w3c.pls 어휘를 업로드하고 w3c로 저장합니다.

      aws polly put-lexicon \ --name w3c \ --content file://w3c.pls
    • 서비스에 w3cAlternate.pls 어휘를 w3cAlternate로 업로드합니다.

      aws polly put-lexicon \ --name w3cAlternate \ --content file://w3cAlternate.pls
  3. synthesize-speech 명령을 실행하여 샘플 텍스트를 오디오 스트림(speech.mp3)에 합성하고 lexicon-name 파라미터를 사용하여 두 어휘를 모두 지정합니다.

    aws polly synthesize-speech \ --text 'PLS is a W3C recommendation' \ --voice-id Joanna \ --output-format mp3 \ --lexicon-names '["w3c","w3cAlternative"]' \ speech.mp3
  4. 결과물인 speech.mp3를 테스트합니다. 다음과 같이 표시되어야 합니다.

    PLS is a World Wide Web Consortium recommendation