[Homeros] обработка символов ru_tts

Michael Pozhidaev msp на altlinux.ru
Сб Апр 4 03:29:00 MSD 2009


Hello, tolyangin на mail.ru!

> Проверил. Работает, для цифр при сплошном чтении. Работать стало куда
> легче. Но при посимвольном чтении mbrola доминировать продолжает.
Вот здесь и должен помочь файл charstable. Там по сути таблица символов
с обозначениями, которое должно быть озвучено, если символ встретился
ппри посимвольном прочтении.
Впишите туда русские названия цифр и должно работать. Должно работать
хотя бы потому, что произношение твёрдых и мягких знаков вписано именно
туда и оно нормально читается русским голосом. 

> С остальными символами номер непрокатил.
А вот это странно... в целом, сервер на этом уровне не делает различий
между цифрами и знаками. Разница только в том, что цифры потом
обрабатываются специальным алгоритмом, который строит правильное
словесное представление.

> Server cannot run with this error. Exiting.
Ну что поделаешь... здесь я, видимо, перестарался... :) имею ввиду, что
слишком глубокую проверку сделал правильности содержимого конфига. 
OK, это место надо посмотреть и убрать такую излишнюю проверку.

> Пробывал в файле replacements в секции# For english language:
> напротив спецсимволов задавать транскрипцию к их чтению, но номер
> непрошел.
Это и не сработает. Там вписаны подмены, которые используются, когда уже
точно принято решение, что этот символ должен быть обработан анг. или
рус. языком. Вы правили секцию для анг. языка, и по сути только в большее
недоумении ввели mbrola, послав ей русский текст. Что бы там ни было
вписано, это пойдёт уже однозначно в анг. или рус. язык.

> Также пробывал добится желаемого прочтения символов в файле
> charstable, фокус тоже неудался.
Это настройки для посимвольного чтения.

> Объясните пожалуйста поподробнее о предназночении этих шаблонов.
> Особо заинтреговал caps.
Это файл, куда вписаны некоторые слова, части которых должны быть
прочитаны по буквам. 
Типичный пример: утилита cdrecord. У неё первые две буквы должны читаться
отдельно, иначе будет каша. То есть должно читаться  си ди рекорд . В
этом файле подобные слова вписаны, и буквы которые должны читаться
отдельно указаны заглавными. Плюс справа или слева обозначает, что это
не слово целиком и соответственно справа или слева может быть ещё что-то.
Нужно помнить, что эти правила работают как дополнение к алгоритму,
который проверяет слова и если там только согласные буквы он всегда
будет читать их отдельно. Другими словами вписывать слова вроде html,
ftp, smtp смысла нет. Они и так будут обработаны правильно.
То, что в этот файл вписано, я просто набрал из головы, но чем больше
там будет всякого, то разумеется тем лучше.
И ещё оговорка, что это пока только для анг. языка. Для русского тоже
надо сделать, но это будет отдельный файл.

> Еще раз вам большое спасибо за написание voiceman, с умением
Это всегда пожалуйста. :)
-- 
Michael Pozhidaev. E-mail: msp на altlinux.ru.
Tomsk State University. http://www.csd.tsu.ru
ALT Linux Team. http://www.altlinux.org



Подробная информация о списке рассылки Homeros