
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.3] |
![]() |
|
Страницы: (19) « Первая ... 11 12 [13] 14 15 ... 18 19 все ( Перейти к последнему сообщению ) |
Сообщ.
#181
,
|
|
|
Цитата Можно Скажите пожалуйста как при помощи pocket_sphinx можно получить расположение фонем Цитата Лучше разметку с помощью HTS скриптов делать. Я успел попробовать. Качество вашей разметки около 98%. Качество разметки при помощи HTS скриптов около 89%. Первое что заменил безударная "а" стала звучать как ударная. |
Сообщ.
#182
,
|
|
|
Николай, а файл all.desc вы вручную создали или его можно как-то сгенерить?
|
![]() |
Сообщ.
#183
,
|
|
Цитата Скажите пожалуйста как при помощи pocket_sphinx можно получить расположение фонем Написать программу, используя функции из ps_alignment.h. Пример - pocketsphinx/test/unit/test_state_align.c Цитата Я успел попробовать. Качество вашей разметки около 98%. Качество разметки при помощи HTS скриптов около 89%. Первое что заменил безударная "а" стала звучать как ударная. Я не совсем уверен как в процентах измерять качество разметки. Мне кажется, что если всё сделать правильно, качество должно быть гораздо лучше. Вопросы для htk вы написали? Цитата Николай, а файл all.desc вы вручную создали или его можно как-то сгенерить? Этот файл нужно создавать вручную. Можно написать скрипт. По поводу меток в новом festvox реализована суперская технология по улучшению меток, называется подвижка меток (move_label). Скачать новый festvox можно здесь: http://www.speech.cs.cmu.edu/15-492/assignments/tts/packed2010/festvox-2.4-current.tar.gz Описание технологии здесь http://www.cs.cmu.edu/~awb/papers/icassp2009/0003785.pdf |
Сообщ.
#184
,
|
|
|
Цитата Написать программу, используя функции из ps_alignment.h. Пример - pocketsphinx/test/unit/test_state_align.c при помощи sphinx3_align это можно сделать параметр -phsegdir мне этого достаточно будет, если результат правильный получится можно ведь sphinx использовать хотя бы для начальной разметки вместо использования команды festival -b festvox/build_clunits.scm '(build_prompts "etc/txt.done.data")' ? Цитата Мне кажется, что если всё сделать правильно, качество должно быть гораздо лучше. Вопросы для htk вы написали? весь исходный материал ваш. ничего не писал. где-нибудь описана эта процедура? Цитата Этот файл нужно создавать вручную. Можно написать скрипт. ![]() Николай, у вас нет желания попробовать вот такую транскрипцию http://ru.wikipedia.org/wiki/%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B0%D1%8F_%D1%84%D0%BE%D0%BD%D0%B5%D1%82%D0%B8%D0%BA%D0%B0 ? Цитата По поводу меток в новом festvox реализована суперская технология по улучшению меток, называется подвижка меток (move_label). Скачать новый festvox можно здесь: Именно его я использую. Весьма долго подбирались метки - но подобрались более менее точно, ваша разметка немного лучше на мой взгляд получилась. |
![]() |
Сообщ.
#185
,
|
|
Цитата при помощи sphinx3_align это можно сделать параметр -phsegdir Да это можно Цитата мне этого достаточно будет, если результат правильный получится можно ведь sphinx использовать хотя бы для начальной разметки вместо использования команды festival -b festvox/build_clunits.scm '(build_prompts "etc/txt.done.data")' build_prompts делает разметки, там специальный этап build_labels. Есть команда label_sphinx, она всё настраивает для sphinxtrain, затем можно запускать sphinxtrain и делать метки. Цитата Николай, у вас нет желания попробовать вот такую транскрипцию http://ru.wikipedia.org/wiki/%D0%A0%D1%83%...%B8%D0%BA%D0%B0 ? Желание есть, основная проблема в отсуствии времени. Если честно, ничего особенного в вики нет, уж лучше первоисточник взять - Бондарко Цитата весь исходный материал ваш. ничего не писал. где-нибудь описана эта процедура? Надо просто проконтролировать, что все файлы соотвествуют руссокому языку. Цитата Именно его я использую. Весьма долго подбирались метки - но подобрались более менее точно, ваша разметка немного лучше на мой взгляд получилась. Интересно, что там получилось. Выложите, пожалуйста, метки и образцы синтеза. |
Сообщ.
#186
,
|
|
|
Цитата Интересно, что там получилось. Выложите, пожалуйста, метки и образцы синтеза. вот тут лежат метки: ваши, hts, sphinx для сравнения + скрипт который позволяет получить метки через sphinx3_align http://z1.prolink.ru/sphinx/lab4festival.tar.gz Модуль синтеза я испортил 10 раз. сейчас буду возвращать ваши скрипты, соберу модуль с метками hts и приложу образцы синтеза. Добавлено Цитата уж лучше первоисточник взять - Бондарко Там небольшие различия с точки зрения звуков образованных гласными буквами Я проводил аналогии с фонемами в alyona от acapella В целом всё тоже самое 1я колонка - фонема в Алёне 2я колонка - пример употребления фонемы из Алёны 3я колонка - то как я обозначаю эту фонему в sphinx https://github.com/zamiron/ru4sphinx/blob/master/text2dict/dict2transcript.pl # А - Альт - aa # l - Ыкать - yy # о - Он - oo # u - Угол - uu # E - Этот - ee # 9 - нЁс - jo # e - Есть - je # { - пЯть - ja # } - лЮк - ju # i - идИ - ii # V - зАвод - a # @ - мОлоко - ay # U - Укол - u # Y - новуЮ - uj - также после мягких в безударном положении # I - Этаж - y # $ - тЕперь - i бюрократ # b' Y r V k r A1 t bb uj r a k r aa t т.е. появляются новые фонемы образованные ударными звуками: ja jo je ju ur - 2я степень редукции У исчезает, на смену приходит uj - Ю в безударном положении ae e i - становятся одной фонемой i - смягчающие, редуцированные 2й степенью редукции гласные е я и там ещё есть некоторые звуки образованные двумя согласными согласными, но пока это лишнее по-моему... # dZ' - Начдив # dZ - ДЖем # tS - имиДЖ # tts - дц # dz - цз я готов сгенерить словарь ударений на полтора миллиона слов. но из-за этого festival будет дольше грузиться и больше кушать памяти. |
Сообщ.
#187
,
|
|
|
Цитата Выложите, пожалуйста, метки и образцы синтеза. а вот образец синтеза после того как я получил метки через hts https://z1.prolink.ru/sphinx/nsh_hts.wav Цитата два дня и две ночи бродили волчица и одноглазый около индейского посёлка |
Сообщ.
#188
,
|
|
|
Упростил и исправил ошибки в коде транскрипции
теперь получение фонем от гласных ещё проще ![]() ![]() # В начале слова $testword=~s/(^ )[ао]/$1a/g; # Первая степень редукции $testword=~s/ (zh|sh) [о](( ($ALL_SONAR))* \+($STARTSYL))/ $1 y$2/g; $testword=~s/ [ао](( ($ALL_SONAR))* \+($STARTSYL))/ a$1/g; # Все остальные безударные гласные $testword=~s/ [ао]/ ay/g; $testword=~s/ [у]/ u/g; $testword=~s/ [иея]/ i/g; $testword=~s/ [ыэ]/ y/g; $testword=~s/ [ю]/ uj/g; https://github.com/zamiron/ru4sphinx/blob/master/text2dict/dict2transcript.pl#L640 Николай, если создадите git репозитарий, то я смогу помочь создать новый транскриптор для festival |
![]() |
Сообщ.
#189
,
|
|
Цитата Николай, если создадите git репозитарий, то я смогу помочь создать новый транскриптор для festival Надеюсь, отсутствие git не помешает вам заняться транскрипторами. |
Сообщ.
#190
,
|
|
|
пытаюсь реализовать редукцию А и О первой степени
замысле простой. если гласная после А или О ударная - значит степень редукции пеервая (AO а о) (ALLSONAR б в г д з к л м н п р с т ф х ж ш ц й ч щ b v g d z k l m n p r s t f h zh sh c j ch sch bb vv gg dd zz kk ll mm nn pp rr ss tt ff hh ) ( [ AO ] "+" = a ) ( [ AO ] ALLSONAR "+" = a ) ( [ AO ] ALLSONAR ALLSONAR "+" = a ) ( [ AO ] ALLSONAR ALLSONAR ALLSONAR "+" = a ) не работает. а именно в таком варианте все безударные А и О становятся первой степени редукции кто-нибудь знает в чём причина и как это исправить? может кто-нибудь знает как regexp в данном случаи использовать можно? |
![]() |
Сообщ.
#191
,
|
|
Редукцию легче на postlex стадии
|
Сообщ.
#192
,
|
|
|
почему вы считаете что это легче?
в у вас после (define (msu_ru::postlex_reduce_vowel utt) много кода в котором я ничего (мягко говоря) не понимаю (отключил его пока) на perl у меня одна строчка $testword=~s/ [ао](( ($ALL_SONAR))* \+($STARTSYL))/ a$1/g; работает великолепно мне проще реализовать LTS даже если это будет 4 строки ( [ AO ] "+" = a ) ( [ AO ] ALLSONAR "+" = a ) ( [ AO ] ALLSONAR ALLSONAR "+" = a ) ( [ AO ] ALLSONAR ALLSONAR ALLSONAR "+" = a ) но это не работает, и я не могу понять почему логика простая что я не понимаю? |
![]() |
Сообщ.
#193
,
|
|
Цитата что я не понимаю? "+" как в регулярных выражениях даёт совпадение с любым символом: http://www.cstr.ed.ac.uk/projects/festival/manual/festival_13.html#SEC43 |
Сообщ.
#194
,
|
|
|
я пробовал слэшом экранировать
не получилось заменил на "`" так работает спасибо, теперь хоть понятно что регулярные выражения всё таки есть и они работают |
Сообщ.
#195
,
|
|
|
s1 - чёрный цифербл+ат разм+еренно выплёвывал ядовито-кр+асные ч+исла
s2 - с+он навал+ился н+а мен+я, +и погруз+ил в т+ёплую гл+убь земл+и (фраза из обучающего словаря) Как можно улучшить качество синтеза? по файлу msu_ru_nsh_phoneset.scm не проконсультируете? ![]() ![]() ;;; stressed vowels (ii + l 5 1 - 0 0 0 0) (yy + l 5 3 - 0 0 0 0) (uu + l 5 5 + 0 0 0 0) (ee + l 3 1 - 0 0 0 0) (oo + l 3 5 + 0 0 0 0) (aa + l 1 3 - 0 0 0 0) (ju + l 5 5 + 0 0 0 0) (je + l 3 1 - 0 0 0 0) (jo + l 3 5 + 0 0 0 0) (ja + l 1 3 - 0 0 0 0) что означают записи после фонем? Прикреплённый файл ![]() Прикреплённый файл ![]() |