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

    The requested resource
    /festlang/festival-win-1.96b.7z
    is no longer available on this server and there is no forwarding address. Please remove all references to this resource.

    проверено (22.01.10 в 13.00 (GMT+02:00) Minsk)
    проверено (22.01.10 в 17.00 (GMT+02:00) Minsk)
    Сообщение отредактировано: antonbukov -
      кстати а как на счет capstral с русским ? будет работать ?
        Здравствуйте nsh!

        Спасибо за базу :)

        Скажите пожалуйста, ведется ли ее разработка в настоящее время?

        В рамках освоения кроссплатформенного программирования и библиотеки Qt, решил написать GUI для Festival. Необходимость простейшего GUI актуально уже исходя из использования UTF-8, т.к. эта кодировка усложняет использование компилированного Festival и вызывает вопросы у простых пользователей работающих под ОС Windows.

        В процессе разработки я столкнулся со следующим, символ ":" (и некоторые другие) при включении в текст, используемый для синтеза, приводит к сбою, т.е. синтез не производится. При просмотре msu_ru_nsh_lexicon.scm я заметил что есть следующие строки:
        строки из msu_ru_nsh_lexicon.scm
        ExpandedWrap disabled
          ;; Basic punctuation must be in with nil pronunciation
          (lex.add.entry '("." punc nil))
          (lex.add.entry '("'" punc nil))
          (lex.add.entry '(":" punc nil))
          (lex.add.entry '(";" punc nil))
          (lex.add.entry '("," punc nil))
          (lex.add.entry '("-" punc (((pau) 0))))
          ;(lex.add.entry '("-" punc nil))
          (lex.add.entry '("\"" punc nil))
          (lex.add.entry '("`" punc nil))
          (lex.add.entry '("?" punc nil))
          (lex.add.entry '("!" punc nil))
          (lex.add.entry '("--" punc (((pau) 0))))
        как я могу догадаться они "призывают" синтезатор никак не реагировать на перечисленные символы, либо организуют паузу. Однако,как я писал, символ ":" (и некоторые другие) приводят к сбою.

        Если в следующем блоке
        строки из msu_ru_nsh_lexicon.scm
        ExpandedWrap disabled
            ( [ - ] = - )
            ( [ "'" ] = - )
            ( [ "+" ] = "+" )
        добавить ( [ : ] = - ) проблема исчезает.

        Есть и еще несколько вопросов.
        1. Подскажите пожалуйста, какой командой подключить в Festival произвольный словарь ударений (например на основе msu_ru_nsh_dict.scm), если это возможно?
        2. Модуль голоса, который Вы разрабатываете, занимает приличный размер (порядка 200 MB). Вероятно это связано с хорошим качеством файлов записи речи, используемой для синтеза. Если эти файлы "пережать" с большей компрессией, будет ли работать Festival? Если да, может имеет смысл создать версию "лайт".
        3. Синтезирование речи занимает некоторое время. Ясно, что оно зависит от характеристик ПК, а что может еще влиять на это?

        Спасибо за ответы.
          Цитата
          Спасибо за базу :)


          На здоровье

          Цитата
          Скажите пожалуйста, ведется ли ее разработка в настоящее время?


          Да
          Цитата

          В рамках освоения кроссплатформенного программирования и библиотеки Qt, решил написать GUI для Festival. Необходимость простейшего GUI актуально уже исходя из использования UTF-8, т.к. эта кодировка усложняет использование компилированного Festival и вызывает вопросы у простых пользователей работающих под ОС Windows.


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

          Цитата
          В процессе разработки я столкнулся со следующим, символ ":" (и некоторые другие) при включении в текст, используемый для синтеза, приводит к сбою, т.е. синтез не производится. При просмотре msu_ru_nsh_lexicon.scm я заметил что есть следующие строки:
          строки из msu_ru_nsh_lexicon.scm

          1. ;; Basic punctuation must be in with nil pronunciation
          2. (lex.add.entry '("." punc nil))
          3. (lex.add.entry '("'" punc nil))
          4. (lex.add.entry '(":" punc nil))
          5. (lex.add.entry '(";" punc nil))
          6. (lex.add.entry '("," punc nil))
          7. (lex.add.entry '("-" punc (((pau) 0))))
          8. ;(lex.add.entry '("-" punc nil))
          9. (lex.add.entry '("\"" punc nil))
          10. (lex.add.entry '("`" punc nil))
          11. (lex.add.entry '("?" punc nil))
          12. (lex.add.entry '("!" punc nil))
          13. (lex.add.entry '("--" punc (((pau) 0))))

          как я могу догадаться они "призывают" синтезатор никак не реагировать на перечисленные символы, либо организуют паузу. Однако,как я писал, символ ":" (и некоторые другие) приводят к сбою.


          Это для отдельно-стоящих символов.

          Цитата
          Если в следующем блоке
          строки из msu_ru_nsh_lexicon.scm

          1. ( [ - ] = - )
          2. ( [ "'" ] = - )
          3. ( [ "+" ] = "+" )

          добавить ( [ : ] = - ) проблема исчезает.


          Да, так нужно сделать. Или даже лучше было бы изменить код чтобы неизвестные символы по умолчанию опускались.

          Цитата
          1. Подскажите пожалуйста, какой командой подключить в Festival произвольный словарь ударений (например на основе msu_ru_nsh_dict.scm), если это возможно?


          (lex.set.compile.file "file")

          Цитата
          2. Модуль голоса, который Вы разрабатываете, занимает приличный размер (порядка 200 MB). Вероятно это связано с хорошим качеством файлов записи речи, используемой для синтеза. Если эти файлы "пережать" с большей компрессией, будет ли работать Festival? Если да, может имеет смысл создать версию "лайт".


          Размер базы можно значительно уменьшить. Это несложная работа, требующая некоторого опыта написания программ.

          Цитата
          3. Синтезирование речи занимает некоторое время. Ясно, что оно зависит от характеристик ПК, а что может еще влиять на это?


          Неэффективная реализация алгоритмов синтеза.
            Спасибо за ответ!
            Возник еще один вопрос.
            SAPI это синтезатор речи от MS, поддерживает ли он "голоса" от Festival?

            Мой выбор пал на Festival по той причине, что хотелось использовать движок независящий от ОС. Ясно, что в этом случае не целесообразно использовать продукт MS ориентированный на Windows.
              Цитата
              SAPI это синтезатор речи от MS, поддерживает ли он "голоса" от Festival?


              SAPI это не синтезатор, а программный интерфейс (Speech Application Programming Interface). Этот интерфейс поддерживают многие синтезаторы - родной от Microsoft и все другие. Если синтезатор поддерживает этот интерфейс, им можно пользоваться во всех программах Windows.

              Независимость от ОС тут не при чём.
                не работает чтение из Firefox с помощью плагина Read2Me
                скачать сам плагин можно отсюда
                ftp://ftp.roedu.net/mirrors/mozdev.org/read2me/read2meFlite-1.7.2.xpi
                или отсюда
                http://read2me.mozdev.org

                LTS_Ruleset russian_downcase: no rule matches:
                LTS_Ruleset: # *here* 0 G 0 ; L = 0 O #


                с английским плагин прекрасно пашет, если забить на качество произношения ;)
                ожидается ли обновление?

                ArchLinux, FF3.6
                Сообщение отредактировано: candidatecandy -
                  > не работает чтение из Firefox с помощью плагина Read2Me

                  А при чём тут мы. Это в модуле Firefox ошибка, синтезатору посылается некорректный текст.
                    Цитата candidatecandy @
                    не работает чтение из Firefox с помощью плагина Read2Me
                    скачать сам плагин можно отсюда
                    ftp://ftp.roedu.net/mirrors/mozdev.org/read2me/read2meFlite-1.7.2.xpi
                    или отсюда
                    http://read2me.mozdev.org

                    LTS_Ruleset russian_downcase: no rule matches:
                    LTS_Ruleset: # *here* 0 G 0 ; L = 0 O #


                    с английским плагин прекрасно пашет, если забить на качество произношения ;)
                    ожидается ли обновление?

                    ArchLinux, FF3.6

                    Здравствуйте candidatecandy!
                    Скорее всего проблема состоит в том, что в тексте, который отправляется на чтение с русским голосом присутствуют символы, которые не определены в файле msu_ru_nsh_lexicon.scm. Можно попытаться отредактировать этот фаил так, как я писал несколько выше говоря о ":".
                    Сообщение отредактировано: GrandPeter -
                      Всем доброго дня!

                      Я немного в растерянности и не знаю куда обратиться за помощью, так что решил отписаться в этой теме =)

                      В общем ситуация такая: есть задача сделать синтез речи казахского языка и есть не очень то хорошее знание английского языка.

                      Что я смог: скомпилировал и настроил в Debian всё необходимое для синтеза речи, проверил на базе описанной в этом посте, всё работает прекрасно...

                      Начал читать документацию по адресу http://festvox.org/bsv, но как то у меня совсем плохо с её пониманием... =(

                      Четвертая глава там заканчивается сразу извлечением неких pitchmarks из wav файлов, которые как я понял уже разобраны по предложениям. А я как-то застрял сейчас на шаге "Ага, у меня есть mp3 с голосом!".

                      В общем если не составит труда, прошу либо дать ссылку на что-либо более понятное, либо объяснить в двух словах почему я дурак и что именно я упустил из виду читая документацию.
                        Здравствуйте nsh!

                        В блоке msu_ru_addenda файла msu_ru_nsh_lexicon.scm имеются строки
                        ExpandedWrap disabled
                          ;;; Symbols ...
                          (lex.add.entry
                           '("*" nil ( ((u) 0) ((m n o) 1) ((zh i tt) 0) )))
                          (lex.add.entry
                           '("%" nil ( ((p r o) 1) ((c e n t) 0) )))

                        Как я догадываюсь они должны заставить festival озвучить символы "*" и "%". Однако, когда я пишу "%1" или "%" получаю сообщение об ошибке
                        ExpandedWrap disabled
                          LTS_Ruleset russian_downcase: no rule matches:
                          LTS_Ruleset: # *here* % 1 #
                          -=-=-=-=-=- EST Error -=-=-=-=-=-
                          {FND} Feature Wave not defined
                           
                          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


                        Зато если вбить в блоке
                        lts.ruleset
                        russian_downcase


                        следующую строку
                        ExpandedWrap disabled
                          ( [ "*" ] = "*" )


                        festival начинает произносить отдельно стоящую "*" как "умножить". Но если этот знак встречается в последовательности символов, например, "*1" появляется ошибка.

                        Из-за чего ошибка?
                          Цитата
                          Из-за чего ошибка?


                          ExpandedWrap disabled
                            ( [ "*" ] = "*" )

                          Дальшето как эту звёздочку читать? Надо

                          ExpandedWrap disabled
                            ( [ "*" ] = у м н о ж и т ь )
                            Цитата nsh @
                            Цитата
                            Из-за чего ошибка?


                            ExpandedWrap disabled
                              ( [ "*" ] = "*" )

                            Дальшето как эту звёздочку читать? Надо

                            ExpandedWrap disabled
                              ( [ "*" ] = у м н о ж и т ь )


                            в том то и дело, что произношение прописано в msu_ru_addenda

                            ExpandedWrap disabled
                              ;;; Symbols ...
                              (lex.add.entry
                               '("*" nil (((u) 0) ((m n o) 1) ((zh i tt) 0) )))


                            и если произнести через пробел "* 1" слышим "умножить адин", если без пробела - то ошибка.
                              Цитата
                              в том то и дело, что произношение прописано в msu_ru_addenda


                              Это только для отдельностоящих слов. Символы внутри слова обрабатываются по правилам, а не по словарю.
                                Цитата nsh @
                                Цитата
                                в том то и дело, что произношение прописано в msu_ru_addenda


                                Это только для отдельностоящих слов. Символы внутри слова обрабатываются по правилам, а не по словарю.

                                Я правильно понимаю, что если правило для символа прописано только в "msu_ru_addenda" - то оно должно читаться для отдельно стоящего символа, а если прописано в "lex.add.entry" то читается во всех случаях: и при вхождении в состав слова, и будучи написано раздельно?

                                Этот вопрос задаю от того, что пытаюсь сделать озвучку для символов, но не во всех случаях, а только когда он указан отдельно. Если же он входит в состав слова - то его не надо произносить. Как ни читаю описание Festival науку сею постичь не могу.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (19) « Первая ... 8 9 [10] 11 12 ...  18 19 все


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