На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
Страницы: (19) « Первая ... 11 12 [13] 14 15 ...  18 19 все  ( Перейти к последнему сообщению )  
> Новая база для синтеза речи , и голос для festival
    Цитата
    Можно


    Скажите пожалуйста как при помощи pocket_sphinx можно получить расположение фонем

    Цитата
    Лучше разметку с помощью HTS скриптов делать.


    Я успел попробовать. Качество вашей разметки около 98%. Качество разметки при помощи HTS скриптов около 89%. Первое что заменил безударная "а" стала звучать как ударная.
      Николай, а файл all.desc вы вручную создали или его можно как-то сгенерить?
        Цитата
        Скажите пожалуйста как при помощи 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
          Цитата
          Написать программу, используя функции из 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 можно здесь:


          Именно его я использую. Весьма долго подбирались метки - но подобрались более менее точно, ваша разметка немного лучше на мой взгляд получилась.
            Цитата
            при помощи 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 ?


            Желание есть, основная проблема в отсуствии времени. Если честно, ничего особенного в вики нет, уж лучше первоисточник взять - Бондарко

            Цитата
            весь исходный материал ваш. ничего не писал. где-нибудь описана эта процедура?


            Надо просто проконтролировать, что все файлы соотвествуют руссокому языку.

            Цитата
            Именно его я использую. Весьма долго подбирались метки - но подобрались более менее точно, ваша разметка немного лучше на мой взгляд получилась.


            Интересно, что там получилось. Выложите, пожалуйста, метки и образцы синтеза.
              Цитата
              Интересно, что там получилось. Выложите, пожалуйста, метки и образцы синтеза.


              вот тут лежат метки: ваши, 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 будет дольше грузиться и больше кушать памяти.
                Цитата
                Выложите, пожалуйста, метки и образцы синтеза.


                а вот образец синтеза после того как я получил метки через hts

                https://z1.prolink.ru/sphinx/nsh_hts.wav

                Цитата
                два дня и две ночи бродили волчица и одноглазый около индейского посёлка
                  Упростил и исправил ошибки в коде транскрипции
                  теперь получение фонем от гласных ещё проще

                  ExpandedWrap disabled
                    # В начале слова
                    $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
                    Цитата
                    Николай, если создадите git репозитарий, то я смогу помочь создать новый транскриптор для festival


                    Надеюсь, отсутствие git не помешает вам заняться транскрипторами.
                      пытаюсь реализовать редукцию А и О первой степени
                      замысле простой. если гласная после А или О ударная - значит степень редукции пеервая


                      (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 в данном случаи использовать можно?
                        Редукцию легче на postlex стадии
                          почему вы считаете что это легче?
                          в у вас после (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 )
                          но это не работает, и я не могу понять почему
                          логика простая
                          что я не понимаю?
                            Цитата
                            что я не понимаю?


                            "+" как в регулярных выражениях даёт совпадение с любым символом:

                            http://www.cstr.ed.ac.uk/projects/festival/manual/festival_13.html#SEC43
                              я пробовал слэшом экранировать
                              не получилось
                              заменил на "`" так работает
                              спасибо, теперь хоть понятно что регулярные выражения всё таки есть и они работают
                                s1 - чёрный цифербл+ат разм+еренно выплёвывал ядовито-кр+асные ч+исла
                                s2 - с+он навал+ился н+а мен+я, +и погруз+ил в т+ёплую гл+убь земл+и (фраза из обучающего словаря)

                                Как можно улучшить качество синтеза?

                                по файлу msu_ru_nsh_phoneset.scm не проконсультируете?

                                ExpandedWrap disabled
                                    ;;; 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)


                                что означают записи после фонем?

                                Прикреплённый файлПрикреплённый файлs1.wav (146,62 Кбайт, скачиваний: 772)
                                Прикреплённый файлПрикреплённый файлs2.wav (150,6 Кбайт, скачиваний: 724)
                                Сообщение отредактировано: zamir -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (19) « Первая ... 11 12 [13] 14 15 ...  18 19 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0481 ]   [ 17 queries used ]   [ Generated: 15.09.25, 17:50 GMT ]