- Самая распространенная ошибка -
1 причина: в своем вы использовали недопустимый символ, который Festival не умеет обрабатывать (об этом ниже).
- поправьте скрипт.
2 причина: вы скрипт сами не писали, сделали Copy+Past с какого-то сайта, вставили в свой текстовый редактор и сохранили. Некоторые редакторы делают автоформатирование, например, меняют двойной дефис на одинарный, кавычки-двойные на кавычки-елочки.
- воспользуйтесь другим редактором и вставьте скрипт с сайта туда.
3 причина: вы сделали Copy+Past с сайта, но вы точно уверены, что ваш редактор автоформатированием не занимается! Значит, автоформатированием занимается сайт, с которого вы копируете скрипт.
- перепечатайте скрипт ручками.
4 причина: некоторые текстовые редкторы при сохранении файлов в UTF-8 в начало файла добавляют BOM (подпись UTF-8 в виде трёх байтов). Festival не воспринимает ее, как подпись, пытается обработать и не может.
- воспользуйтесь другим редактором.
5 причина: вы заставляете Festival говорить одновременно на нескольких языках.
- одна сессия - один язык.
- У программы есть баг - не работает при включенном аудио- или видео-проигрывателе.
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FI
- Не забывайте давать вашим скриптам право на исполнение.
chmod +x script.sh (меняете script.sh на имя вашего скрипта)
Список распознаваемых символов:
lБуквы: A-z, А-я,
Символы: - ' + ? ! . , (+ специально используется для расстановки ударений)
Цифры: 0-9
Символы: - ' + ? ! . , (+ специально используется для расстановки ударений)
Цифры: 0-9
Список известных нераспознаваемых символов и их сочетаний:
/ (слеш)
«» (кавычки-елочки) ?* (где * - один или более пробелов, например, "Как дела? Какие планы на сегодня?". Ставьте вместо пробела - точку, тогда будет работать. Или просто без пробела после вопросительного знака)
.* (где * - любой знак, кроме пробела. После точки всегда обязателен пробел).
Также не забывайте, что у самого скрипта, языка, на котором он написан, тоже есть определенные правила и грамматика.
Почему нельзя использовать кавычки ""? У меня по какой-то причине программа не понимает кавычки <<>>, поставил "" - всё работает. В причине не разобрался, второй день Убунту юзаю ибо))
ОтветитьУдалитьВ файле msu_ru_nsh_lexicon.scm , который где-то в фестивальной папке лежит, описаны те символы, которые Фестиваль воспринимает - кавычки "", двоеточие, точка, тире и другие. Туда можно вручную добавить <<>> , или еще какой символ, который вас интересует) и тогда ошибка выскакивать не будет.
ОтветитьУдалитьПросто создатель не все предусмотрел:)
У меня на ubuntu 16.04 `msu_ru_nsh_lexicon.scm` находится в:
ОтветитьУдалить`/usr/share/festival/voices/russian/msu_ru_nsh_clunits/festvox/msu_ru_nsh_lexicon.scm`
Мой хак для файла: https://gist.github.com/d9k/f6b7670d61e00840082dbc5d74be53f5
Кстати, если в озвучиваемом тексте до запятой стоит любой символ, движок тоже упадёт :C