Как я могу выделить некоторые слова, произнесенные с помощью espeak?

Я смог исправить это с помощью следующей команды:

sudo cp /boot/grub/x86_64-efi/grub.efi /boot/efi/EFI/grub/grubx64.efi
1
05.05.2018, 23:45
1 ответ

Espeak поддерживает язык разметки синтеза речи (SSML ), и вы можете просто поместить эти теги в середину простого текстового файла (, т.е. вам не нужно преобразовывать все целиком что касается правильного SSML ). Тег, который вы ищете, вероятно, <emphasis level="...">. Другие возможные теги перечислены здесь:http://espeak.sourceforge.net/ssml.html

Espeak не будет использовать их по умолчанию, вам нужно будет передать флаг -m. Например, вы можете использоватьespeak -m -f your_file.txt

Документация довольно краткая, поэтому вам, возможно, придется погрузиться в исходный код, чтобы найти такие вещи, как возможные значения. (Я бы написал документацию получше, но есть неслитые патчи девятилетней давности и исходный репозиторий недоступен, поэтому кажется, что проект полностью мертв. )Возможные значения тега выделения (и некоторых других тегов )можно найти здесь на Github . Они:

  • нет
  • уменьшенный
  • умеренный
  • сильный
  • x -сильный

Например,:Did you mean the <emphasis level="strong">green</emphasis> beans?Обратите внимание, что это не будет работать без кавычек (, в то время как <emphasis level=strong>будет работать в HTML, но не будет работать без кавычек в SSML/espeak ).

В качестве альтернативы, espeak может по-разному читать слова, написанные прописными буквами, используя флаг -k:, если вы используете команду espeak -k20 -f your_file.txt, вы заметите, что она меняет высоту тона для слов, написанных «ПОЛНЫМИ ЗАГЛАВНЫМИ». Эти две опции не смешиваются, поэтому вы не можете выделить и изменение высоты тона, используя обе опции.

Однако в SSMLвы можете смешивать их:Did you mean the <emphasis level="strong"><prosody pitch="75">green</prosody></emphasis> beans?будет читаться как с акцентом, так и с более высоким тоном.

5
27.01.2020, 23:18

Теги

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