наилучшая практика для определения произношения для движка Android TTS?

В целом, я очень впечатлен стандартным механизмом преобразования текста в речь Android (то есть com.svox.pico). Как и ожидалось, он неправильно произносит некоторые слова (как и я) и поэтому иногда нуждается в руководстве по произношению. Поэтому я задаюсь вопросом о лучших методах фонетического написания тех слов, которые неправильно использует движок pico TTS.

Например, правильное произношение птицы Чачалака - ЧАХ-ЧА-ЛАХ-КАХ. Вот что производит движок TTS:

mTts.speak("Chachalaca", TextToSpeech.QUEUE_ADD, null); // output: chuh-KAL-uh-KUH
mTts.speak("CHAH-chah-LAH-kah", TextToSpeech.QUEUE_ADD, null); // output: CHAH-chah-EL-AY-AYCH-dash-kuh
mTts.speak("CHAHchahLAHkah", TextToSpeech.QUEUE_ADD, null); // output: CHA-chah-LAH-ka
mTts.speak("CHAH chah LOCKah", TextToSpeech.QUEUE_ADD, null); // output: CHAH-chah-LAH-kah

Вот мои вопросы.

  • Существует ли стандартное фонетическое написание, распознаваемое движком Android TTS?
  • Если нет, то существуют ли какие-то общие правила для написания пользовательских произношений, которые будут сделать правописание более вероятным, чтобы быть правильным в будущих двигателях / версиях TTS?
  • Похоже, что механизм Android TTS игнорирует регистр текста. Как лучше всего указать акцент?

Кстати, вот что пишет движок TTS в logcat:

V / TtsService (294): Обработка TTS: CHAH chah LOCKah
Существуют ли общие правила для написания пользовательских произношений, которые сделают правописание более вероятным, чтобы быть правильными в будущих двигателях / версиях TTS?

  • Похоже, что Android TTS движок игнорирует регистр текста. Как лучше всего указать акцент?
  • Кстати, вот что пишет движок TTS в logcat:

    V / TtsService (294): Обработка TTS: CHAH chah LOCKah
    Существуют ли общие правила для написания пользовательских произношений, которые сделают правописание более вероятным, чтобы быть правильными в будущих двигателях / версиях TTS?

  • Похоже, что Android TTS движок игнорирует регистр текста. Как лучше всего указать акцент?
  • Кстати, вот что пишет движок TTS в logcat:

    V / TtsService (294): Обработка TTS: CHAH chah LOCKah
    V / TtsService (294): TtsService.setLanguage (англ, США,)
    I / SVOX Pico Engine (294): язык уже загружен (en-US == en-US)
    I / SynthProxy (294): установка скорости речи на 100
    I / SynthProxy (294): установка высоты тона на 100

    [ОБНОВЛЕНИЕ]

    Я попытался передать XML-документ в TextToSpeech.speak () следующим образом:

                String text = "" +
                    "" +
    
                        "That is a big car! " +
                        "That is a big car! " +
                        "That is a big car! " +
                        "That is a huge bank account! " +
                        "That is a huge bank account! " +
                        "That is a huge bank account!" +
                    "";
                mTts.speak(text, TextToSpeech.QUEUE_ADD, null);
    

    Как предположила Android Eve, движок TTS читает только тело XML (то есть комментарии о большой машине и огромный банковский счет). Я не осознавал, что механизм TTS способен анализировать XML-документы. Однако я не услышал никакого акцента в выводе TTS.

    [ОБНОВЛЕНИЕ 2]

    Я упростил вопрос о том, поддерживает ли Android TTS язык разметки речи здесь .

    17
    задан Community 23 May 2017 в 11:52
    поделиться

    1 ответ

    Один ответ на все 3 вопроса: Посмотрите на спецификации SSML: http://www.w3.org/TR/speech-synthesis/

    Например, для указания подчеркивания используется элемент emphasis, например,

    <?xml version="1.0"?>
    <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.w3.org/2001/10/synthesis
                       http://www.w3.org/TR/speech-synthesis/synthesis.xsd"
             xml:lang="en-US">
      That is a <emphasis> big </emphasis> car!
      That is a <emphasis level="strong"> huge </emphasis>
      bank account!
    </speak>
    
    1
    ответ дан 30 November 2019 в 14:41
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: