

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

# 어휘 적용(음성 합성)
<a name="managing-lexicons-console-synthesize-speech"></a>

사용하는 어휘는 발음 어휘 사양(PLS) W3C 권장 사항을 준수해야 합니다. 자세한 내용은 W3C 웹 사이트의 [발음 어휘 사양(PLS) 버전 1.0](https://www.w3.org/TR/pronunciation-lexicon/#S4.7)을 참조하세요.

------
#### [ Console ]

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

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

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

**W3C.pls 어휘를 입력에 적용**

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

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

1. 다음 중 하나를 수행합니다.
   + **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>
     ```

1. **언어** 목록에서 **영어, 미국**을 선택한 후 이 텍스트에 사용할 음성을 선택합니다.

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

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

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

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

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

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

   1. 다른 파일 형식으로 변경하려면 **음성 파일 형식 설정**을 활성화하고 원하는 파일 형식을 선택한 후 **다운로드**를 선택합니다.
이전 단계를 반복하되 다른 언어를 선택하고 출력 차이를 확인합니다.

------
#### [ 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>
  ```

  

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

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

1. `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
     ```

1. `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
   ```

1. 결과물인 `speech.mp3`를 테스트합니다. 다음과 같이 표시되어야 합니다.

   ```
   PLS is a World Wide Web Consortium recommendation
   ```

------