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


    В файле описания голоса включить отладку

    '(clunits_debug 1))

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

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


    Признаки аллофонов кодируются в таблице - высота, глубина, округлённость, мягкость и так далее.

    http://www.cstr.ed.ac.uk/projects/festival/manual/festival_12.html#SEC38
      я оказывается в move_label не разобрался
      метки которые я выкладывал ранее получены через ehmm
      что бы улучшить качество разметки надо запустить ./bin/do_clustergen move_label ?
      а в какой момент надо запускать?

      мой сборочный файл:

      ExpandedWrap disabled
        ./bin/do_build build_prompts           1>./01_prompts.log    
                                                                                                                                          
        ./bin/do_build label                   1>./02_label.log 2>&1                                                                    
                                                                                                                                          
        (festival/utts)                                                                              
        ./bin/do_build build_utts               1>./03_build_utts.log 2>&1                                                                
         
                                                                            
        ./bin/do_clustergen f0                  1>./04_f0.log 2>&1                                                                        
        ./bin/do_clustergen mcep                1>./05_mcep.log 2>&1                                                                      
        ./bin/do_clustergen voicing             1>./06_voicing.log 2>&1                                                                  
        ./bin/do_clustergen combine_coeffs_v    1>./07_combine_coeffs_v.log 2>&1                                                          
                                                                                                                                                                                                                                                                    
        #./bin/do_clustergen move_label         1>./08_move_label.log 2>&1                                                                
                                                                                                                                          
        ./bin/do_clustergen generate_statenames 1>./09_generate_statenames.log 2>&1                                                      
        ./bin/do_clustergen cluster             1>./10_cluster.log 2>&1                                                                  
        ./bin/do_clustergen dur                 1>./11_dur.log 2>&1


      мне показалось что запускать надо после того как синтерзатор будет полностью собран
      но тогда есть вопросы - почему требуется полная сборка синтерзатора и почему этот механизм нельзя использоваться в модели clunits ?
        Цитата
        мне показалось что запускать надо после того как синтерзатор будет полностью собран


        Да, потому что при оптимизации разметок используется синтез. После того, как оптимизация завершена, нужно ещё раз собрать голос.

        Цитата
        но тогда есть вопросы - почему требуется полная сборка синтерзатора и почему этот механизм нельзя использоваться в модели clunits ?


        Критерий используемый при оптимизации - улучшение качества синтеза. То есть метка двигается, затем измеряется качество синтеза и измеряется улучшение. Этот метод относится к модным сейчас дискриминативным методам обучения.
          не могу никак собрать модель _cg

          во время выполнения ./bin/do_clustergen cluster возникает много ошибок типа:
          ExpandedWrap disabled
            festival/feats/pau_1.feats: bad value 4 in field R:mcep_link.parent.R:segstate.parent.p.ph_vheight vector 4059
            festival/feats/pau_1.feats: bad value 4 in field R:mcep_link.parent.R:segstate.parent.p.ph_vheight vector 4060
            festival/feats/pau_1.feats: bad value 5 in field R:mcep_link.parent.R:segstate.parent.p.ph_vheight vector 4136
            festival/feats/pau_1.feats: bad value 5 in field R:mcep_link.parent.R:segstate.parent.n.ph_vheight vector 4221


          и заканчивается всё так:

          ExpandedWrap disabled
            $ESTDIR/bin/wagon  -track_start 1 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/pau_1.feats' -test 'festival/feats/pa
            u_1.feats' -balance 0 -track 'festival/disttabs/pau_1.mcep' -stop 50 -output 'festival/trees/pau_1_mcep.tree'
            BACKTRACE:
               0: (f (car l2))
               1: (cons (f (car l2)) r)
               2: (set! r (cons (f (car l2)) r))
               3: (while l2 (set! r (cons (f (car l2)) r)) (set! l2 (cdr l2)))
               4: (mapcar
                (lambda
                 (x)
                 (...))
                (caar tree))
               5: (clustergen::dump_tree_vectors tree rawtrackfd)
               6: (set! tree (clustergen::dump_tree_vectors tree rawtrackfd))
               7: (f (car l2))
               8: (cons (f (car l2)) r)
               9: (set! r (cons (f (car l2)) r))
              10: (while l2 (set! r (cons (f (car l2)) r)) (set! l2 (cdr l2)))
              11: (mapcar
                (lambda
                 (unit)
                 (...)
                 ...)
                unittypes)
              12: (if
                cg:multimodel
                (begin
                 (format t "Building multimodels: static
            ")
                 (set! cg::cluster_feats "-track_feats 1-25")
                 ...)
                ...)
              13: (build_clustergen "etc/txt.done.data")


          поначалу стоял festival 1.96B думал из-за этого
          сейчас установил festival: Festival Speech Synthesis System: 2.1:release November 2010 и снова запустил ./bin/do_clustergen cluster
          ошибки теже самые
          есть предположения из-за чего это происходит и как это исправить?
            Цитата
            festival/feats/pau_1.feats: bad value 4 in field R:mcep_link.parent.R:segstate.parent.p.ph_vheight vector 4059


            Нужно отредактировать список возможных значений признаков в различных файлах описания вроде festival/clunits/mcep.desc, f0.desc и так далее. По умолчанию многие признаки принимают значения 1,2,3. В русском голосе используются значения 1,2,3,4,5.
              но ведь файлы festival/clunits/mcep.desc, f0.desc генерятся автоматически, нельзя как-нибудь сделать так что бы они сразу автоматически правильно сгенерились?

              у меня не многие - у меня похоже все фонемы только в трёх значениях перечислены в фалах .desc

              так как мне всё равно для теста, скажите пожалуйста где можно подправить количество признаков с 5 до 3 что бы всё автоматом собралось без лишних хлопот?
                Цитата
                ведь файлы festival/clunits/mcep.desc, f0.desc генерятся автоматически,


                значит исправления нужно вносить в исходные файлы.


                Цитата
                у меня не многие - у меня похоже все фонемы только в трёх значениях перечислены в фалах .desc


                Не фонемы, а значения признаков. Не в трёх значениях, а значения 1 2 3.

                Было:

                ExpandedWrap disabled
                  ( R:segstate.parent.p.ph_vfront
                  0
                  1
                  2
                  3
                  )


                стало

                ExpandedWrap disabled
                  ( R:segstate.parent.p.ph_vfront
                  0
                  1
                  2
                  3
                  4
                  5
                  )


                В данном случае признак vfront из таблицы признаков может принимать значения 1,2,3,4,5 а не 1,2,3.

                Цитата
                так как мне всё равно для теста, скажите пожалуйста где можно подправить количество признаков с 5 до 3 что бы всё автоматом собралось без лишних хлопот?


                Значения признаков указаны в таблице:

                ExpandedWrap disabled
                    
                     (a       +  s  2  4  -  0  0  0  0)   ;; a and o reduced
                     (e       +  s  3  2  -  0  0  0  0)   ;; e in open unstessed syllable
                     (i       +  s  4  2  -  0  0  0  0)   ;; i reduced
                     (y       +  s  4  3  -  0  0  0  0)   ;; y reduced
                     (u       +  s  5  5  +  0  0  0  0)   ;; u unstressed


                В ней и нужно убрать 4 и 5.
                Сообщение отредактировано: nsh -
                  во, теперь понятно :)
                  пока я разбирался переделал градацию подъёма и положение языка с 5ти значной шкалы на 3х значную
                  пока собирается вроде
                  эта классификация так же как и в sphinx влияет только на качество разметки ehmm ?
                    Цитата
                    эта классификация так же как и в sphinx влияет только на качество разметки ehmm ?


                    Классы используются для выбора сегментов для синтеза и влияют на его качество.
                      всё равно не собирается на том же этапе :(
                      ошибки касающиеся состояний исчезли но вылезает BACKTRACE
                      не сталкивались с таким?

                      ExpandedWrap disabled
                        $ESTDIR/bin/wagon  -track_start 1 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/i_2.feats' -test 'festival/feats/i_2.feats' -balance 0 -track 'festival/disttabs/i_2.mcep' -stop 50 Dataset of 16347 vectors of 62 parameters from: festival/feats/i_2.feats
                        Dataset of 16347 vectors of 62 parameters from: festival/feats/i_2.feats
                        RMSE 0.5147 Correlation is 0.9432 Mean (abs) Error 0.1377 (0.4959)
                        Dataset of 25266 vectors of 62 parameters from: festival/feats/i_3.feats
                        Dataset of 25266 vectors of 62 parameters from: festival/feats/i_3.feats
                        RMSE 0.5442 Correlation is 0.8805 Mean (abs) Error 0.1442 (0.5248)
                        Dataset of 30432 vectors of 62 parameters from: festival/feats/pau_1.feats
                        Dataset of 30432 vectors of 62 parameters from: festival/feats/pau_1.feats
                        RMSE 0.0875 Correlation is 0.9035 Mean (abs) Error 0.0638 (0.0599)
                        Dataset of 8292 vectors of 62 parameters from: festival/feats/pau_2.feats
                        Dataset of 8292 vectors of 62 parameters from: festival/feats/pau_2.feats
                        RMSE 0.1207 Correlation is 0.9661 Mean (abs) Error 0.0769 (0.0930)
                        Dataset of 17248 vectors of 62 parameters from: festival/feats/pau_3.feats
                        Dataset of 17248 vectors of 62 parameters from: festival/feats/pau_3.feats
                        RMSE 0.2080 Correlation is 0.8451 Mean (abs) Error 0.0862 (0.1893)
                        SIOD ERROR: not a number : -nan
                        closing a file left open: festival/trees/msu_ru_nsh_mcep.rawparams
                        closing a file left open: festival/trees/msu_ru_nsh_mcep.tree
                        -output 'festival/trees/i_2_mcep.tree'
                        Clustergen mcep tree build on: i_3
                        $ESTDIR/bin/wagon  -track_start 1 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/i_3.feats' -test 'festival/feats/i_3.feats' -balance 0 -track 'festival/disttabs/i_3.mcep' -stop 50 -output 'festival/trees/i_3_mcep.tree'
                        Clustergen mcep tree build on: pau_1
                        $ESTDIR/bin/wagon  -track_start 1 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/pau_1.feats' -test 'festival/feats/pau_1.feats' -balance 0 -track 'festival/disttabs/pau_1.mcep' -stop 50 -output 'festival/trees/pau_1_mcep.tree'
                        Clustergen mcep tree build on: pau_2
                        $ESTDIR/bin/wagon  -track_start 1 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/pau_2.feats' -test 'festival/feats/pau_2.feats' -balance 0 -track 'festival/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 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/pau_3.feats' -test 'festival/feats/pau_3.feats' -balance 0 -track 'festival/disttabs/pau_3.mcep' -stop 50 -output 'festival/trees/pau_3_mcep.tree'
                        BACKTRACE:
                           0: (f (car l2))
                           1: (cons (f (car l2)) r)
                           2: (set! r (cons (f (car l2)) r))
                           3: (while l2 (set! r (cons (f (car l2)) r)) (set! l2 (cdr l2)))
                           4: (mapcar
                            (lambda
                             (x)
                             (...))
                            (caar tree))
                           5: (clustergen::dump_tree_vectors (car (cdr (cdr tree))) rawtrackfd)
                           6: (clustergen::dump_tree_vectors (car (cdr tree)) rawtrackfd)
                           7: (clustergen::dump_tree_vectors (car (cdr tree)) rawtrackfd)
                           8: (clustergen::dump_tree_vectors (car (cdr (cdr tree))) rawtrackfd)
                           9: (clustergen::dump_tree_vectors (car (cdr (cdr tree))) rawtrackfd)
                          10: (clustergen::dump_tree_vectors (car (cdr (cdr tree))) rawtrackfd)
                          11: (clustergen::dump_tree_vectors (car (cdr tree)) rawtrackfd)
                          12: (clustergen::dump_tree_vectors (car (cdr tree)) rawtrackfd)
                          13: (clustergen::dump_tree_vectors (car (cdr (cdr tree))) rawtrackfd)
                          14: (clustergen::dump_tree_vectors tree rawtrackfd)
                          15: (set! tree (clustergen::dump_tree_vectors tree rawtrackfd))
                          16: (f (car l2))
                          17: (cons (f (car l2)) r)
                          18: (set! r (cons (f (car l2)) r))
                          19: (while l2 (set! r (cons (f (car l2)) r)) (set! l2 (cdr l2)))
                          20: (mapcar
                            (lambda
                             (unit)
                             (...)
                             ...)
                            unittypes)
                          21: (if
                            cg:multimodel
                            (begin
                             (format t "Building multimodels: static
                        ")
                             (set! cg::cluster_feats "-track_feats 1-25")
                             ...)
                            ...)
                          22: (build_clustergen "etc/txt.done.data")
                        Сталкивался, почему не сталкивался. Ещё памяти надо добавить в стек (--heap)
                          Спасибо.
                          На сколько я понял

                          Цитата
                          if [ $1 = "cluster" ]
                          then
                          $ESTDIR/../festival/bin/festival --heap 10000000 -b $CLUSTERGENDIR/clustergen_build.scm festvox/build_clunits.scm festvox/${FV_VOICENAME}_cg.scm '(build_clustergen "'$PROMPTFILE'")'
                          exit 0
                          fi


                          меняю на

                          Цитата
                          if [ $1 = "cluster" ]
                          then
                          $ESTDIR/../festival/bin/festival --heap 20000000 -b $CLUSTERGENDIR/clustergen_build.scm festvox/build_clunits.scm festvox/${FV_VOICENAME}_cg.scm '(build_clustergen "'$PROMPTFILE'")'
                          exit 0
                          fi


                          сейчас попробую
                            Не помогло :'(
                            Увеличивал значение по умолчанию в 2 и в 5 раз
                            Таже самая ошибка в том же самом месте

                            Добавлено
                            может это сообщение возникает из-за того что в вашем файле msu_ru_nsh_phrasing.scm
                            указано (set_backtrace t)
                            ?

                            Добавлено
                            если не считать это ошибкой то вроеде всё собрается
                            но синтерзатор не работ
                            на вывод ошибок выводится:
                            Цитата
                            Attempt to access frame 159 of 0 frame track
                            Attempt to access frame 123 of 0 frame track
                            Attempt to access frame 123 of 0 frame track
                            Attempt to access frame 123 of 0 frame track
                            Attempt to access frame 181 of 0 frame track
                            Attempt to access frame 181 of 0 frame track
                            Attempt to access frame 181 of 0 frame track
                            Attempt to access frame 0 of 0 frame track
                            Attempt to access frame 0 of 0 frame track
                            Attempt to access frame 0 of 0 frame track
                            Attempt to access frame 0 of 0 frame track
                            Attempt to access frame 0 of 0 frame track


                            на стандартный вывод:
                            Цитата
                            ClusterGen: can't find cluster tree for pau_3
                            ClusterGen: can't find cluster tree for pau_3
                            ClusterGen: can't find cluster tree for pau_3
                            ClusterGen: can't find cluster tree for pau_3
                            ClusterGen: can't find cluster tree for pau_3
                            ClusterGen: can't find cluster tree for pau_3
                            ClusterGen: can't find cluster tree for pau_3
                            ClusterGen: can't find cluster tree for pau_3
                            ClusterGen: can't find cluster tree for pau_3
                            ClusterGen: can't find cluster tree for pau_3
                            ClusterGen: can't find cluster tree for d_1
                            ClusterGen: can't find cluster tree for d_1
                            ClusterGen: can't find cluster tree for d_1
                            ClusterGen: can't find cluster tree for d_1
                              Кучу надо прямо к вагону добавлять:

                              Цитата
                              $ESTDIR/bin/wagon  -track_start 1 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/i_2.feats' -test 'festival/feats/i_2.feats' -balance 0 -track 'festival/disttabs/i_2.mcep' -stop 50 Dataset of 16347 vectors of 62 parameters from: festival/feats/i_2.feats


                              Цитата
                              SIOD ERROR: not a number : -nan
                              closing a file left open: festival/trees/msu_ru_nsh_mcep.rawparams


                              У вас тут ещё и nan затесался. Это значит что файлы коэффициентов были неправильно рассчитаны. Либо отметки периодов (pitchmarks) съехали, либо были в записях промежутки абсолютной тишины. Надо проверить значения коэффициентов во всех mcep файлах.
                                нашёл nan в festival/trees/k_1_mcep.tree (встречается в одном файле один раз)

                                как исправить?

                                ./bin/make_pm_fix pm/*.pm
                                а затем
                                ./bin/do_clustergen mcep

                                ?
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (19) « Первая ... 12 13 [14] 15 16 ...  18 19 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0468 ]   [ 14 queries used ]   [ Generated: 15.09.25, 16:05 GMT ]