Aplicar léxicos (sintetização de fala) - Amazon Polly

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Aplicar léxicos (sintetização de fala)

Os léxicos que você usa devem estar em conformidade com a recomendação PLS (Pronunciation Lexicon Specification) do W3C. Para obter mais informações, consulte Pronunciation Lexicon Specification (PLS) Version 1.0 no site do W3C.

Console

O procedimento a seguir demonstra como aplicar um léxico ao seu texto inserido aplicando o léxico W3c.pls para substituir "W3C" por "World Wide Web Consortium". Se você aplicar vários léxicos ao texto, eles serão aplicados de cima para baixo, com a primeira correspondência levando precedência sobre as correspondências posteriores. O léxico só será aplicado ao texto se o idioma especificado nele for o mesmo que o idioma escolhido.

Você pode aplicar um léxico a uma entrada em texto sem formatação ou SSML.

exemplo – Aplicação do léxico W3C.pls

Para criar o léxico do qual você precisará para este exercício, consulte Fazer upload de um léxico. Use um editor de texto sem formatação para criar o léxico W3C.pls exibido na parte superior do tópico. Lembre-se do local onde salvou o arquivo.

Para aplicar o léxico W3C.pls à sua entrada

Neste exemplo, apresentamos um léxico para substituir "World Wide Web Consortium" por "W3C". Compare os resultados deste exercício com os de Usar SSML no console para inglês norte-americano e outro idioma.

  1. Faça login no AWS Management Console e abra o console do Amazon Polly em. https://console.aws.amazon.com/polly/

  2. Execute um destes procedimentos:

    • Selecione a guia SSML e digite ou cole este texto na caixa de entrada de texto.

      He was caught up in the game. In the middle of the 10/3/2014 W3C meeting he shouted, "Score!" quite loudly.
    • Selecione a guia SSML e digite ou cole este texto na caixa de entrada de texto.

      <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. Na lista Idiomas, escolha Inglês, EUA e, em seguida, escolha a voz que deseja usar para esse texto.

  4. Expanda Configurações adicionais e ative Personalizar pronúncia.

  5. Na lista de léxicos, selecione W3C (English, US).

    Se o léxico W3C (English, US) não estiver listado, escolha Upload lexicon e carregue-o; em seguida, escolha-o na lista. Para criar esse léxico, consulte Fazer upload de um léxico.

  6. Para ouvir a fala imediatamente, selecione Ouvir.

  7. Para salvar a fala em um arquivo,

    1. Escolha Baixar.

    2. Para alterar para um formato de arquivo diferente, selecione Alterar formato do arquivo, selecione o formato de arquivo desejado e, em seguida, selecione Alterar.

Repita as etapas anteriores, mas escolha um idioma diferente e observe a diferença na saída.

AWS CLI

Em uma chamada para SynthesizeSpeech, você pode especificar vários léxicos. Neste caso, o primeiro léxico especificado (da esquerda para a direita) sobrepõe quaisquer léxicos anteriores.

Considere os dois léxicos a seguir. Observe que cada léxico descreve aliases diferentes para o mesmo grafema de W3C.

  • Léxico 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>
  • Léxico 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>

Vamos supor que você armazene esses léxicos como w3c e w3cAlternate, respectivamente. Se você especificar léxicos na ordem (w3c seguido por w3cAlternate) em uma chamada SynthesizeSpeech, o alias de W3C definido no primeiro léxico terá precedência sobre o segundo. Para testar os léxicos, faça o seguinte:

  1. Salve os léxicos localmente em arquivos chamados w3c.pls e w3cAlternate.pls.

  2. Faça o upload desses léxicos usando o put-lexicon AWS CLI comando.

    • Faça upload do léxico w3c.pls e armazene-o como w3c.

      aws polly put-lexicon \ --name w3c \ --content file://w3c.pls
    • Faça upload do léxico w3cAlternate.pls no serviço como w3cAlternate.

      aws polly put-lexicon \ --name w3cAlternate \ --content file://w3cAlternate.pls
  3. Execute o comando synthesize-speech para sintetizar texto de exemplo em um fluxo de áudio (speech.mp3) e especifique os dois léxicos usando o parâmetro 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. Teste o speech.mp3 resultante. Ele deve ler da seguinte forma:

    PLS is a World Wide Web Consortium recommendation