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

    Цитата
    stival/disttabs/pau_2.mcep' -stop 50 -output 'festival/trees/pau_2_mcep.tree'
    Clustergen mcep tree build on: pau_3
    $ESTDIR/bin/wagon -track_start 1 -heap 10000000 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/pau_3.feats' -test 'festival/feats/pau_3.feats' -balance 0 -track 'fe
    stival/disttabs/pau_3.mcep' -stop 50 -output 'festival/trees/pau_3_mcep.tree'
    160 unittypes as 14968 subunittypes dumped
    Tree models and vector params dumped
    Pass 5 find MCDs
    -=-=-=-=-=- EST Error -=-=-=-=-=-
    error:(class 1929) determinant <= 0, det = 0.000000

    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Error reading ESPS file test/cgp5/ru_0010.mcep
    Error reading ESPS file test/cgp5/ru_0010.mcep
    /daemon/festival/festvox/src/clustergen/track_diff_f0: line 89: [: 26: unary operator expected
    /daemon/festival/festvox/src/clustergen/track_diff_f0: line 95: [: 1958: unary operator expected
      Ну do_move_label вызывает cg_test. Дальше надо в cg_test добавить "set -x" чтобы видеть вызываемые команды.
      Найти команду, которая завершается неудачей.

      Видимо, festival не может синтезировать какое-то предложение из тестовых. Что-то в голосе было накручено.
      Возможно, можно будет убрать одно из тестовых предложений.
        Цитата
        на стадии postlex надо двойную k просто убирать


        в postlex я ничего понять не могу
        а в LTS оказывается мои правила не работают...

        ( # [ к ] # * к = )

        и остальные тоже значит...

        ;; SURD также включает конец слова - #
        ( [ б ] # * SURD = p )
        ( [ в ] # * SURD = f )
        ( [ г ] # * SURD = k )
        ( [ д ] # * SURD = t )
        ( [ з ] # * SURD = s )
        ( [ ж ] # * SURD = sh )
        ( [ б ] ь SURD = pp )
        ( [ в ] ь SURD = ff )
        ( [ г ] ь SURD = kk )
        ( [ д ] ь SURD = tt )
        ( [ з ] ь SURD = ss )
        ( [ п ] # * RINGING = b )
        ( [ ф ] # * RINGING = v )
        ( [ к ] # * RINGING = g )
        ( [ т ] # * RINGING = d )
        ( [ ш ] # * RINGING = zh )
        ( [ с ] # * RINGING = z )

        жаль..
          Цитата
          в postlex я ничего понять не могу


          Если что-то непонятно, всегда можно спросить. На стадии postlex описываются преобразования последовательностей звуков после соединения слов в предложения. На стадии lts - звуки внутри слова.
          По Scheme можно найти какое-нибудь простое введение, это не сложнее, чем perl.
            Вроде разобрался немного...
            Сообщение отредактировано: zamir -
              Цитата nsh @
              Дальше надо в cg_test добавить "set -x" чтобы видеть вызываемые команды. Найти команду, которая завершается неудачей.

              Цитата
              + /daemon/festival/speech_tools/../festival/bin/festival --heap 20000000 -b festvox/msu_ru_nsh_cg.scm /daemon/festival/festvox/src/clustergen/clustergen_build.scm '(begin (voice_msu_ru_nsh_cg) (setq cg::generate_resynth_waves nil) (ClusterGen_test_resynth "etc/txt.done.data.test" "test/cgp1"))'
              -=-=-=-=-=- EST Error -=-=-=-=-=-
              error:(class 1929) determinant <= 0, det = 0.000000

              -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
                cg::generate_resynth_waves в свою очередь вызывает команду cg_resynth, нужно посмотреть, что на входе этой команды, что на выходе:

                ExpandedWrap disabled
                  (define (cg_wave_synth_external utt)
                    ;; before we had it built-in to Festival
                    (let ((trackname (make_tmp_filename))
                          (wavename (make_tmp_filename))
                          )
                      (track.save (utt.feat utt "param_track") trackname "est")
                      (system
                       (format nil "$FESTVOXDIR/src/clustergen/cg_resynth %s %s"


                Добавлено
                Сам по себе голос-то работает? Если он тестовые записи синтезировать не может, может там что-то не так?
                  сам по себе голос после первоначальной сборки работает
                  после двиганья меток - не работает
                  я пробовал убрать строку "(setq cg::generate_resynth_waves nil)" - ошибка таже самая
                  я прервал передвижение меток и запустил:
                  Цитата
                  $FESTVOXDIR/src/clustergen/cg_test mcdf0 cgp0 ${PROMPTFILE}.test >ml/mcd.0

                  ошибка также самая, несмотря на то, что ранее (сразу после сборки модели) этот шаг отрабатывал коректно:
                  Цитата
                  160 unittypes as 15338 subunittypes dumped
                  Tree models and vector params dumped
                  Pass 0 find MCDs
                  Pass # #moves +ve -ve MCD std F0 std
                  pass 0 0 0 0 4.631 1.914 13.984 13.619
                  Starting Pass 1
                  Pass 1 moving labels


                  после этого я перезапустил ./bin/do_clustergen move_label
                  и заметил что теперь ошибка вылезат на нулевом этапе

                  Цитата
                  160 unittypes as 15132 subunittypes dumped
                  Tree models and vector params dumped
                  Pass 0 find MCDs
                  + /daemon/festival/speech_tools/../festival/bin/festival --heap 20000000 -b festvox/msu_ru_nsh_cg.scm /daemon/festival/festvox/src/clustergen/clustergen_build.scm '(begin (voice_msu_ru_nsh_cg) (setq cg::generate_resynth_waves nil) (ClusterGen_test_resynth "etc/txt.done.data.test" "test/cgp0"))'
                  -=-=-=-=-=- EST Error -=-=-=-=-=-
                  error:(class 1929) determinant <= 0, det = 0.000000

                  -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
                  + exit 0


                  Добавлено
                  извиняюсь
                  это какой-то мой косяк
                  Цитата
                  # echo "В рук+е +он держ+ал кон+ец" | text2wave -eval '(voice_msu_ru_nsh_cg)' > cg_test1.wav


                  Цитата
                  # echo "В рук+е +он держ+ал -- кон+ец" | text2wave -eval '(voice_msu_ru_nsh_cg)' > cg_test1.wav
                  Int Target General: targets out of order


                  пытаюсь разобраться
                    если перед pau в postlex удалить фонему, то получится последовательность "0 pau" которая приводит к ошибке Int Target General: targets out of order

                    после исправления этой ошибки (путём замены фонемы на pau вместо её удаления :( ), запуск:
                    $FESTVOXDIR/src/clustergen/cg_test mcdf0 cgp0 ${PROMPTFILE}.test >ml/mcd.0
                    всё равно заканчивается тойже ошибкой что и раньше, так что не в этом наверное проблема
                    пересобираю всё поновой...
                    но так как и с таким косячком pass0 проходил нормально, думаю проблема не в этом...
                    Сообщение отредактировано: zamir -
                      собралась модель
                      прикладываю пример синтеза фразы из словаря
                      тоесть после сборки модели - синтерзатор работает

                      теперь запускаю move_label...

                      Прикреплённый файлПрикреплённый файлcg_ru_0037_2.wav.zip (187,12 Кбайт, скачиваний: 437)
                        синтезатор работает даже после pass1
                        в cg_resynth выставлен set -x
                        и из логов видно что этот скрипт никогда не запускался

                        как бычно pass0 прошёл
                        Цитата
                        60 unittypes as 15338 subunittypes dumped
                        Tree models and vector params dumped
                        Pass 0 find MCDs
                        Pass # #moves +ve -ve MCD std F0 std
                        pass 0 0 0 0 4.994 2.148 15.725 15.179
                        Starting Pass 1
                        Pass 1 moving labels


                        начиная с pass1 ошибки
                        Цитата
                        160 unittypes as 15071 subunittypes dumped
                        Tree models and vector params dumped
                        Pass 1 find MCDs
                        -=-=-=-=-=- EST Error -=-=-=-=-=-
                        error:(class 1929) determinant <= 0, det = 0.000000

                        -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
                        Error reading ESPS file test/cgp1/ru_0010.mcep
                          возвращаю оригинальные метки
                          запускаю
                          Цитата
                          ./bin/do_clustergen build_utts ${PROMPTFILE}
                          ./bin/do_clustergen f0 ${PROMPTFILE}
                          ./bin/do_clustergen combine_coeffs_v ${PROMPTFILE}
                          ./bin/do_clustergen cluster ${PROMPTFILE}.train

                          синтрезатор собрался
                          запускаю
                          Цитата
                          /daemon/festival/speech_tools/../festival/bin/festival --heap 20000000 -b festvox/msu_ru_nsh_cg.scm /daemon/festival/festvox/src/clustergen/clustergen_build.scm '(begin (voice_msu_ru_nsh_cg) (setq cg::generate_resynth_waves nil) (ClusterGen_test_resynth "etc/txt.done.data.test" "test/cgp0"))'

                          всё отработало корректно

                          беру модель из папки ml/model1/* копирую в папку festival/trees/*
                          запускаю
                          Цитата
                          /daemon/festival/speech_tools/../festival/bin/festival --heap 20000000 -b festvox/msu_ru_nsh_cg.scm /daemon/festival/festvox/src/clustergen/clustergen_build.scm '(begin (voice_msu_ru_nsh_cg) (setq cg::generate_resynth_waves nil) (ClusterGen_test_resynth "etc/txt.done.data.test" "test/cgp1"))'

                          всё отработало корректно
                          это подтвеждает что модели собираются рабочими
                          после выполнения этой команды в папке test/cgp1 наконец-то появились mcep файлы
                          запускаю $FESTVOXDIR/src/clustergen/cg_test mcdf0 cgp1 ${PROMPTFILE}.test >ml/mcd.1 что бы проверить на верника
                          ошибок нет

                          Добавлено
                          беру метки lab1
                          выполняю
                          Цитата
                          ./bin/do_clustergen build_utts ${PROMPTFILE}

                          после этого модель не работает

                          Цитата
                          $FESTVOXDIR/src/clustergen/cg_test mcdf0 cgp1 ${PROMPTFILE}.test
                          CG test_resynth ru_0010
                          -=-=-=-=-=- EST Error -=-=-=-=-=-
                          error:(class 1929) determinant <= 0, det = 0.000000

                          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


                          файлы модели
                          Цитата
                          msu_ru_nsh_f0.tree
                          msu_ru_nsh_mcep.params
                          msu_ru_nsh_mcep.rawparams
                          msu_ru_nsh_mcep.tree

                          не изменились по дате
                          изменились только файлы в папке festival/utts

                          Добавлено
                          если убрать папку utts вознимат ошибка:
                          Цитата
                          CG test_resynth ru_0010
                          Cannot open file festival/utts/ru_0010.utt as tokenstream
                          load_utt: can't open utterance input file festival/utts/ru_0010.utt
                          utt.load: loading from "festival/utts/ru_0010.utt" failed


                          Добавлено
                          возращаю метки lab0
                          выполняю
                          Цитата
                          ./bin/do_clustergen build_utts ${PROMPTFILE}

                          после этого $FESTVOXDIR/src/clustergen/cg_test mcdf0 cgp1 ${PROMPTFILE}.test ошибок не выдаёт
                            на сколько корректным будет работа move_label если я закоментирую выполнение ./bin/do_clustergen build_utts ${PROMPTFILE} ?
                              вот тут MCD на английских диалектах около 5
                              http://www.cs.cmu.edu/~awb/papers/icassp2009/0003785.pdf
                              у меня около 4-х с половиной
                              вопряки указаниям я добавил в train модель фразы из тестового словаря
                              ExpandedWrap disabled
                                Pass # #moves  +ve   -ve MCD    std      F0    std
                                pass 0     0     0     0 4.382  1.569  14.312  14.893
                                pass 1 48860 24377 24483 4.416  1.607  14.088  13.486
                                pass 2 28410 14498 13912 4.426  1.618  14.114  13.516
                                pass 3 22343 11442 10901 4.443  1.643  14.154  13.554
                                pass 4 19881 10173  9708 4.444  1.639  14.158  13.559
                                pass 5 18485  9561  8924 4.457  1.667  14.199  13.601
                                pass 6 17704  9061  8643 4.455  1.665  14.194  13.592
                                pass 7 17178  8850  8328 4.464  1.680  14.222  13.611
                                pass 8 16701  8568  8133 4.459  1.677  14.210  13.601
                                pass 9 16385  8434  7951 4.468  1.696  14.232  13.617


                              MCD только ростёт...
                              Думаю нет смысла пытаться улучшить модель если в английских диалектах MCD и того выше?

                              p.s. Если кто-то общается с разработчиками festvox скажите им что
                              ExpandedWrap disabled
                                do_move_label select

                              работает не корректно из за того что sort не умеет работать с плавающей запятой
                              ExpandedWrap disabled
                                bestpass=`sort --key=6 -n ml/summary | awk '{if (NR==1) print $2}'`

                              и сортировки по 6-му полю не будет
                              Сообщение отредактировано: zamir -
                                Цитата
                                вопряки указаниям я добавил в train модель фразы из тестового словаря


                                Это не очень хорошо. Возможно, стоит взять тестовое множество поменьше, но отделить его от тренировочного. Например, начать с двух речевых отрезков.

                                Цитата
                                Думаю нет смысла пытаться улучшить модель если в английских диалектах MCD и того выше?


                                Важно не абсолютное значение, а относительное. Улучшать дальше не стоит, разве что тестовое множество поменять на другое.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0534 ]   [ 16 queries used ]   [ Generated: 2.07.25, 22:51 GMT ]