На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
  
> Новая база для синтеза речи , и голос для festival
    Выложил новую базу для синтеза речи. Два часа сбалансированного текста, записанного в студии диктором радио. База размечена автоматически и созданы голоса для Festival, вот образец синтеза:

    http://nshmyrev.narod.ru/temp/example.wav

    Скачать всё можно как обычно:

    http://download.berlios.de/festlang/msu_ru_nsh_clunits-0.5.tar.bz2 (200 Mb)

    Пока ещё осталось много направлений работы. Присоединяйтесь!
    Сообщение отредактировано: nsh -
      Я, к сожалению, пока с festival плохо знаком. Поясните как эта база в нём используется для синтеза.
        Ну как из базы выбираются куски с учётом двух функций - target cost (соответствие куска тому, что нужно синтезировать) и join cost (соответствие куска соседним кускам, выбранным из базы). Потом всё склеивается и получается синтезированный звук.

        Подробнее об этом можно почитать в докуменации по Festival и в книжках, например в Spoken Language Processing (на dsp-book.narod.ru)
        Сообщение отредактировано: nsh -
          Вот исправил кучу ошибок в базе, кое-где ударения проставил, транскрипцию обновил, сравните:

          http://nshmyrev.narod.ru/temp/example2.wav
            nsh
            Следущее предложение:"Присылайте пожелания и предложения." из http://nshmyrev.narod.ru/temp/example2.wavклассно звучит. Вообще убрать щелчки, спотыкачки и будет , пожалуй, лучше мультимедийного Коли!
              Ну так чтобы убрать спотыкачки, ручная разметка нужна. Она занимает 10 минут где-то одно предложение, а всего их 600. Сами посчитайте, сколько мне сидеть размечать.
                А я думал, всё в авторежиме идёт. Значит ещё работать и работать...
                  Отличный синтез!!!

                  Напомни, где написано, как эту базу подключать к стандартному festival'ю.
                    Установить 1.96. Распаковать в lib/voices/ru вместе с другими голосами. Запустить. Текст в кодировке utf-8.
                      В Debian Etch 4.0 есть такая версия:
                      rad@nemo:~$ festival --version
                      festival: Festival Speech Synthesis System: 1.4.3:release Jan 2003

                      Непонятно, что они имеют в виду цифрами 1.4.3.
                        На сайте http://www.cstr.ed.ac.uk/projects/festival/ написано, что у них есть только beta version of 2.0 (labelled 1.95-beta).
                        Что за версия 1.96? Можно ли голос сконвертировать на 1.4.3?
                          to nsh:
                          Вобще мне нравится фестивальный подход, он, наверное, действительно более перспективный в плане улучшения качества речи.
                          Однако чтобы разобраться в нём нужно потратить достаточно много времени, чтобы помогать вам его развивать.
                          Я два раза скачивал систему, но так и не решился в ней разобраться. Что-то отпугивало. Незавершенность какая-то чтоли...


                          Вы не обидитесь, если я приведу здесь для народа примеры аналогичной фразы моего синтезатора для сравнения
                          (три голоса, не бесплатный синтезатор, но пока и не платный, просто экспериментальный)?

                          фраза создается целиком автоматически из грамматического текста:

                          voice 0
                          voice 1
                          voice 2
                          Сообщение отредактировано: Iskanderus -
                            Синтез от nsh несравненно лучше. Без обид.
                            А насчёт замороченности festival, тут добавить ничего нельзя.
                            Вчера я попробовал засунуть голос от nsh в festival 1.4.3. Попробовал по структуре каталогов понять, куда это можно там "присобачить". Неполучилось.
                            nsh, тебе надо написать небольшую статью, что там да как делать.
                              насколько я понимаю, nsh разметил вручную только часть сэмплов, в основном только те, которые относятся к данной фразе?
                              получается,что звуки в последних двух словах идеально сочетаются.
                              У меня было такое: когда отлаживаешь на какойнибудь фразе - на ней звучит очень хорошо, а когда потом эти сэмплы (дифоны, куски или как там их называть) компилируются в другой фразе - слышаться не совсем естесственно. Возможно такое в фестивале?
                              Или благодаря этим функциям target cost и join cost подбираются самые оптимальные по весу куски из базы?
                                Цитата
                                насколько я понимаю, nsh разметил вручную только часть сэмплов, в основном только те, которые относятся к данной фразе?


                                Вы не совсем верно поняли, вернее совсем неверно.

                                Цитата
                                У меня было такое: когда отлаживаешь на какойнибудь фразе - на ней звучит очень хорошо, а когда потом эти сэмплы (дифоны, куски или как там их называть) компилируются в другой фразе - слышаться не совсем естесственно. Возможно такое в фестивале?
                                Или благодаря этим функциям target cost и join cost подбираются самые оптимальные по весу куски из базы?


                                Куски подбираются из базы оптимальные по минимальной ценовой функции, поэтому ошибки хоть и возможны, их не так много

                                Цитата
                                Вчера я попробовал засунуть голос от nsh в festival 1.4.3. Попробовал по структуре каталогов понять, куда это можно там "присобачить". Неполучилось.
                                nsh, тебе надо написать небольшую статью, что там да как делать.


                                Нужна более новая версия festival-1.96. Скачиваем следующие файлы:

                                http://www.speech.cs.cmu.edu/awb/fftest/speech_tools-1.2.96-beta.tar.gz

                                http://www.speech.cs.cmu.edu/awb/fftest/festival-1.96-beta.tar.gz

                                http://www.speech.cs.cmu.edu/awb/fftest/festlex_CMU.tar.gz

                                http://www.speech.cs.cmu.edu/awb/fftest/festlex_POSLEX.tar.gz

                                http://www.speech.cs.cmu.edu/awb/fftest/festvox_kallpc16k.tar.gz

                                Распаковываем в один каталог. Делаем следующие команды:

                                cd speech_tools
                                ./configure
                                make
                                cd ../festival
                                ./configure
                                make

                                Переходим в каталог festival/lib/voices
                                Создаём каталог ru

                                Кладём туда msu_ru_nsh_clunits-0.4.tar.gz, распаковываем

                                Переходим в каталог festival/bin

                                Делаем текст в кодировке utf-8 в файле test.txt

                                Запускаем ./festival

                                Пишем

                                (voice_msu_ru_nsh_clunits)

                                (tts_file "test.txt" nil)

                                Слушаем результат синтеза
                                  Собирается минут за 10 и отлично работает. А как это дело вызывать из консоли, чтобы на scheme не писать команды в интерпретаторе?

                                  Да и большой файл (книжку с fictionbook.ru, около 500КБ) прочитать не может:

                                  ExpandedWrap disabled
                                    festival> (tts_file "/home/rad/tmp/text.txt" nil)
                                    LTS_Ruleset russian_downcase: no rule matches:
                                    LTS_Ruleset: # *here*       . . . Ф у н д а м е н т а л ь н о е #
                                    closing a file left open: /home/rad/tmp/text.txt
                                    festival>


                                  Попробовал почитать документацию :)
                                  ExpandedWrap disabled
                                    rad@nemo:~/development/festival/build/festival/bin$ ./festival --language ru --tts ~/tmp/test.txt
                                    "Unsupported language, using English"
                                    SIOD ERROR: unbound variable : voice_rab_diphone
                                    festival: fatal error exiting.
                                    rad@nemo:~/development/festival/build/festival/bin$ ./festival --language Russian --tts ~/tmp/test.txt
                                    "Unsupported language, using English"
                                    SIOD ERROR: unbound variable : voice_rab_diphone
                                    festival: fatal error exiting.
                                    rad@nemo:~/development/festival/build/festival/bin$ ls ../lib/voices
                                    english  ru
                                    rad@nemo:~/development/festival/build/festival/bin$ ls ../lib/voices/ru/
                                    msu_ru_nsh_clunits
                                    rad@nemo:~/development/festival/build/festival/bin$ ./festival --language msu_ru_nsh_clunits --tts ~/tmp/test.txt
                                    "Unsupported language, using English"
                                    SIOD ERROR: unbound variable : voice_rab_diphone
                                    festival: fatal error exiting.
                                    Цитата
                                    LTS_Ruleset: # *here* . . . Ф у н д а м е н т а л ь н о е #


                                    Тут дело не в размере файла а в том, что там слишком много не совсем правильных слов. Эту ошибку можно будет исправить в дальшейших версиях, пока же нужно просто это слово стереть. Здесь ему не нравятся точки в начале слова.

                                    Цитата
                                    Unsupported language, using English"


                                    Можно что-то в духе

                                    festival -b '(begin (voice_msu_ru_nsh_clunits) (tts_file "a.txt" nil))'

                                    Вместо интерпретатора использовать.
                                      Понял. Спасибо.

                                      Если напишешь как тебе можно помочь с разметкой в русском языке и как изменения от разных добровольцев будут объединяться, думаю народ поможет.
                                        Как помочь, скачиваете базу, скачиваете Wavesurfer. Открываете файл .wav и делаете загрузку транскрипций из файла .lab. Исправляете транскрипцию, сохраняете. Присылаете мне исправленные файлы .lab.
                                          Фестиваль только для линукса?
                                            Нет, можно и под win использовать, скачав:

                                            http://www.cs.dal.ca/~lalita/festival/win32/festival_1.95-beta_win32.zip

                                            Полное руководство по сборке тут:

                                            http://flame.cs.dal.ca/~lalita/festival/festivalXP.htm

                                            Можно ещё использовать cygwin или поставить linux в виртуальной машине vmware. В целом как-то надо сделать вариант с поддержкой SAPI, но руки не доходят.
                                            Сообщение отредактировано: nsh -
                                              nsh
                                              Цитата nsh @
                                              Как помочь, скачиваете базу, скачиваете Wavesurfer. Открываете файл .wav и делаете загрузку транскрипций из файла .lab.

                                              То есть вы хотите сказать, что в принципе можно каким то образом довести качество до вашего образца, чтобы голос в авторежиме так наговаривал? И насколько это реально по времени? Жалко, что я не спец и не в линуксе.
                                                Еще раз, то что я выложил и есть автоматический режим. Rad может подтвердить. Ручной разметкой можно довести качество до натуральной речи.

                                                А размечать не сложно, попробуйте.
                                                  nsh
                                                  Но тогда какой смысл размечать вручную, если, например, хочешь послушать книжку? А есть что то вроде внутреннего корректируемого словаря ударений как у мультимедийного Коли? Плиз, выложите ещё один образец сложного предложения без ручной размётки.
                                                    http://nshmyrev.narod.ru/temp/example3.wav
                                                      А где можно ознакомиться с правилами транскрипции?
                                                        Правила транскрипции описаны в файле festvox/msu_ru_nsh_lexicon.scm. Они основываются на работе Л.М. Захарова - http://www.philol.msu.ru/~otipl/SpeechGroup/publications/2004/z-4.doc. Ещё можно прочесть книжку по фонетике - Бондарко тут выложена, например.

                                                        В целом же нужно исправлять границы фонем, а не саму транскрипцию. Разве что ударения исправить иногда.
                                                          щелчки можно убирать автоматически, несложная функция

                                                          я так понимаю, ручное исправление - один раз откорректированная база звуков справедлива для любого текста (как и скорректированный словарь ударений),
                                                          а то может сложиться представление, что для каждой фразы нужно ее править вручную, чтоб звучала хорошо
                                                          Сообщение отредактировано: Iskanderus -
                                                            Ты имеешь в виду, разбивку поправить автоматом, или на созданном wav функцию прогнать?
                                                              разбивку поправить


                                                              to nsh:
                                                              вас не затруднит в двух словах описать принцип, по которому в фестивале происходит разбивка наговорённых файлов на элементы транскрипции? распознавание?
                                                              Сообщение отредактировано: Iskanderus -
                                                                Ну, вобщем, да. Тренируются модели и они выдают первоначальную разметку. Не всегда оптимальную, конечно.
                                                                  Доброго времени суток!
                                                                  на сайте
                                                                  http://download.berlios.de/festlang/
                                                                  есть примеры синтеза, самый качественный -
                                                                  russian_cl_urp.wav - кластерный синтез с помощью базы urp.
                                                                  однако нигде не нашел, чтоб попробовать, не подскажете, где?
                                                                  скачал msu_ru_nsh_clunits-0.4.tar.gz, но это совсем не то...
                                                                  заранее спасибо!
                                                                    В смысле, это оно и есть.

                                                                    Добавлено
                                                                    Неужели по голосу не слышно ;)
                                                                      поковырялся, разобрался что не так сделал...
                                                                      неплохо, хотя до совершенства, конечно, далеко, часто делает ошибки в словах, причем в сложных. например такое предложение произносит с трудом:

                                                                      К концу октября стада усатых китов и кашалотов начинали миграцию в экваториальную зону. Их принимали малайские и индонезийские базы, а работники Океанской охраны Курильско-Камчатско-Алеутского пояса уходили в отпуск, или занимались любительским патрулированием, или помогали океанологическим и океанографическим экспедициям.

                                                                      как будто из слов буквы повыкидывал и пытается сказать...
                                                                      что интересно, ошибки делает там, где, например неопытный читатель будет делать.
                                                                      может будет эффективней создать БД на несколько десятков тысяч слов (например со словаря взять) с ударениями и транскрипцией и использовать его?

                                                                      иногда не произносятся отдельно стоящие буквы. слово "черная" надо задавать как "чорная", иначе неправильно произносить будет...

                                                                      в общем еще дорабатывать нада...
                                                                      чем могу помочь?

                                                                      и как обстоят дела в распознавании? можно ли научить распознавать Сфинкс три тысячи русских слов?
                                                                        Цитата
                                                                        иногда не произносятся отдельно стоящие буквы


                                                                        Это проблемы с разметкой, смотрите выше.

                                                                        Цитата
                                                                        слово "черная" надо задавать как "чорная", иначе неправильно произносить будет...


                                                                        Модуль расстановки ё отсутствует пока.

                                                                        Цитата
                                                                        может будет эффективней создать БД на несколько десятков тысяч слов (например со словаря взять) с ударениями и транскрипцией и использовать его?


                                                                        Вобщем-то так и сделано, сейчас используется словарь на 180000 слов. Но как бы в русском языке их немного больше :). Надо в целом прикрутить систему русской морфологии с http://aot.ru

                                                                        Цитата
                                                                        чем могу помочь?


                                                                        Ну вроде вы и сами наметили круг задач. Хотя мне сейчас коррекция разметки актуальнее. Надо попробовать натренировать модель с HTK с начальной ручной разметкой. Может быть лучше будет гораздо. Сейчас почему-то гласные слишком короткие, а согласные слишком длинные.

                                                                        Цитата
                                                                        и как обстоят дела в распознавании? можно ли научить распознавать Сфинкс три тысячи русских слов?


                                                                        Можно, почему нельзя. Смотрите тему База данных для распознавания, скачивайте модель с http://voxforge.org, присылайте записи голоса для базы.
                                                                          С английским норм работает, а вот с русским такая проблема:

                                                                          festival> (tts_file "1.txt" nil)
                                                                          LTS_Ruleset russian_downcase: no rule matches:
                                                                          LTS_Ruleset: # � *here* � � p r i v e t #
                                                                          closing a file left open: 1.txt

                                                                          Текстовый фаил в формате UTF-8.

                                                                          Не подскажете в чем может быть проблема ?

                                                                          Вот сам фаил 1.txt:

                                                                          privet

                                                                          привет
                                                                          Сообщение отредактировано: Mentis -
                                                                            Точку перед privet уберите. Это что, UTF BOF? Его не нужно.
                                                                              Никакой точки там нет. Текст в UTF-8. Может я что то недоустановил ?
                                                                                В UTF-8 текстах иногда встречается заголовок, называющийся BOF (Beginning of the file, код 0xFF 0xBF по-моему), некоторые редакторы делают его, а некоторые позволяют его удалять. Удалите этот заголовок, пожалуйста.

                                                                                Добавлено
                                                                                На худой конец попробуйте распаковать файло отсюда:

                                                                                http://nshmyrev.narod.ru/temp/test.zip
                                                                                  Правильнее будет указать festival'ю, что этот заголовок можно не учитывать.
                                                                                    Все спасибо =) Разобрался.
                                                                                      Цитата nsh @
                                                                                      Выложил новую базу для синтеза речи. Два часа сбалансированного текста, записанного в студии диктором радио. База размечена автоматически и созданы голоса для Festival, вот образец синтеза:

                                                                                      http://nshmyrev.narod.ru/temp/example.wav

                                                                                      Скачать всё можно как обычно:

                                                                                      http://download.berlios.de/festlang/msu_ru_nsh_clunits-0.4.tar.gz (200 Mb)

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

                                                                                      А кто делал эту базу? И с помощью чего она автоматически размечалась?
                                                                                        Цитата nsh @
                                                                                        Правила транскрипции описаны в файле festvox/msu_ru_nsh_lexicon.scm.

                                                                                        Поясните, пожалуйста, где этот файл находится?
                                                                                          в архиве с голосом
                                                                                            Цитата nsh @
                                                                                            Выложил новую базу для синтеза речи. Два часа сбалансированного текста, записанного в студии диктором радио. База размечена автоматически и созданы голоса для Festival, вот образец синтеза:

                                                                                            http://nshmyrev.narod.ru/temp/example.wav

                                                                                            Скачать всё можно как обычно:

                                                                                            http://download.berlios.de/festlang/msu_ru_nsh_clunits-0.4.tar.gz (200 Mb)

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

                                                                                            Скажите, пожалуйста, а имеется ли список всех предложений, которые читает диктор? Или хотя бы части.
                                                                                            Если есть, будьте добры, выложить.
                                                                                              Список предложений находится в архиве с голосом в файле etc/txt.done.data Это текстовый файл в кодировке UTF-8.
                                                                                                Пересчитал базу кстати, поправил кучу ошибок и поддержку всяких возможностей, вроде автоопределение ё по словарю добавил. Новый пример:

                                                                                                http://nshmyrev.narod.ru/temp/example_mod.wav

                                                                                                Обновление:

                                                                                                http://www.mediafire.com/?txmdn9ud2oj

                                                                                                (распаковывается поверх старых данных)
                                                                                                  Ну треск и заикания понятно от чего. А чем объясняется довольно сильный металлический оттенок? Синтез же вроде компилятивный или нет?
                                                                                                    Знал бы исправил :) На самом деле там довольно примитивная склейка идёт с окном и скорее всего ещё куча ошибок в проге.

                                                                                                    Добавлено
                                                                                                    Хотя кстати немного металла в оригинальном голосе диктора есть, но, конечно, не на столько много.
                                                                                                      Цитата nsh @
                                                                                                      Обновление:

                                                                                                      http://www.mediafire.com/?txmdn9ud2oj

                                                                                                      (распаковывается поверх старых данных)

                                                                                                      Могу организовать постоянный сайт.
                                                                                                      Кидаешь в меня по почте, я оперативно выкладываю и отдаю ссылку.
                                                                                                        Посмотрел новую версию, в общем прогресс налицо.
                                                                                                        Самое заметное из улучшений:
                                                                                                        - стал читать союзы, раньше их пропускал.
                                                                                                        - отличает букву ё
                                                                                                        Не поправили:
                                                                                                        - Щелчки
                                                                                                        - Не равномерная скорость чтения, некоторые куски буквально тараторит, некоторые немного тянет
                                                                                                        - Не регулируется скорость и тембр голоса (если тембр не регулируется и бог с ним, то скорость я бы хотел поставить побольше)

                                                                                                        Пожелания:
                                                                                                        - Жаль что его нельзя включить параллельно со старой версией (только переименовывать папку), сравнивать трудно
                                                                                                        - Может всетаки сделать простенький сайт куда выкладывать новости о выходе версий
                                                                                                          Спасибо за замечания!

                                                                                                          Цитата

                                                                                                          - Не равномерная скорость чтения, некоторые куски буквально тараторит, некоторые немного тянет


                                                                                                          Пример текста приведите пожалуйста, я посмотрю, в чём там дело.

                                                                                                          Цитата
                                                                                                          Не регулируется скорость и тембр голоса (если тембр не регулируется и бог с ним, то скорость я бы хотел поставить побольше)


                                                                                                          Это важный недостаток используемого метода синтеза. Ведётся работа в этом направлении.

                                                                                                          Цитата

                                                                                                          - Может всетаки сделать простенький сайт куда выкладывать новости о выходе версий


                                                                                                          Сайт есть: http://developer.berlios.de/projects/festlang. Эта версия там не лежит, потому что она предварительная. Для вас, разработчиков так сказать.
                                                                                                          Сообщение отредактировано: nsh -
                                                                                                            2nsh
                                                                                                            Добрый день!
                                                                                                            Хорошее дело задумали, но что-то в форуме мало сообщений.
                                                                                                            Никому не интересно?

                                                                                                            Поставил русский голос на FreeBSD 7.0.
                                                                                                            И чудо! - работает :)

                                                                                                            Повесил произношение на некоторые системные события (KDE).

                                                                                                            Нашёл небольшой баг - при произношении фразы "Получена новая почта", слово "почта" произносится как бы из двух частей, и последняя часть с небольшим запаздыванием.

                                                                                                            Вернее даже так "почаата"
                                                                                                            Сообщение отредактировано: AlexVPetrov -
                                                                                                              Спасибо, есть такая ошибка. Попробую её исправить и новую версию выложить в ближайшие дни.
                                                                                                                Установил Фестиваль на Убунту. Запихнул словарь в /usr/share/estival/voice/ru

                                                                                                                Получаю вот такую ошибку

                                                                                                                festival> (voice_msu_ru_nsh_clunits) (tts_file "/home/mikhail/txt.done.data" ni
                                                                                                                l)
                                                                                                                msu_ru_nsh_clunits
                                                                                                                LTS_Ruleset russian_downcase: no rule matches:
                                                                                                                LTS_Ruleset: # *here* ( #
                                                                                                                closing a file left open: /home/mikhail/txt.done.data
                                                                                                                festival>

                                                                                                                Файл не трогал. При вызове (SayText "файл") получаю фэйл.
                                                                                                                Чуствую, что где то, что то не там лежит.
                                                                                                                Сегодня ковырятся времени нет, буду завтра вечером, если подскажете что буду признателен.

                                                                                                                Про фестивал первый раз прочитал час назад.
                                                                                                                  Цитата
                                                                                                                  (tts_file "/home/mikhail/txt.done.data" nil)


                                                                                                                  В файле что лежит-то? Попробуйте сначала текст без лишних знаков препинания и т.д. Только из букв в кодировке utf-8.

                                                                                                                  (tts_file "test.txt" nil)

                                                                                                                  Цитата
                                                                                                                  (SayText "файл") получаю фэйл.


                                                                                                                  Чего получаете, не понял?
                                                                                                                    С файлом я действительно намудрил, когда оставил одну фразу, все прочиталось.
                                                                                                                    Но когда вызываю (SayText "файл") он читает букву 'а' как 'э', типа на английском
                                                                                                                    Выглядит это так
                                                                                                                    festival> (SayText "файл")
                                                                                                                    pau f aa j l pau
                                                                                                                    #<Utterance 0xb77c5178>
                                                                                                                    festival>
                                                                                                                      Цитата
                                                                                                                      Но когда вызываю (SayText "файл") он читает букву 'а' как 'э', типа на английском


                                                                                                                      Хм, да, и такая ошибка тоже есть. Исправим в скором времени. Если ещё наткнётесь на не очень удачно читаемые слова - сообщайте пожалуйста.
                                                                                                                        Добрый день!
                                                                                                                        Скажите, что значит сделать разметку текста, и как это делается? Можно ли исправить ударения и произношения в некоторых словах, если можно то как это сделать (в каких файлах что исправить)?
                                                                                                                          Цитата
                                                                                                                          Скажите, что значит сделать разметку текста, и как это делается?


                                                                                                                          Скачиваете программу WaveSurfer, в файлах кладёте вместе wav файл и lab файл, открываете файл в wavesurfer. Выбираете режим транскрипции, исправляете границы и сохраняете. Новые lab файлы присылаете мне. Выглядит это так:

                                                                                                                          http://www.speech.kth.se/wavesurfer/man.html#tran

                                                                                                                          Цитата
                                                                                                                          Можно ли исправить ударения


                                                                                                                          Можно, слова нужно занести в словарь.

                                                                                                                          Цитата
                                                                                                                          и произношения в некоторых словах


                                                                                                                          С произношением сложнее, скорее всего произношение это проблемы разметки, но нужно смотреть в каждом конкретном случае отдельно. Какие слова или, точнее, фразы произносятся неверно? Надо бы составить список в десяток фраз, потом можно будет им заняться. Пока у нас в списке только "файл".
                                                                                                                            Скажите как сгенерировать wav файл русской речи? Дело в том, что Festival при генерации wav файла из txt файла с русским текстом произносит только числительные на английском языке. При этом с воспроизведением русского текста из txt файла никаких проблем не возникает.
                                                                                                                              Цитата
                                                                                                                              Дело в том, что Festival при генерации wav файла из txt файла с русским текстом произносит только числительные на английском языке. При этом с воспроизведением русского текста из txt файла никаких проблем не возникает.


                                                                                                                              Если Вы о text2wave, нужно добавить -eval '(voice_msu_ru_nsh_clunits)' или добавить эту строчку в festival/lib/siteinit.scm.
                                                                                                                                Спасибо!wav файл с русской речью получил.

                                                                                                                                Цитата
                                                                                                                                Скачиваете программу WaveSurfer, в файлах кладёте вместе wav файл и lab файл, открываете файл в wavesurfer.


                                                                                                                                wav файл я сгенерировал, а где мне для него взять файл транскрипций - *.lab
                                                                                                                                  Цитата
                                                                                                                                  wav файл я сгенерировал, а где мне для него взять файл транскрипций - *.lab


                                                                                                                                  Файлы не нужно генерировать. Они лежат в подкаталоге скачанного голоса wav. Файлы с метками .lab лежат в подкаталоге lab.
                                                                                                                                    Если я правильно вас понял, то последовательность правильных действий для разметки текста такова:

                                                                                                                                    1) Имеем txt файл с отрывком, который необходимо воспроизвести.

                                                                                                                                    2) Для этого генерируем wav файл из нашего txt файла и слушаем, что нас в нем не устраивает. А именно: какие буквы(звуки) произносятся не так как нам хотелось бы.

                                                                                                                                    3) Для этого нам нужно в программе WaveSurfer разметить этот wav файл. Такая разметка нужна для того, чтобы узнать какие звуки нас не устраивают.

                                                                                                                                    4) После того, как выяснили какие звуки (буквы или дифоны) нас не устраивают, открываем какой-нибудь(или все?) файлы из каталога /festival/lib/voices/ru/msu_ru_nsh_clunits/wav в WaveSurfer с соответствующим lab файлом. Находим нужный звук и меняем его продолжительность. Пересохраняем lab файл и заново воспроизводим наш отрывок из txt файла.

                                                                                                                                    Неужели это правда так? Если так, то это довольно сложно!
                                                                                                                                    Я думал, что при создании нашего wav файла, должен генерироваться соответствующий lab файл и меняя границы в этом lab файле программой WaveSurfer изменялся бы и wav файл. Тогда можно было бы легко и просто изменять длительность некоторых звуков прямо из программы WaveSurfer.

                                                                                                                                    Скажите как все-таки правильно?
                                                                                                                                      Цитата
                                                                                                                                      Если я правильно вас понял, то последовательность правильных действий для разметки текста такова:


                                                                                                                                      Нет, не так. Размечать нужно всё подряд из каталога wav, по порядку и методично. Искать отдельные звуки не оптимально, потому что после исправления в одном месте ошибка вылезет в другом. Берём файл, скажем, ru_0100, смотрим на каждый звук и подправляем границу, чтобы она точно указывала на границу звука. И так для всех звуков из файла. Затем сохраняем результат.
                                                                                                                                        Цитата
                                                                                                                                        Нет, не так. Размечать нужно всё подряд из каталога wav, по порядку и методично.

                                                                                                                                        Получается, что это еще сложнее чем я думал! wav файлов в каталоге-844. Для кажого wav файла есть lab файл, в котором указаны как я понял длительности различных звуков (~300 или 500 примерно). Это что получается, что нужно подправить около 844*500=422 000 звуков????????

                                                                                                                                        Допустим у меня есть выражение ""Внимание, на установке АВТ 6 неисправны агрегаты с номерами №1 №2 №456". Не корректно произносятся имя устанвки АВТ 6 (оно как то проглатывается)(писал по разному и АВЭТЭ и АВЫТЭ- звук А очень короткий), у слова агрегаты ударение падает на букву Ы. Как мне это исправить?
                                                                                                                                        Мне что для этого нужно всю базу звуков подправить? все 422 000 звуков??? Ведь мне то нужно исправить только в одной фразе!
                                                                                                                                          Во всей базе 50000 звуков, а не 40000. По 10 минут на файл - 2 месяца работы :)

                                                                                                                                          Отдельную фразу поправить не так легко, но я посмотрю.

                                                                                                                                          Добавлено
                                                                                                                                          По поводу АВТ, нужно что-то вроде

                                                                                                                                          +АВЫТ+Э
                                                                                                                                            Да, конечно очень много работы! Желаю вам успехов в этом деле!
                                                                                                                                            Я так понимаю, что синтезатор речи Festival сделан на основе художественной литературы, поэтому он и будет лучше воспроисводить художественный текст. А мне нужен синтезатор, который бы хорошо воспроизводил технический текст (специфические имена установок, числительные). Может быть вы знаете такие продукты для Unix систем? Все что я смог найти по этой теме сводится к тому, что качество Festival на данный момент лучшее из все систем синтеза речи для Unix систем.
                                                                                                                                            Попробовал написать +АВЫТ+Э. При этом основная проблема в том, что первый звук А проглатывается, или проговаривается как то отрывисто и быстро, следующие звуки тоже говорятся как то быстро, так что при прослушивании не понимаешь, что за имя установки произнесено. Хотелось бы что бы это имя произносилось размеренно и плавно, по сути нужно просто сказать А, Вэ, Тэ.
                                                                                                                                            Скажите а чтобы исправить ударения, нужно тоже всю базу звуков перебирать? или можно как то попроще сделать?
                                                                                                                                              to Igor730
                                                                                                                                              Вы имеете в виду лучшее качество из свободного ПО? Вам принципиально бесплатное?
                                                                                                                                              Open Source обычно всегда предполагает необходимость доработки "под себя".
                                                                                                                                              Другое дело доработка бывает либо сложной, либо простой. В данном случае тема наукоёмкая.

                                                                                                                                              Есть системы попроще настраиваемые, но синтезированный голос звучать будет более механически.

                                                                                                                                              Если ваш браузер поддерживает тег <BGSOUND> можете послушать АВэТэ
                                                                                                                                              http://www.bgpu.ru/lit/files/avete.html

                                                                                                                                              там есть java апллет http://www.bgpu.ru/lit/files/sintese/appletic/sintese.html , но он цифры не понимает, напишите там "АВэ"Тэ
                                                                                                                                              Сообщение отредактировано: Iskanderus -
                                                                                                                                                Может завести какой нибудь сорс контроль для лабов, а то жалко если над одним и тем же файлов будут несколько человек работать. Я, конечно, понимаю, что пока один человек только трудится, но вдруг кто начнет помогать
                                                                                                                                                  Цитата
                                                                                                                                                  Может завести какой нибудь сорс контроль для лабов, а то жалко если над одним и тем же файлов будут несколько человек работать. Я, конечно, понимаю, что пока один человек только трудится, но вдруг кто начнет помогать


                                                                                                                                                  Спасибо за предложение, файлы разметки и база давно доступна и в системе хранения версий на voxforge.org.
                                                                                                                                                    Не совсем я понял, где там версии лабов лежал. Хотел посмотреть пример файла до разметки и после. Пытался послушать , ну чтоы помочь размечать, так и не понял, что хорошо, а что плохо, хотя медмедьмне по ушам не гулял. Например в 418 слово 'дверь' странно звучит, а в 13 нормально, транскрипция выглядит одинаково d vv ee r. Вообщем без ликбеза по разметке, врядли помочь смогу, это еще с учетом незнания правил транскрипции.
                                                                                                                                                      Цитата
                                                                                                                                                      Не совсем я понял, где там версии лабов лежал.


                                                                                                                                                      http://www.dev.voxforge.org/projects/Russian/browser/Trunk/Audio/Original/16kHz_16bit/urp

                                                                                                                                                      Цитата
                                                                                                                                                      ну чтоы помочь размечать, так и не понял, что хорошо, а что плохо, хотя медмедьмне по ушам не гулял.


                                                                                                                                                      Вы меня не совсем правильно поняли. Нужно не звуки отмечать, а границы звуков. Например, сейчас в ru_0003 начало такое:

                                                                                                                                                      #
                                                                                                                                                      0.41200 125 pau
                                                                                                                                                      0.53200 125 s
                                                                                                                                                      0.56200 125 ay
                                                                                                                                                      0.64200 125 s
                                                                                                                                                      0.74200 125 p

                                                                                                                                                      а на деле оно должно быть таким:

                                                                                                                                                      #
                                                                                                                                                      0.429754 125 pau
                                                                                                                                                      0.520118 125 s
                                                                                                                                                      0.576858 125 ay
                                                                                                                                                      0.652512 125 s

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

                                                                                                                                                      Добавлено
                                                                                                                                                      И начните с простого, пошлите запись своего голоса в базу voxforge :)
                                                                                                                                                        to Iskanderus

                                                                                                                                                        Прослушал пример синтеза. Конечно, услышать то чего хотелось не удалось.
                                                                                                                                                        Дело в том, что нужен синтезатор речи с качественным воспроизведением речи для применения в промышленном производстве. При этом не важно будет ли он платным или бесплатным.
                                                                                                                                                          А никто не подскажет - возможно сконвертировать голос во flite?
                                                                                                                                                            Возможно, но придётся покодить. Время работы - 1 мес.
                                                                                                                                                              to nsh

                                                                                                                                                              Скажаите а какие параметра синтез речи у Фестиваля?
                                                                                                                                                              Частота дискретизации и битрейт?
                                                                                                                                                                Цитата
                                                                                                                                                                Скажаите а какие параметра синтез речи у Фестиваля?
                                                                                                                                                                Частота дискретизации и битрейт?


                                                                                                                                                                Любые
                                                                                                                                                                  А насчет flite, как это сделать?

                                                                                                                                                                  Я в вопросах festival и flite пока откровенно плаваю, мне нужно было для практической цели - сделать на программной PBX FreeSWITCH каталог номеров. Так вот FS поддерживает flite но не festival (последний не thread safe говорят разработчики).

                                                                                                                                                                  Не мог бы кто нибудь помочь с переносом? На дело поддержки русского я мог бы потрать некоторое время, но познаний пока катастрофически не хватает.
                                                                                                                                                                    Цитата
                                                                                                                                                                    А насчет flite, как это сделать?


                                                                                                                                                                    Ну как, сесть и закодировать. Хотите конкретные ответы - задавайте конкретные вопросы.

                                                                                                                                                                    Цитата
                                                                                                                                                                    Так вот FS поддерживает flite но не festival (последний не thread safe говорят разработчики).


                                                                                                                                                                    Я бы добавил festival поддержку в серверном режиме, как это в asterisk сделано -

                                                                                                                                                                    http://www.asterisk.org/doxygen/1.4/app__festival_8c-source.html
                                                                                                                                                                      Я натолкнулся ошибку, когда в слове есть прописная "у". Ошибка выскакивает когда я обращаюсь к серверу через телнет.

                                                                                                                                                                      LTS_Ruleset russian_downcase: no rule matches:
                                                                                                                                                                      LTS_Ruleset: # *here* \ufffd #

                                                                                                                                                                      ну и молчит соответсвенно. Заглавная "У" произносится нормально. Если запустить festival и вводить команды напрямую, то все поизносится нормально. Есть у кого-нибудь обьяснение этому чуду?
                                                                                                                                                                      Сижу под Debian stable.
                                                                                                                                                                        Цитата
                                                                                                                                                                        LTS_Ruleset russian_downcase: no rule matches:
                                                                                                                                                                        LTS_Ruleset: # *here* \ufffd #


                                                                                                                                                                        К "у" это отношения не имеет. Скорее всего, в поток попала некорректная буква, нужно такие символы фильтровать.
                                                                                                                                                                          Дык вручную разные слова с "у" вводил. Надо будет с закрытой форточкой попробовать чтоб в телнет всякую дрянь не задувало.
                                                                                                                                                                            :wall: SOS ЛЮди помогите. я плохо во всем этом разбираюсь, но мне нужна помощь. НЕ могу и не знаю, где найти и как скачать SAPI4 для XP. :'( :'( :'( :'(
                                                                                                                                                                              Gella_NovElly
                                                                                                                                                                              например отсюда
                                                                                                                                                                              http://activex.microsoft.com/activex/controls/sapi/spchapi.exe
                                                                                                                                                                                king :) огромное спасибо.
                                                                                                                                                                                  to nsh

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

                                                                                                                                                                                  Насчет того, что скорость не регулируется, это навсегда?
                                                                                                                                                                                  Очень жаль, так его будет намного хуже пользовать.
                                                                                                                                                                                  К любому голосу сначала надо привыкнуть, а потом ставвишь его быстрее.
                                                                                                                                                                                  А с одной скоростью, это не дело.

                                                                                                                                                                                  Я поковырялся, с голосом.
                                                                                                                                                                                  Пытался заставить его прочитать достаточно длинный текст, целиком и посмотреть, что получится.
                                                                                                                                                                                  Вот во что это вылилось:

                                                                                                                                                                                  1. Всетаки причина того, что он не читает некоторые предложения не в символах юникода.
                                                                                                                                                                                  Вот кусок текста, сначала c символами, а потом исправленный. А толку от исправлений нет.

                                                                                                                                                                                  Вот пример с символами и без.
                                                                                                                                                                                  ________________________________________
                                                                                                                                                                                  Они были заняты беседой.
                                                                                                                                                                                  – А что такое вообще церковь? Это организация, которая, пользуясь предрассудками и людскими суевериями, норовит встать посредником между людьми и богом[2]. Причем самовольно, ведь сам бог их на это отнюдь не уполномочивал, – седовласый мужчина, восседающий на вороном жеребце, замолчал и ожидающе покосился на своего спутника.

                                                                                                                                                                                  Они были заняты беседой.
                                                                                                                                                                                  - А что такое вообще церковь? Это организация, которая, пользуясь предрассудками и людскими суевериями, норовит встать посредником между людьми и богом[2]. Причем самовольно, ведь сам бог их на это отнюдь не уполномочивал, - седовласый мужчина, восседающий на вороном жеребце, замолчал и ожидающе покосился на своего спутника.
                                                                                                                                                                                  ________________________________________

                                                                                                                                                                                  Я подобрал Регулярные выражения для замены и воткнул их в фильтры KTTSMGR.
                                                                                                                                                                                  Там проблема в дефисе, когда после него стоит не читаемый символ, например ".
                                                                                                                                                                                  Начальный символ должен быть читаемый (иногда и так работает, но тогда второй должен быть читаемый)
                                                                                                                                                                                  Квадратная скобка соединенная со словом тоже не читается.
                                                                                                                                                                                  Проблемы с пробелом в конце предложения.
                                                                                                                                                                                  Я это все испытывал на KTTSMGR, а он по умолчанию считает [.:;!?] концом предложения и скармливает движку по одному предложению. Так что глюки могут быть и в сочетание с дефисом других знаков.


                                                                                                                                                                                  3-и фильтра для KTTS могу прислать куда скажите
                                                                                                                                                                                  1. (Russion Festival unspeakables.xml) Заменяет всякие не читаемые символы (типа скобок) на соответствующий текст
                                                                                                                                                                                  Этот фильтр не обязателен, дело вкуса.
                                                                                                                                                                                  2. (Filter for Russion Festival voice.xml) Вырезает все символы с которыми могут быть проблемы.
                                                                                                                                                                                  3. (Gluk.xml) Исправляет найденные глюки (типа удаляет все пробелы в конце предложения)
                                                                                                                                                                                  Запуска их надо именно в таком порядке, только 1 можно не использовать.
                                                                                                                                                                                  Мне кажется, надо 2-ой фильтр интегрировать в голос. Раз уж он теперь воспринимает юникод, так надо гарантированно хоть как-то озвучить предложение с любыми символами.
                                                                                                                                                                                  Насчет 3-его фильтра, смотрите сами, то ли его тоже интегрировать, то ли найти глюки почему он так реагирует и поправить.

                                                                                                                                                                                  2. В процессе нашел, кое-какие глюки произношения.
                                                                                                                                                                                  Отдельно стоящие гласные стали читаться, но не все. :((
                                                                                                                                                                                  "И" не читается.
                                                                                                                                                                                  И вместо "О" читается "А". И вариант "Ее" читается как-то странно что-то среднее между Его и Её.
                                                                                                                                                                                  Вот на этой строчке проверял.
                                                                                                                                                                                  А что? И когда? Я тут! У моего дома. Её надо найти. Ее нет. Её нет. Ё мое. И мое е. О мой бог! О дай мне эти бананы!
                                                                                                                                                                                  В "отсрочим" тоже читает "А" получается отсрАчим.
                                                                                                                                                                                  Тут вместо "А" что-то не то.
                                                                                                                                                                                  А ступая
                                                                                                                                                                                  А тут слово человек как-то исковеркано.
                                                                                                                                                                                  молодой человек
                                                                                                                                                                                  А это уже ни в какие ворота, что-то не то с буквой "и" тут глобально, как-только он ее не корежит.
                                                                                                                                                                                  такое изобилие
                                                                                                                                                                                  А тут почему-то лишняя буква "а" вместо отметил отметилА
                                                                                                                                                                                  Одобрительно отметил Мелифаро.
                                                                                                                                                                                  Это прелесть, послушай обе строчки по отдельности
                                                                                                                                                                                  поводу нечто
                                                                                                                                                                                  нечто

                                                                                                                                                                                  у этого обстоятельного парня, которого я до сих пор считал самым отчаянным любителем водных процедур, их было "всего"восемнадцать!

                                                                                                                                                                                  3. К сожалению так и не смог вспомнить на каком тексте мне показалось, что он то тормозит, то тараторит.
                                                                                                                                                                                  Возможно такое впечатление сложилось, из-за комбинации щелчков, когда кажется что он тянет слова, и проглатывания гласных (местоимений или как с "молодой человек") тараторит.

                                                                                                                                                                                  4. Похоже знаки препинания пока не анализируются.
                                                                                                                                                                                  По крайней мере "?" знак никак не влияет на произношение.
                                                                                                                                                                                    Спасибо за замечания, постраюсь на выходных поглядеть. Что-то наверняка можно исправить.
                                                                                                                                                                                      storm@laptop:~$ echo "Hello word"|festival --tts
                                                                                                                                                                                      Warning: format is changed to S16_BE

                                                                                                                                                                                      cлышно фразу на англ языке

                                                                                                                                                                                      storm@laptop:~$ echo "Привет Родина"|festival --tts
                                                                                                                                                                                      Warning: format is changed to S16_BE

                                                                                                                                                                                      ничего не слышно, но и ошибок типа: "Unsupported language, using English" не выдает. может есть какая-то фишка, что отдельно запускает русскую речь с консоля или делает ее по умолчанию.
                                                                                                                                                                                        echo "Привет Родина" | text2wave -eval '(voice_msu_ru_nsh_clunits)' | aplay
                                                                                                                                                                                        Сообщение отредактировано: nsh -
                                                                                                                                                                                          nsh, спасибо за ответ. есть еще вопрос:

                                                                                                                                                                                          storm@storm:~$ echo "Привет Родина" | text2wave -eval '(voice_msu_ru_nsh_clunits)' | aplay
                                                                                                                                                                                          pau p rr i vv ee t r oo dd ae n a pau

                                                                                                                                                                                          Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono

                                                                                                                                                                                          Сказало очень чисто. Все гуд. После введения второй фразы с клавиатуры:

                                                                                                                                                                                          storm@storm:~$ echo "Доброе утро" | text2wave -eval '(voice_msu_ru_nsh_clunits)' | aplay
                                                                                                                                                                                          pau d oo b r ay j e uu t r a pau
                                                                                                                                                                                          Playing raw data 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono

                                                                                                                                                                                          шипение и ни звука.

                                                                                                                                                                                          Чтобы это могло значить?
                                                                                                                                                                                            Ну aplay глючит, можно попробовать:

                                                                                                                                                                                            ExpandedWrap disabled
                                                                                                                                                                                              echo "Доброе утро" | /home/shmyrev/work/voice/festival/bin/text2wave -eval '(voice_msu_ru_nsh_clunits)' | aplay -f S16_LE -r 16000
                                                                                                                                                                                              nsh, огромное спасибо за совет. все гуд :).

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

                                                                                                                                                                                                storm@storm:~$ echo “Astala vista baby”| festival --tts


                                                                                                                                                                                                после произношения всей фразы, начал повторять три первых буквы :(....

                                                                                                                                                                                                И еще...какая команда тестирует дату и время и озвучивает их?
                                                                                                                                                                                                Сообщение отредактировано: DrStorm -
                                                                                                                                                                                                  Ну бывают ошибки. В принципе можно стараться их исправлять. По поводу "научиться говорить", это уже многие приложения делают. Emacspeak, Orca и ещё не счесть

                                                                                                                                                                                                  http://linux.tiflocomp.ru/docs/orca-festival-ru.php
                                                                                                                                                                                                    ;) я вкурсе что есть оrka, есть еще и gnome-voice-control. А вы слышали как орка говорит английские слова, если на них попадает в менюшке например :D . Интересуют более солидные вещи. Работали ли вы с Sphinx4? Вот пробую разобраться с распознаванием русской речи и написанием (составлением) словаря.
                                                                                                                                                                                                      Цитата nsh @
                                                                                                                                                                                                      Вобщем-то так и сделано, сейчас используется словарь на 180000 слов.

                                                                                                                                                                                                      А его по лицензии GPL можно как-то получить?
                                                                                                                                                                                                        Цитата
                                                                                                                                                                                                        А его по лицензии GPL можно как-то получить?


                                                                                                                                                                                                        словарь ударений и частей речи находится в архиве с голосом в файле dict/msu_ru_nsh_dict.scm. Он был сделан с помощью программы synan с сайта http://aot.ru
                                                                                                                                                                                                          Есть предложение собрать воедино все символы и комбинации символов, которые festival пока не распознает.
                                                                                                                                                                                                          ----->
                                                                                                                                                                                                          festival не распознает следующие 4 символа:
                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                          «»/:
                                                                                                                                                                                                          ----->
                                                                                                                                                                                                          Не работает на 2ух сочетаниях:
                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                          ?*.
                                                                                                                                                                                                          где * - один и более пробелов. Причем на "?." работает.
                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                          .*
                                                                                                                                                                                                          где * - любой символ кроме пробела. Т.е.:
                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                          q4a1@q4a ~/festival/bin
                                                                                                                                                                                                          $ cat test1.txt
                                                                                                                                                                                                          123.
                                                                                                                                                                                                          q4a1@q4a ~/festival/bin
                                                                                                                                                                                                          $ ./text2wave -eval '(voice_msu_ru_nsh_clunits)' test1.txt -o test1.wav
                                                                                                                                                                                                          pau s t oo d v aa c a tt t rr ii pau
                                                                                                                                                                                                          Duration tree extreme for ii 3.21155


                                                                                                                                                                                                          q4a1@q4a ~/festival/bin
                                                                                                                                                                                                          $ cat test2.txt
                                                                                                                                                                                                          123.r
                                                                                                                                                                                                          q4a1@q4a ~/festival/bin
                                                                                                                                                                                                          $ ./text2wave -eval '(voice_msu_ru_nsh_clunits)' test2.txt -o test2.wav
                                                                                                                                                                                                          LTS_Ruleset russian_downcase: no rule matches:
                                                                                                                                                                                                          LTS_Ruleset: # 1 2 3 *here* . r #

                                                                                                                                                                                                          q4a1@q4a ~/festival/bin
                                                                                                                                                                                                          $ cat test3.txt
                                                                                                                                                                                                          .u
                                                                                                                                                                                                          q4a1@q4a ~/festival/bin
                                                                                                                                                                                                          $ ./text2wave -eval '(voice_msu_ru_nsh_clunits)' test3.txt -o test3.wav
                                                                                                                                                                                                          LTS_Ruleset russian_downcase: no rule matches:
                                                                                                                                                                                                          LTS_Ruleset: # *here* . u #
                                                                                                                                                                                                          Сообщение отредактировано: it4q4a -
                                                                                                                                                                                                            Мне легче сказать вам, какие символы распознаются:

                                                                                                                                                                                                            Буквы:

                                                                                                                                                                                                            A-z, А-я,

                                                                                                                                                                                                            символы:

                                                                                                                                                                                                            - ' + ? ! . , (+ специально используется для расстановки ударений)

                                                                                                                                                                                                            цифры:

                                                                                                                                                                                                            0-9

                                                                                                                                                                                                            Остальные нужно вырезать.
                                                                                                                                                                                                            Сообщение отредактировано: nsh -
                                                                                                                                                                                                              Цитата nsh @
                                                                                                                                                                                                              - ' + ? ! . , (+ специально используется для расстановки ударений)
                                                                                                                                                                                                              Ещё работает ';' =)
                                                                                                                                                                                                              Хочу для начала 1-2 книжки руками поправить, а потом скриптик написать, заменяющий все непонятные для festival символы на пробелы.
                                                                                                                                                                                                              Сообщение отредактировано: it4q4a -
                                                                                                                                                                                                                Я решил эту проблему добавив фильтры в kttsmgr
                                                                                                                                                                                                                И попробовал слушать книжку после этого.
                                                                                                                                                                                                                Стали вылазить странные глюки.
                                                                                                                                                                                                                Отдельные слова читаются нормально, а вот именно в таком сочетании глючит.
                                                                                                                                                                                                                Хотя это все конечно встречается редко.
                                                                                                                                                                                                                И этим страдают и релизы коммерческих голосов.
                                                                                                                                                                                                                  to nsh

                                                                                                                                                                                                                  Здравствуйте!
                                                                                                                                                                                                                  У меня к вам такой вопрос! Я хочу использовать festival как сервер. Запускаю фестиваль такой командой ./festival --server '(begin(voice_msu_ru_nsh_clunits))'. Фестиваль загружается и работает как сервер. Я написал программу клиент которая коннектится к этому серверу и передает ему команду в виде текстовой строки на воспроизведение речи. команда(текстовая сторка) такая: (SayText "привет. я Фестиваль и так далее") (audio_mode async)". Строка воспроизводится, но проблема в том что очень большая задержка перед воспроизведение речи (около 10-15 секунд). Если я посылаю на воспроизведение несколько фраз подряд, то задержка может доходить до минуты и больше. Скажите как мне сделать задержку перед выводом речи (в серверном приложении фестиваля) минимальной?
                                                                                                                                                                                                                    Сервер использовать помощнее, для нескольких запросов - несколько серверов. Кэшировать результат. Фразы посылать короткие, а не весь текст сразу. Как вариант можно переписать приложение на C для ускорения производительности.
                                                                                                                                                                                                                      to nsh

                                                                                                                                                                                                                      скажите а где можно узнать про все опции которые которые понимает фестиваль при получении текста! например, можно написать: "на агрег+ате" - что в данном случае означает символ "+"? наверняка есть еще специальные символы! напрмер запятая распознается как пауза после слова, и если слова в фразе перечислять через запяту то они звучат по другому нежели без запятых! где можно узнать про все такие символы и их значение?
                                                                                                                                                                                                                        + ставит ударение

                                                                                                                                                                                                                        Больше символов никаких нет, текст системой обрабатывается автоматически, поэтому иногда запятая воспринимается, как пауза, а иногда синтезатор решает читать без паузы. Звучание зависит от многих параметров - интонации, положения в слове, расстояния до запятых и так далее. Зависимость эта сложная, поэтому придётся полагаться на синтезатор.
                                                                                                                                                                                                                          спасибо
                                                                                                                                                                                                                            nsh, насколько актуальна разметка на http://www.dev.voxforge.org/projects/Russian/browser/Trunk/Audio/Original/16kHz_16bit/, есть ли смысл размечать вручную или есть какие-нибудь другие решения?
                                                                                                                                                                                                                              Разметка тут - http://www.dev.voxforge.org/projects/Russian/browser/Trunk/Audio/Original/16kHz_16bit/urp последнияя версия. Размечать вручную смысл есть, конечно, но если есть желание серьёзно заниматься этим, нужно сначала подумать немного, как бы к делу приступить.

                                                                                                                                                                                                                              Добавлено
                                                                                                                                                                                                                              Проблема в том там, что диктор делал слишком много пауз, что негативно сказывается на качестве синтеза. Простой разметкой тут не поможешь. Нужно сначала в автоматической разметке нужно учесть этот фактор и сделать специальный звук для оконечной гласной либо надо базу заново перезаписывать.
                                                                                                                                                                                                                                что значит сделать звук для оконечной гласной?
                                                                                                                                                                                                                                Как мне показалось, основная проблема плохой речи, это именно размета, т.к. некоторые звуки в некоторых предложениях неправильно размечены, т.е. слишком короткие, поэтому идет заикание и проглатывание.
                                                                                                                                                                                                                                А как влияют паузы я не заметил.

                                                                                                                                                                                                                                А чем делалась автоматическая разметка? Нельзя ли доработать программу, чтобы она нормально автоматическую разметку делала?
                                                                                                                                                                                                                                Сообщение отредактировано: ETY82 -
                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                  Как мне показалось, основная проблема плохой речи, это именно размета, т.к. некоторые звуки в некоторых предложениях неправильно размечены, т.е. слишком короткие, поэтому идет заикание и проглатывание.
                                                                                                                                                                                                                                  А как влияют паузы я не заметил.


                                                                                                                                                                                                                                  Короткие звуки - скорее признак, а не причина. Причину я выше написал.

                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                  А чем делалась автоматическая разметка? Нельзя ли доработать программу, чтобы она нормально автоматическую разметку делала?


                                                                                                                                                                                                                                  Можно доработать, ссылку на статьи с методами я давал в одном из тредов:

                                                                                                                                                                                                                                  Вопрос по HTK
                                                                                                                                                                                                                                    привет, я тут новичок, кто подскажет какая хорошая софтина для конвертации речи в текст и где ее можно скачать???

                                                                                                                                                                                                                                    заранее спасибо
                                                                                                                                                                                                                                      Вышел новый выпуск!

                                                                                                                                                                                                                                      Из изменений

                                                                                                                                                                                                                                      1. Интегрированы обновления с буквой ё, теперь не надо докачивать архив
                                                                                                                                                                                                                                      2. Пересчитана разметка с помощью более точных моделей, на мой взгляд, голос стал плавнее

                                                                                                                                                                                                                                      Впереди новые выпуски, тестируйте, пишите об ошибках, присоединяйтесь.

                                                                                                                                                                                                                                      http://download.berlios.de/festlang/msu_ru_nsh_clunits-0.5.tar.bz2
                                                                                                                                                                                                                                      Сообщение отредактировано: nsh -
                                                                                                                                                                                                                                        nsh, я тут изобразил spec-файл для сборки rpm под suse. Если в нем поменяете определения main_dir и doc_dir, сможете собрать и под другие rpm-based дистрибутивы. Сборку для suse могу закачать, куда скажете, если пожелаете.

                                                                                                                                                                                                                                        festival-msu_ru_nsh_clunits.spec
                                                                                                                                                                                                                                        ExpandedWrap disabled
                                                                                                                                                                                                                                          %define name        festival-msu_ru_nsh_clunits
                                                                                                                                                                                                                                          %define version     0.5
                                                                                                                                                                                                                                          %define release     1
                                                                                                                                                                                                                                          %define main_dir    usr/share/festival/voices/russian/msu_ru_nsh_clunits
                                                                                                                                                                                                                                          %define doc_dir     usr/share/doc/packages/%{name}
                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                          Summary: Russian voice for the Festival
                                                                                                                                                                                                                                          Name: %{name}
                                                                                                                                                                                                                                          Version: %{version}
                                                                                                                                                                                                                                          Release: %{release}
                                                                                                                                                                                                                                          License: GPL
                                                                                                                                                                                                                                          Group: Productivity/Text/Convertors
                                                                                                                                                                                                                                          BuildArch: noarch
                                                                                                                                                                                                                                          BuildRoot: %{_builddir}/%{name}-root
                                                                                                                                                                                                                                          URL: http://festlang.berlios.de/docu/doku.php?id=russian
                                                                                                                                                                                                                                          Source: http://download.berlios.de/festlang/msu_ru_nsh_clunits-%{version}.tar.bz2
                                                                                                                                                                                                                                          Distribution: openSuSE
                                                                                                                                                                                                                                          Vendor: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
                                                                                                                                                                                                                                          Packager: Alexander Kurin <alexander.kurin@gmail.com>
                                                                                                                                                                                                                                          Provides: festival-msu_ru_nsh_clunits
                                                                                                                                                                                                                                          Requires: festival >= 1.96
                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                          %description
                                                                                                                                                                                                                                          Russian voice msu_ru_nsh_clunits for the Festival Speech Synthesis System.
                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                          %prep
                                                                                                                                                                                                                                          exit 0
                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                          %build
                                                                                                                                                                                                                                          mkdir -p %{buildroot}/%{main_dir}
                                                                                                                                                                                                                                          tar --directory=%{buildroot}/%{main_dir}/.. -xjf \
                                                                                                                                                                                                                                              %{_sourcedir}/%{name}/msu_ru_nsh_clunits-%{version}.tar.bz2
                                                                                                                                                                                                                                          mkdir -p %{buildroot}/%{doc_dir}
                                                                                                                                                                                                                                          mv %{buildroot}/%{main_dir}/{README,COPYING} %{buildroot}/%{doc_dir}
                                                                                                                                                                                                                                          exit 0
                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                          %install
                                                                                                                                                                                                                                          exit 0
                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                          %clean
                                                                                                                                                                                                                                          exit 0
                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                          %files
                                                                                                                                                                                                                                          %defattr(-,root,root,0755)
                                                                                                                                                                                                                                          %doc /%{doc_dir}/README
                                                                                                                                                                                                                                          %doc /%{doc_dir}/COPYING
                                                                                                                                                                                                                                          %dir /%{doc_dir}
                                                                                                                                                                                                                                          /%{main_dir}/..

                                                                                                                                                                                                                                        В конце файла должен быть возврат каретки, движок форума почему-то его вырезает.
                                                                                                                                                                                                                                        Сообщение отредактировано: 19th -
                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                          nsh, я тут изобразил spec-файл для сборки rpm под suse. Если в нем поменяете определения main_dir и doc_dir, сможете собрать и под другие rpm-based дистрибутивы. Сборку для suse могу закачать, куда скажете, если пожелаете.


                                                                                                                                                                                                                                          Спасибо большое. А сборку, я думаю, нужно в дистрибутив закачивать:

                                                                                                                                                                                                                                          http://en.opensuse.org/Build_Service
                                                                                                                                                                                                                                            Выложил здесь: http://download.opensuse.org/repositories/home:/19th/
                                                                                                                                                                                                                                              Немножко потестировал систему. Чтобы было не так скучно, написал скрипт на perlе, который читает на сайте anecdot.ru анекдот и его оценку, если оценка достаточно большая, то анекдот скармливается festival серверу. Пока пару субъективных впечатлений:
                                                                                                                                                                                                                                              а) очень не хватает нормального словаря с буквой ё. Одно только это улучшило бы впечатление в разы.
                                                                                                                                                                                                                                              б) похоже, есть проблемы с ударением для слов не в именительном падеже?
                                                                                                                                                                                                                                              в) Вообще много проблем с ударениями.

                                                                                                                                                                                                                                              Интересно, что слово "рука" в базе данных помечено вполне правильно, с ударением на 2-й слог, однако
                                                                                                                                                                                                                                              (SayText "Рука руку моет")
                                                                                                                                                                                                                                              говорит рУка. Довольно простое слово, чтобы ошибаться;)
                                                                                                                                                                                                                                                Цитата
                                                                                                                                                                                                                                                а) очень не хватает нормального словаря с буквой ё. Одно только это улучшило бы впечатление в разы.


                                                                                                                                                                                                                                                Словарь там нормальный, для всех вариантов с ё должен работать. Какое слово не читается?

                                                                                                                                                                                                                                                Цитата
                                                                                                                                                                                                                                                б) похоже, есть проблемы с ударением для слов не в именительном падеже?
                                                                                                                                                                                                                                                в) Вообще много проблем с ударениями.


                                                                                                                                                                                                                                                Словарь ударений нужно расширить. Для этого нужно обработать словарь Зализняка с aot.ru, вычленить оттуда часть речи и ударный слог. Если интересно, займитесь этим.

                                                                                                                                                                                                                                                Цитата
                                                                                                                                                                                                                                                Интересно, что слово "рука" в базе данных помечено вполне правильно, с ударением на 2-й слог, однако
                                                                                                                                                                                                                                                (SayText "Рука руку моет")
                                                                                                                                                                                                                                                говорит рУка. Довольно простое слово, чтобы ошибаться;)


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

                                                                                                                                                                                                                                                  Цитата

                                                                                                                                                                                                                                                  Практически не встречал слов с ё, которые бы читались правильно.
                                                                                                                                                                                                                                                  Примеры:

                                                                                                                                                                                                                                                  допьешься
                                                                                                                                                                                                                                                  Жигуленок
                                                                                                                                                                                                                                                  сомкнет
                                                                                                                                                                                                                                                  трех-четырех

                                                                                                                                                                                                                                                  В словаре, вроде, буква ё встречается в основном в фамилиях. Скачал пару баз ёфикации, попробую применить к словарю.

                                                                                                                                                                                                                                                  Кстати, кdict/msu_ru_nsh_stress.tree каким-либо образом генерируется из словаря или это абсолютно самостоятельная боевая единица?
                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                    Практически не встречал слов с ё, которые бы читались правильно.


                                                                                                                                                                                                                                                    Такие слова помечены в словаре fix-yo, всего их 640 штук. Собирал я их по словарю с yo (russian-ispell). Видимо, каких-то слов в этом словаре нет.

                                                                                                                                                                                                                                                    Цитата

                                                                                                                                                                                                                                                    допьешься
                                                                                                                                                                                                                                                    Жигуленок
                                                                                                                                                                                                                                                    сомкнет
                                                                                                                                                                                                                                                    трех-четырех


                                                                                                                                                                                                                                                    "четырех" там есть, например. Остальные нужно добавить.

                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                    Кстати, кdict/msu_ru_nsh_stress.tree каким-либо образом генерируется из словаря или это абсолютно самостоятельная боевая единица?


                                                                                                                                                                                                                                                    Генерируется из словаря. Это CART дерево для предсказания ударений.
                                                                                                                                                                                                                                                      Пофиксил словарь по ёбазе отсюда http://vgiv.narod.ru/yo.html.

                                                                                                                                                                                                                                                      Как оказалось, на самом деле в словаре 7497 слов с безусловным ё. Попробую теперь возится с rusaot.
                                                                                                                                                                                                                                                        Почему-то не дает скачать
                                                                                                                                                                                                                                                        Пишет

                                                                                                                                                                                                                                                        Forbidden
                                                                                                                                                                                                                                                        You don't have permission to access /festlang/msu_ru_nsh_clunits-0.5.tar.bz2 on this server.
                                                                                                                                                                                                                                                          Возможно были проблемы с сервером. Попробуйте ещё раз, у меня всё нормально сейчас.
                                                                                                                                                                                                                                                            nsh, можно еще пару вопросов по словарю?

                                                                                                                                                                                                                                                            Я вот сейчас пытаюсь составить сравнительно полный словарь с помощью <a href="http://www.artint.ru/projects/frqlist.asp">таблицы наиболее частых слов</a> и rusaot (для генерации всех форм слов).

                                                                                                                                                                                                                                                            Хотелось бы поточнее понять, что значит второе поле в словарной записи. Думал, что это просто указывает часть речи, но вроде не совсем это так.

                                                                                                                                                                                                                                                            Вот например
                                                                                                                                                                                                                                                            ("вдруг" wp (1)) wp -- это обозначение части речи, или все же некоторого способа произношения? Подобная штука встречается в словаре как у предлогов, так и у наречий.

                                                                                                                                                                                                                                                            Насколько вообще сейчас используется поле для части речи?

                                                                                                                                                                                                                                                            Добавлено
                                                                                                                                                                                                                                                            И еще вопрос: результаты, так сказать, трудов, буде таковые окажутся, можно будет куда-нибудь скинуть?
                                                                                                                                                                                                                                                              nsh, можно еще пару вопросов по словарю?

                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                              Я вот сейчас пытаюсь составить сравнительно полный словарь с помощью <a href="http://www.artint.ru/projects/frqlist.asp">таблицы наиболее частых слов</a> и rusaot (для генерации всех форм слов).


                                                                                                                                                                                                                                                              таблица наиболее частных не нужна, нужно все слова из aot просто забирать. Там их не так много по сегодняшним размерам

                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                              Хотелось бы поточнее понять, что значит второе поле в словарной записи. Думал, что это просто указывает часть речи, но вроде не совсем это так.

                                                                                                                                                                                                                                                              Вот например
                                                                                                                                                                                                                                                              ("вдруг" wp (1)) wp -- это обозначение части речи, или все же некоторого способа произношения? Подобная штука встречается в словаре как у предлогов, так и у наречий.


                                                                                                                                                                                                                                                              Часть речи

                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                              Насколько вообще сейчас используется поле для части речи?


                                                                                                                                                                                                                                                              Используется при произношении и для интонации.

                                                                                                                                                                                                                                                              Я для обработки вывода aot вот такой скрипт использовал:

                                                                                                                                                                                                                                                              ExpandedWrap disabled
                                                                                                                                                                                                                                                                #!/usr/bin/python
                                                                                                                                                                                                                                                                # -*- encoding: KOI8-R -*-
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                import sys
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                file = open ("data.wc", "r")
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                vowels = "аоуиыэюяеё"
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                trans_dict = {
                                                                                                                                                                                                                                                                "вводн" : "prp",
                                                                                                                                                                                                                                                                "г" : "v",
                                                                                                                                                                                                                                                                "деепричастие" : "adv-v",
                                                                                                                                                                                                                                                                "инфинитив" : "v",
                                                                                                                                                                                                                                                                "межд" : "cc",
                                                                                                                                                                                                                                                                "мс" : "pron",
                                                                                                                                                                                                                                                                "мс-п" : "pron-p",
                                                                                                                                                                                                                                                                "мс-предк" : "pron-r",
                                                                                                                                                                                                                                                                "н" : "adv",
                                                                                                                                                                                                                                                                "п" : "adj",
                                                                                                                                                                                                                                                                "предк" : "adv",
                                                                                                                                                                                                                                                                "предл" : "in",
                                                                                                                                                                                                                                                                "причастие" : "adv-j",
                                                                                                                                                                                                                                                                "с" : "n",
                                                                                                                                                                                                                                                                "союз" : "cc",
                                                                                                                                                                                                                                                                "част" : "aux",
                                                                                                                                                                                                                                                                "числ" : "num",
                                                                                                                                                                                                                                                                "числ-п" : "num-p"}
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                def gen_stress (word):
                                                                                                                                                                                                                                                                    stress = "";
                                                                                                                                                                                                                                                                    j = 0;
                                                                                                                                                                                                                                                                    for i in range (0, word.__len__()):
                                                                                                                                                                                                                                                                        if vowels.find(word[i]) >= 0:
                                                                                                                                                                                                                                                                            j =  j + 1;
                                                                                                                                                                                                                                                                        if word[i] == "'":
                                                                                                                                                                                                                                                                            stress = str(j) + " " + stress;
                                                                                                                                                                                                                                                                        if word[i] == "ё":
                                                                                                                                                                                                                                                                            stress = str(j) + " " + stress;
                                                                                                                                                                                                                                                                        if word[i] == "`":
                                                                                                                                                                                                                                                                            stress = str(j) + " " + stress;
                                                                                                                                                                                                                                                                    if j == 1:
                                                                                                                                                                                                                                                                        stress = ""
                                                                                                                                                                                                                                                                    return stress.strip()
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                stress_dict = {}
                                                                                                                                                                                                                                                                pos_dict = {}
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                #create dictionary of stress patterns
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                while 1:
                                                                                                                                                                                                                                                                    line = file.readline ()
                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                    if line == "":
                                                                                                                                                                                                                                                                        break
                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                    tokens = line.split();
                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                    pos = tokens[0]
                                                                                                                                                                                                                                                                    word = tokens[1]
                                                                                                                                                                                                                                                                    pure_word = word.replace ("'", "")
                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                    stress = gen_stress (word)
                                                                                                                                                                                                                                                                    if stress != "":
                                                                                                                                                                                                                                                                        stress_dict [pure_word] = stress
                                                                                                                                                                                                                                                                        pos_dict [pure_word] = pos
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                sorted_words = stress_dict.keys()
                                                                                                                                                                                                                                                                sorted_words.sort()        
                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                for word in sorted_words:
                                                                                                                                                                                                                                                                    print "(\"" + word + "\" " + trans_dict[pos_dict[word]] + " (" + stress_dict [word] + "))"


                                                                                                                                                                                                                                                              и потом ещё аналогов английских предлогов туда намешал по-моему

                                                                                                                                                                                                                                                              ExpandedWrap disabled
                                                                                                                                                                                                                                                                (set! english_guess_pos
                                                                                                                                                                                                                                                                      '((in of for in on that with by at from as if that against about
                                                                                                                                                                                                                                                                            before because if under after over into while without
                                                                                                                                                                                                                                                                            through new between among until per up down)
                                                                                                                                                                                                                                                                        (to to)
                                                                                                                                                                                                                                                                        (det the a an no some this that each another those every all any
                                                                                                                                                                                                                                                                             these both neither no many)
                                                                                                                                                                                                                                                                        (md will may would can could should must ought might)
                                                                                                                                                                                                                                                                        (cc and but or plus yet nor)
                                                                                                                                                                                                                                                                        (wp who what where how when)
                                                                                                                                                                                                                                                                        (pps her his their its our their its mine)
                                                                                                                                                                                                                                                                        (aux is am are was were has have had be)
                                                                                                                                                                                                                                                                        (punc "." "," ":" ";" "\"" "'" "(" "?" ")" "!")
                                                                                                                                                                                                                                                                        ))


                                                                                                                                                                                                                                                              предлоги должны быть более чётко обозначены, потому что на интонацию сильно влияют
                                                                                                                                                                                                                                                                Вообще, конечно, по-хорошему нужен не словарь, а дерево предсказания ударений и дерево предсказания частей речи. Формат исходных словарей rusaot весьма этому соответствует, насколько я понимаю. Лучше бы, конечно, строить дерево с конца слова, должно получится намного компактнее, особенно для частей речи, кроме того и угадывать будет неплохо. Как бы это еще запрограммировать на scheme...
                                                                                                                                                                                                                                                                  Словарь и базы данных - наиболее точные способы фиксации языка, первичные данные. В словаре можно было бы указывать разбиение на слоги, части речи слогов, произношение, не укладывающееся в правила, и так далее. Всё это было бы полезно для синтеза в том числе.

                                                                                                                                                                                                                                                                  Методы машинного обучения полезно использовать для многих вещей - сжатия словаря, интерполяции словаря, сглаживания словаря. Причём методы обучения могут быть любыми, например, для морфологии лучше join n-grams использовать. Для ударений - WFST.

                                                                                                                                                                                                                                                                  Если чего-то непонятно в lisp, спрашивайте.
                                                                                                                                                                                                                                                                    Моя старая дифонная база выложена здесь, если кому-то понадобится. Всего 1640 дифонов, но фонетический алфавит спроектирован очень плохо, особого смысла использовать такую базу нет:

                                                                                                                                                                                                                                                                    http://www.mediafire.com/download.php?mwnr4tzgf3w
                                                                                                                                                                                                                                                                      Цитата nsh @

                                                                                                                                                                                                                                                                      Спасибо за базу, попытался скачать, файл удален. С большим трудом скачал 04 версию, скопировал в 1.96, но выдается ошибка
                                                                                                                                                                                                                                                                      Цитата
                                                                                                                                                                                                                                                                      (voice_msu_ru_nsh_clunits) (SayText "Привет дружище")
                                                                                                                                                                                                                                                                      msu_ru_nsh_clunits
                                                                                                                                                                                                                                                                      LTS_Ruleset russian_downcase: no rule matches:
                                                                                                                                                                                                                                                                      LTS_Ruleset: # *here* Пр ив ет #

                                                                                                                                                                                                                                                                      добавил
                                                                                                                                                                                                                                                                      Цитата
                                                                                                                                                                                                                                                                      (proclaim_voice
                                                                                                                                                                                                                                                                      'msu_ru_nsh_clunits
                                                                                                                                                                                                                                                                      '((language russian)
                                                                                                                                                                                                                                                                      (gender male)
                                                                                                                                                                                                                                                                      (dialect moscow)
                                                                                                                                                                                                                                                                      (coding utf-8)
                                                                                                                                                                                                                                                                      (description
                                                                                                                                                                                                                                                                      "Russian festival voice.")))

                                                                                                                                                                                                                                                                      не помогло. Не могли бы вы сказать, в чем проблемма.
                                                                                                                                                                                                                                                                        Кодировка не UTF-8
                                                                                                                                                                                                                                                                          Можно ли поинтересоваться. Насколько сложно в фестиваль добавить новый язык?
                                                                                                                                                                                                                                                                          Если Вас не затруднит, то можно ли описать все действия, если брать во внимание, что всё нужно делать с нуля.
                                                                                                                                                                                                                                                                          Изучив эту тему, я так понимаю:
                                                                                                                                                                                                                                                                          * озвучиваем предложения
                                                                                                                                                                                                                                                                          * с phinxом распознаём звуки .lab
                                                                                                                                                                                                                                                                          * описываем правила, ударения
                                                                                                                                                                                                                                                                          * загружаем в festival
                                                                                                                                                                                                                                                                          Язык латгальский - намного проще русского, синтетический язык.

                                                                                                                                                                                                                                                                          Спрашиваю здесь, потому что вижу, что идёте этот путь уже с 2007 года. И я думаю Вам есть что рассказать.
                                                                                                                                                                                                                                                                            Цитата
                                                                                                                                                                                                                                                                            Можно ли поинтересоваться. Насколько сложно в фестиваль добавить новый язык?


                                                                                                                                                                                                                                                                            Не сложно. Студенты в CMU делают это в качество домашнего задания.

                                                                                                                                                                                                                                                                            Цитата
                                                                                                                                                                                                                                                                            Если Вас не затруднит, то можно ли описать все действия, если брать во внимание, что всё нужно делать с нуля.
                                                                                                                                                                                                                                                                            Изучив эту тему, я так понимаю:
                                                                                                                                                                                                                                                                            * озвучиваем предложения
                                                                                                                                                                                                                                                                            * с phinxом распознаём звуки .lab
                                                                                                                                                                                                                                                                            * описываем правила, ударения
                                                                                                                                                                                                                                                                            * загружаем в festival


                                                                                                                                                                                                                                                                            Примерно так. Порядок несколько другой.

                                                                                                                                                                                                                                                                            * Изучаем литературу.
                                                                                                                                                                                                                                                                            * Собираем набор предложений
                                                                                                                                                                                                                                                                            * Описываем правила, ударения
                                                                                                                                                                                                                                                                            * Записываем преложения
                                                                                                                                                                                                                                                                            * С sphinx размечаем звуки
                                                                                                                                                                                                                                                                            * Загружаем всё в festival

                                                                                                                                                                                                                                                                            Цитата
                                                                                                                                                                                                                                                                            Язык латгальский - намного проще русского, синтетический язык.


                                                                                                                                                                                                                                                                            Должно быть не сложно
                                                                                                                                                                                                                                                                              Спасибо, все заработало, хочу только сказать, что блокнот добавляет 3 байта в начале для UTF-8, от того и не работает, и команды festival для воспроизведения должны быть
                                                                                                                                                                                                                                                                              (voice_msu_ru_nsh_clunits)
                                                                                                                                                                                                                                                                              (tts "text_to_say.txt" nil)
                                                                                                                                                                                                                                                                              готовый festival windows
                                                                                                                                                                                                                                                                              Извените за флуд, но это для САМЫХ тупых, таких как я :D
                                                                                                                                                                                                                                                                              А ещё версию голоса 05 скачать негде, ссылка не работает, готов разместить архив у себя :) .
                                                                                                                                                                                                                                                                              Сообщение отредактировано: antonbukov -
                                                                                                                                                                                                                                                                                Не знаю, что у вас там не наботает. Ссылка на голос на сайте проекта http://developer.berlios.de/projects/festlang указана в первом сообщении этой темы
                                                                                                                                                                                                                                                                                  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 науку сею постичь не могу.
                                                                                                                                                                                                                                                                                                                Цитата
                                                                                                                                                                                                                                                                                                                Этот вопрос задаю от того, что пытаюсь сделать озвучку для символов, но не во всех случаях, а только когда он указан отдельно.


                                                                                                                                                                                                                                                                                                                Да, если символ отдельный, его нужно просто добавить в словарь

                                                                                                                                                                                                                                                                                                                Цитата
                                                                                                                                                                                                                                                                                                                сли же он входит в состав слова - то его не надо произносить.


                                                                                                                                                                                                                                                                                                                В этом случае для *

                                                                                                                                                                                                                                                                                                                ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                  ( [ "*" ] = )
                                                                                                                                                                                                                                                                                                                  Цитата nsh @
                                                                                                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                                                                                                  Этот вопрос задаю от того, что пытаюсь сделать озвучку для символов, но не во всех случаях, а только когда он указан отдельно.


                                                                                                                                                                                                                                                                                                                  Да, если символ отдельный, его нужно просто добавить в словарь

                                                                                                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                                                                                                  сли же он входит в состав слова - то его не надо произносить.


                                                                                                                                                                                                                                                                                                                  В этом случае для *

                                                                                                                                                                                                                                                                                                                  ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                    ( [ "*" ] = )

                                                                                                                                                                                                                                                                                                                  Вот что у меня происходит.
                                                                                                                                                                                                                                                                                                                  Ставлю в Ubuntu Festival и голос из репозиториев. Затем произношу "*" и получаю ошибку. Затем я иду в msu_ru_nsh_lexicon.scm и вижу что есть следующий блок


                                                                                                                                                                                                                                                                                                                  ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                    (define (msu_ru_addenda)
                                                                                                                                                                                                                                                                                                                      "(msu_ru_addenda)
                                                                                                                                                                                                                                                                                                                    Basic lexicon should (must ?) have basic letters, symbols and punctuation."
                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                    ;;; Symbols ...
                                                                                                                                                                                                                                                                                                                    (lex.add.entry
                                                                                                                                                                                                                                                                                                                    '("*" nil (((u) 0) ((m n o) 1) ((zh i tt) 0) )))


                                                                                                                                                                                                                                                                                                                  Казалось бы должно звучать "умножить". Но отдельно стоящая звездочка приводит к ошибке.

                                                                                                                                                                                                                                                                                                                  Далее, я добавляю в
                                                                                                                                                                                                                                                                                                                  ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                    (lts.ruleset
                                                                                                                                                                                                                                                                                                                     russian_downcase


                                                                                                                                                                                                                                                                                                                  строки

                                                                                                                                                                                                                                                                                                                  ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                    ( [ "*" ] = )


                                                                                                                                                                                                                                                                                                                  После чего запускаю Festival и прошу сказать отдельностоящую "*" ...
                                                                                                                                                                                                                                                                                                                  и слышу нечто напоминающее "Найду"...

                                                                                                                                                                                                                                                                                                                  Тоже произойдет если я добавлю

                                                                                                                                                                                                                                                                                                                  ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                    ( [ "%" ] = )
                                                                                                                                                                                                                                                                                                                    ( [ "|" ] = )


                                                                                                                                                                                                                                                                                                                  и попрошу произнести.

                                                                                                                                                                                                                                                                                                                  Впрочем, тоже самое происходит и в Windows XP при загруженном по вашей ссылке актуальных festival и голосе.

                                                                                                                                                                                                                                                                                                                  Я не понимаю, откуда он выковыривает это "найду", или что он у меня там говорит.
                                                                                                                                                                                                                                                                                                                    Хорошо, попробуйте так:

                                                                                                                                                                                                                                                                                                                    ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                      (lex.add.entry
                                                                                                                                                                                                                                                                                                                       '("\*" nil ( ((u) 0) ((m n o) 1) ((zh i tt) 0) )))
                                                                                                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                                                                                                      (lts.ruleset
                                                                                                                                                                                                                                                                                                                       russian_downcase
                                                                                                                                                                                                                                                                                                                       ( )
                                                                                                                                                                                                                                                                                                                       ....
                                                                                                                                                                                                                                                                                                                          ( [ "*" ] =  "*" )
                                                                                                                                                                                                                                                                                                                       ....
                                                                                                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                                                                                                      lts.ruleset
                                                                                                                                                                                                                                                                                                                       msu_ru
                                                                                                                                                                                                                                                                                                                         (
                                                                                                                                                                                                                                                                                                                        ;; Some exceptions                  
                                                                                                                                                                                                                                                                                                                          ( [ "*" ] = )


                                                                                                                                                                                                                                                                                                                    но результат будет не очень, будет читать "один умножить два"

                                                                                                                                                                                                                                                                                                                    По хорошему нужно добалять код в msu_ru_nsh_tokenizer.scm

                                                                                                                                                                                                                                                                                                                    ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                         ((string-matches name "РФ")
                                                                                                                                                                                                                                                                                                                          (list "эр+эф"))
                                                                                                                                                                                                                                                                                                                         ((string-matches name "\\*")
                                                                                                                                                                                                                                                                                                                          (list "умножить" "на"))


                                                                                                                                                                                                                                                                                                                    Тогда будет читать правильно "умножить на два"
                                                                                                                                                                                                                                                                                                                      Цитата nsh @
                                                                                                                                                                                                                                                                                                                      По хорошему нужно добалять код в msu_ru_nsh_tokenizer.scm

                                                                                                                                                                                                                                                                                                                      ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                           ((string-matches name "РФ")
                                                                                                                                                                                                                                                                                                                            (list "эр+эф"))
                                                                                                                                                                                                                                                                                                                           ((string-matches name "\\*")
                                                                                                                                                                                                                                                                                                                            (list "умножить" "на"))


                                                                                                                                                                                                                                                                                                                      Тогда будет читать правильно "умножить на два"

                                                                                                                                                                                                                                                                                                                      nsh
                                                                                                                                                                                                                                                                                                                      Спасибо, попробую!
                                                                                                                                                                                                                                                                                                                        Здравствуйте.

                                                                                                                                                                                                                                                                                                                        Скажите пожалуйста, а есть редакторы транскрипций кроме Wavesurfer? У меня не получается воспроизвести в нем звук

                                                                                                                                                                                                                                                                                                                        ОС: Fedora Core 13


                                                                                                                                                                                                                                                                                                                        Оффтоп: а есть какие ни будь речевые синтезаторы, которые проговаривают фразы по специально размеченным предложениям?
                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                          Скажите пожалуйста, а есть редакторы транскрипций кроме Wavesurfer? У меня не получается воспроизвести в нем звук

                                                                                                                                                                                                                                                                                                                          ОС: Fedora Core 13


                                                                                                                                                                                                                                                                                                                          Загрузить модуль snd_pcm_oss (sudo modprobe snd_pcm_oss). Затем запускать wavesurfer через padsp

                                                                                                                                                                                                                                                                                                                          padsp wavesurfer file.wav

                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                          Оффтоп: а есть какие ни будь речевые синтезаторы, которые проговаривают фразы по специально размеченным предложениям?


                                                                                                                                                                                                                                                                                                                          Festival, OpenMARY
                                                                                                                                                                                                                                                                                                                            Оперативно :) спасибо

                                                                                                                                                                                                                                                                                                                            Решил эту проблему по другому, просто раскоментировал в файле /etc/modprobe.d/dist-oss.conf строчку с загрузкой модуля все заработало

                                                                                                                                                                                                                                                                                                                            Посмотрел OpenMARY - поддержки русского языка нет, и написана она на яве, ну в принципе какой вопрос такой и ответ :)

                                                                                                                                                                                                                                                                                                                            Вопрос, а джаббер конференция у этого проекта есть?
                                                                                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                                                                                              Посмотрел OpenMARY - поддержки русского языка нет, и написана она на яве, ну в принципе какой вопрос такой и ответ :)


                                                                                                                                                                                                                                                                                                                              Поддержка русского языка есть в ветке openmary-ru

                                                                                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                                                                                              Вопрос, а джаббер конференция у этого проекта есть?


                                                                                                                                                                                                                                                                                                                              нет
                                                                                                                                                                                                                                                                                                                                а по какому принципу festival выбирает какую транскрипцию подставлять в каком-то конкретном случае? Например в ru_0001.wav диффоны (если не правильно поправьте) повторяются и точно такие же есть в других wav файлах

                                                                                                                                                                                                                                                                                                                                Цитата nsh @
                                                                                                                                                                                                                                                                                                                                Поддержка русского языка есть в ветке openmary-ru

                                                                                                                                                                                                                                                                                                                                будьте добры - ссылку, на офф сайте не нашел

                                                                                                                                                                                                                                                                                                                                P.S
                                                                                                                                                                                                                                                                                                                                сделал конференцию festival_tts@conference.jabber.ru там намного удобнее общаться, все таки real time :) Правда если гуру туда не пойдут смысла не будет от этой конфы

                                                                                                                                                                                                                                                                                                                                Добавлено
                                                                                                                                                                                                                                                                                                                                Цитата nsh @
                                                                                                                                                                                                                                                                                                                                Ну как из базы выбираются куски с учётом двух функций - target cost (соответствие куска тому, что нужно синтезировать) и join cost (соответствие куска соседним кускам, выбранным из базы). Потом всё склеивается и получается синтезированный звук.


                                                                                                                                                                                                                                                                                                                                нашел как это делается

                                                                                                                                                                                                                                                                                                                                А где посмотреть как он русские слова разбивает на транскрипции?
                                                                                                                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                                                                                                                  а по какому принципу festival выбирает какую транскрипцию подставлять в каком-то конкретном случае? Например в ru_0001.wav диффоны (если не правильно поправьте) повторяются и точно такие же есть в других wav файлах



                                                                                                                                                                                                                                                                                                                                  Транскрипция - текстовое представление звука, к выбору из базы она отношения не имеет. Тот кусок речи, который выбирается, называется элемент речи (unit). Среди всех элементов речи выбирается элемент с минимальной ценовой функцией, которая является суммой цены соответствия нужным характеристикой и цены соединения с уже выбранными элементами речи.

                                                                                                                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                                                                                                                  будьте добры - ссылку, на офф сайте не нашел


                                                                                                                                                                                                                                                                                                                                  Сейчас сайт http://mary.opendfki.de/ лежит, ветка соовтетствующая в subversion, в /branches. Не думаю, что трудно найти

                                                                                                                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                                                                                                                  А где посмотреть как он русские слова разбивает на транскрипции?


                                                                                                                                                                                                                                                                                                                                  На что разбивает? Транскрипция слова (его звуковое представление) получается из слова и словаря ударений. "разбивается" тут не применимо. Код, по слову определяющий транскрипцию находится в файле festvox/msu_ru_nsh_lexicon.scm.scm
                                                                                                                                                                                                                                                                                                                                    Цитата nsh @
                                                                                                                                                                                                                                                                                                                                    На что разбивает? Транскрипция слова (его звуковое представление) получается из слова и словаря ударений. "разбивается" тут не применимо. Код, по слову определяющий транскрипцию находится в файле festvox/msu_ru_nsh_lexicon.scm.scm

                                                                                                                                                                                                                                                                                                                                    да, я не правильно выразился.

                                                                                                                                                                                                                                                                                                                                    Если я, правильно понял то, слово(текст) разбивается на аллофоны, т.е. текстовое представление звука, правильно? Аллофоны лежат в msu_ru_nsh_clunits/lab/ru_*.lab

                                                                                                                                                                                                                                                                                                                                    Можно ли как-то включить дебаг режим, чтоб видеть из каких файлов он берет эти куски речи, при составлении слова, чтоб можно было поправить в одном файле некоторые звуки? или хотя бы видеть из каких кусков речи состоит конкретное слово, чтоб поправить во всех файлах где эти элементы встречаются. Например слово "Офис" проговаривает как "Афис".
                                                                                                                                                                                                                                                                                                                                      Цитата
                                                                                                                                                                                                                                                                                                                                      Если я, правильно понял то, слово(текст) разбивается на аллофоны, т.е. текстовое представление звука, правильно?


                                                                                                                                                                                                                                                                                                                                      Не разбивается, а преобразуется в последовательность аллофонов.

                                                                                                                                                                                                                                                                                                                                      Цитата
                                                                                                                                                                                                                                                                                                                                      Аллофоны лежат в msu_ru_nsh_clunits/lab/ru_*.lab


                                                                                                                                                                                                                                                                                                                                      В файлах lab аллофоны не лежат, там лежит разметка базы на аллофоны.

                                                                                                                                                                                                                                                                                                                                      Цитата
                                                                                                                                                                                                                                                                                                                                      Можно ли как-то включить дебаг режим, чтоб видеть из каких файлов он берет эти куски речи, при составлении слова, чтоб можно было поправить в одном файле некоторые звуки?


                                                                                                                                                                                                                                                                                                                                      Раскомментировать '(clunits_debug 1).

                                                                                                                                                                                                                                                                                                                                      Цитата
                                                                                                                                                                                                                                                                                                                                      Например слово "Офис" проговаривает как "Афис".


                                                                                                                                                                                                                                                                                                                                      У Вас какая-то версия видимо очень старая. Попробуйте новую версию.
                                                                                                                                                                                                                                                                                                                                        Цитата nsh @
                                                                                                                                                                                                                                                                                                                                        Не разбивается, а преобразуется в последовательность аллофонов.
                                                                                                                                                                                                                                                                                                                                        В файлах lab аллофоны не лежат, там лежит разметка базы на аллофоны.

                                                                                                                                                                                                                                                                                                                                        ну мы поняли друг друга :)

                                                                                                                                                                                                                                                                                                                                        Цитата nsh @
                                                                                                                                                                                                                                                                                                                                        У Вас какая-то версия видимо очень старая. Попробуйте новую версию.

                                                                                                                                                                                                                                                                                                                                        версия у меня последняя msu_ru_nsh_clunits-0.5.tar.bz2 скачивал от сюда
                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                          версия у меня последняя msu_ru_nsh_clunits-0.5.tar.bz2 скачивал от сюда


                                                                                                                                                                                                                                                                                                                                          Последняя версия находится здесь:

                                                                                                                                                                                                                                                                                                                                          http://developer.berlios.de/svn/?group_id=3272
                                                                                                                                                                                                                                                                                                                                            Цитата nsh @
                                                                                                                                                                                                                                                                                                                                            Последняя версия находится здесь:

                                                                                                                                                                                                                                                                                                                                            http://developer.berlios.de/svn/?group_id=3272

                                                                                                                                                                                                                                                                                                                                            подскажите, а где тут русский голос лежит, в папке (root)/trunk/msu_ru_nsh_cg ?

                                                                                                                                                                                                                                                                                                                                            Не могли бы написать небольшую инструкцию как его установить в festival.
                                                                                                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                                                                                                              подскажите, а где тут русский голос лежит, в папке (root)/trunk/msu_ru_nsh_cg ?


                                                                                                                                                                                                                                                                                                                                              Да

                                                                                                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                                                                                                              Не могли бы написать небольшую инструкцию как его установить в festival.


                                                                                                                                                                                                                                                                                                                                              Скопировать файлы в нужное место
                                                                                                                                                                                                                                                                                                                                                Спасибо. Стало лучше.
                                                                                                                                                                                                                                                                                                                                                  Я пытаюсь добавить новый язык в систему festival (латгальский, я писал выше). Если интересно, то примерный алфавит - латинские буквы, несколько длинных гласных и мыгких согласных.
                                                                                                                                                                                                                                                                                                                                                  Пользуюсь я ubuntu 10.10. Установил festival-2.0.95-beta.tar.gz с компонентами и speech_tools-2.0.95-beta.tar.gz, которые скачал на сайте festvox.org; festvox-2.1-release.tar.gz тоже с того сайта.
                                                                                                                                                                                                                                                                                                                                                  Прошёлся по мануалу который на том же сайте, признаюсь, понимаю довольно туго.
                                                                                                                                                                                                                                                                                                                                                  В данный момент пытаюсь сделать синтез русского языка на примере ваших исходников. 5 предложений, что бы убедиться, что всё делаю правильно.
                                                                                                                                                                                                                                                                                                                                                  В festvox-2.1-release.tar.gz/festvox/src/clustergen/HOWTO , делаю папки и первую команду ( /setup_cg ). Потом копирую из ваших исходников папку /festvox/ (msu_ru_nsh_*) в новый язык. Запускаю скрипт ( ./bin/do_build build_prompts ), потом (./bin/do_build label ). Вот этот скрипт вызывает ошибку

                                                                                                                                                                                                                                                                                                                                                  /festvox/src/ehmm/bin/ehmm: not found
                                                                                                                                                                                                                                                                                                                                                  /festvox/src/ehmm/bin/edec: not found

                                                                                                                                                                                                                                                                                                                                                  Посмотрел и этих фаилов там нету. Что делать в такой ситуации?
                                                                                                                                                                                                                                                                                                                                                  Одно, что в мануале сложно разобраться, так еще и файлов не хватает :)


                                                                                                                                                                                                                                                                                                                                                  Было бы хорошо, если бы вы могли сделать небольшой туториал, как сделать свой язык (на примере русского).
                                                                                                                                                                                                                                                                                                                                                  Я бы мог пожертвовать на создания этого туториала (~30$ на пиво). Понимаю что немного, но думаю заинтересованных будет больше чем я (чуть выше уже писали желающие).
                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                    Вот этот скрипт вызывает ошибку

                                                                                                                                                                                                                                                                                                                                                    /festvox/src/ehmm/bin/ehmm: not found
                                                                                                                                                                                                                                                                                                                                                    /festvox/src/ehmm/bin/edec: not found


                                                                                                                                                                                                                                                                                                                                                    FESTVOXDIR вы забыли установить

                                                                                                                                                                                                                                                                                                                                                    export FESTVOXDIR=/home/user/projects/festvox

                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                    Было бы хорошо, если бы вы могли сделать небольшой туториал, как сделать свой язык (на примере русского). Я бы мог пожертвовать на создания этого туториала (~30$ на пиво).


                                                                                                                                                                                                                                                                                                                                                    Я готов Вам помочь в создании голоса, но это стоит значительно дороже $30. Либо разбирайтесь сами, задавайте вопросы, а мы уж как-нибудь поможем.
                                                                                                                                                                                                                                                                                                                                                      FESTVOXDIR я установил, тех файлов просто нету.

                                                                                                                                                                                                                                                                                                                                                      Я не прошу создать мне новый язык, я думал статью, туториал, howto на примере русского языка (по пунктам какие действия предпринимались). Я же понимаю, что добавления нового языка стоит много, а так как таких людей почти нету, то это может стоит и очень много. Ну да ладно, похоже пожертвования оскорбили вас.
                                                                                                                                                                                                                                                                                                                                                        Цитата
                                                                                                                                                                                                                                                                                                                                                        FESTVOXDIR я установил, тех файлов просто нету.


                                                                                                                                                                                                                                                                                                                                                        У меня есть. Вы, наверное, festvox не скомпилировали.

                                                                                                                                                                                                                                                                                                                                                        Цитата
                                                                                                                                                                                                                                                                                                                                                        Я не прошу создать мне новый язык, я думал статью, туториал, howto на примере русского языка (по пунктам какие действия предпринимались)


                                                                                                                                                                                                                                                                                                                                                        Вот здесь всё написано шаг за шагом http://festvox.org/bsv/x3082.html
                                                                                                                                                                                                                                                                                                                                                          возможно-ли на festival создать качество синтеза сравнимое с acapela alyona?
                                                                                                                                                                                                                                                                                                                                                            Цитата
                                                                                                                                                                                                                                                                                                                                                            возможно-ли на festival создать качество синтеза сравнимое с acapela alyona?


                                                                                                                                                                                                                                                                                                                                                            Да, это возможно
                                                                                                                                                                                                                                                                                                                                                              всё, теперь я спасть нормально не смогу пока не скопирую движок алёны на festival :huh:
                                                                                                                                                                                                                                                                                                                                                              самое главное что в алёне всё прозрачно - перечислены все фонемы и можно синтезировать любую базу данных
                                                                                                                                                                                                                                                                                                                                                              имея ваш опыт, я бы уже это сделал бы :rolleyes:
                                                                                                                                                                                                                                                                                                                                                                zamirЕсли у Вас получится, то памятник (маленький) Вам обеспечен.
                                                                                                                                                                                                                                                                                                                                                                Отсутствие хотябы более менее нормального русского голоса одна из проблем линукса в России.
                                                                                                                                                                                                                                                                                                                                                                  я в одиночку наверное не справлюсь, для меня язык фестиваля не знаком - а его надо знать что бы делать транскрипцию ... :(
                                                                                                                                                                                                                                                                                                                                                                  пока только голосовую модель собрал примерно с тем же фонетическим набором что в acapela alyona - это понадобится для того что бы разметку сделать...
                                                                                                                                                                                                                                                                                                                                                                  даже если получится перетащить - базу синтеза нельзя будет выложить официально...

                                                                                                                                                                                                                                                                                                                                                                  p.s. однако неофициально преобразованная база lingvo прекрасно юзается под stardict :)
                                                                                                                                                                                                                                                                                                                                                                    Нужна помощь в сборке блока синтезатора русской речи
                                                                                                                                                                                                                                                                                                                                                                    создания синтеза напрямую связано с использованием festival совместно с уже готовым блоком синтеза русской речи
                                                                                                                                                                                                                                                                                                                                                                    не понятно, как тогда создать блок который требует созданный блок
                                                                                                                                                                                                                                                                                                                                                                    если бы речь шла-бы только о скриптах я бы понял. Но папка trees явно создана не вручную...
                                                                                                                                                                                                                                                                                                                                                                    при запуске
                                                                                                                                                                                                                                                                                                                                                                    festival -b festvox/build_clunits.scm '(build_clunits "etc/uniphone.data")'
                                                                                                                                                                                                                                                                                                                                                                    требуется наличие полноценного синтезатора со всеми блоками включая папку trees и ей подобные
                                                                                                                                                                                                                                                                                                                                                                    откуда-ж их взять?
                                                                                                                                                                                                                                                                                                                                                                    Если говорить ближе к делу, то я хотел бы изменить текущий фонем в модуле синтеза msu_ru_nsh и собрать новый модуль синтеза.
                                                                                                                                                                                                                                                                                                                                                                    Как это можно сделать?
                                                                                                                                                                                                                                                                                                                                                                      Переписать скрипты фестиваля в festvox/*.scm
                                                                                                                                                                                                                                                                                                                                                                        А можно при помощи pocket_sphinx получить расположение фонем?
                                                                                                                                                                                                                                                                                                                                                                        или обязательно sphinx2 использовать и без вариантов?
                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                          А можно при помощи pocket_sphinx получить расположение фонем?


                                                                                                                                                                                                                                                                                                                                                                          Можно

                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                          или обязательно sphinx2 использовать и без вариантов?


                                                                                                                                                                                                                                                                                                                                                                          Нет, не обязательно.

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


                                                                                                                                                                                                                                                                                                                                                                            Скажите пожалуйста как при помощи 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 Кбайт, скачиваний: 725)
                                                                                                                                                                                                                                                                                                                                                                                                        Прикреплённый файлПрикреплённый файлs2.wav (150,6 Кбайт, скачиваний: 687)
                                                                                                                                                                                                                                                                                                                                                                                                        Сообщение отредактировано: zamir -
                                                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                                                          Как можно улучшить качество синтеза?


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

                                                                                                                                                                                                                                                                                                                                                                                                          '(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

                                                                                                                                                                                                                                                                                                                                                                                                                                      ?
                                                                                                                                                                                                                                                                                                                                                                                                                                        не выходит... :(

                                                                                                                                                                                                                                                                                                                                                                                                                                        ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                                                                                                                                          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
                                                                                                                                                                                                                                                                                                                                                                                                                                          R/bin/wagon  -track_start 1 -heap 10000000 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/aa_1.feats' -test 'festival/feats/aa_1.feats' -balance 0 -track 'festival/disttabs/aa_1.mcep' -stop 50 -output 'festiva
                                                                                                                                                                                                                                                                                                                                                                                                                                          l/trees/aa_1_mcep.tree'
                                                                                                                                                                                                                                                                                                                                                                                                                                          Clustergen mcep tree build on: aa_2
                                                                                                                                                                                                                                                                                                                                                                                                                                          $ESTDIR/bin/wagon  -track_start 1 -heap 10000000 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/aa_2.feats' -test 'festival/feats/aa_2.feats' -balance 0 -track 'festival/disttabs/aa_2.mcep' -stop 50 -output 'f
                                                                                                                                                                                                                                                                                                                                                                                                                                          estival/trees/aa_2_mcep.tree'
                                                                                                                                                                                                                                                                                                                                                                                                                                          Clustergen mcep tree build on: aa_3
                                                                                                                                                                                                                                                                                                                                                                                                                                          $ESTDIR/bin/wagon  -track_start 1 -heap 10000000 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/aa_3.feats' -test 'festival/feats/aa_3.feats' -balance 0 -track 'festival/disttabs/aa_3.mcep' -stop 50 -output 'f
                                                                                                                                                                                                                                                                                                                                                                                                                                          estival/trees/aa_3_mcep.tree'
                                                                                                                                                                                                                                                                                                                                                                                                                                          Clustergen mcep tree build on: mm_1
                                                                                                                                                                                                                                                                                                                                                                                                                                          $ESTDIR/bin/wagon  -track_start 1 -heap 10000000 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/mm_1.feats' -test 'festival/feats/mm_1.feats' -balance 0 -track 'festival/disttabs/mm_1.mcep' -stop 50 -output 'f
                                                                                                                                                                                                                                                                                                                                                                                                                                          estival/trees/mm_1_mcep.tree'
                                                                                                                                                                                                                                                                                                                                                                                                                                          Clustergen mcep tree build on: mm_2
                                                                                                                                                                                                                                                                                                                                                                                                                                          $ESTDIR/bin/wagon  -track_start 1 -heap 10000000 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/mm_2.feats' -test 'festival/feats/mm_2.feats' -balance 0 -track 'festival/disttabs/mm_2.mcep' -stop 50 -output 'f
                                                                                                                                                                                                                                                                                                                                                                                                                                          estival/trees/mm_2_mcep.tree'
                                                                                                                                                                                                                                                                                                                                                                                                                                          Clustergen mcep tree build on: mm_3
                                                                                                                                                                                                                                                                                                                                                                                                                                          $ESTDIR/bin/wagon  -track_start 1 -heap 10000000 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/mm_3.feats' -test 'festival/feats/mm_3.feats' -balance 0 -track 'festival/disttabs/mm_3.mcep' -stop 50 -output 'f
                                                                                                                                                                                                                                                                                                                                                                                                                                          estival/trees/mm_3_mcep.tree'
                                                                                                                                                                                                                                                                                                                                                                                                                                          Clustergen mcep tree build on: i_1
                                                                                                                                                                                                                                                                                                                                                                                                                                          $ESTDIR/bin/wagon  -track_start 1 -heap 10000000 -vertex_output mean -desc festival/clunits/mcep.desc -data 'festival/feats/i_1.feats' -test 'festival/feats/i_1.feats' -balance 0 -track 'festival/disttabs/i_1.mcep' -stop 50 -output 'fest
                                                                                                                                                                                                                                                                                                                                                                                                                                          ival/trees/i_1_mcep.tree'
                                                                                                                                                                                                                                                                                                                                                                                                                                          Clustergen mcep tree build on: i_2
                                                                                                                                                                                                                                                                                                                                                                                                                                          $ESTDIR/bin/wagon  -track_start 1 -heap 10000000 -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 -output 'fest
                                                                                                                                                                                                                                                                                                                                                                                                                                          ival/trees/i_2_mcep.tree'
                                                                                                                                                                                                                                                                                                                                                                                                                                          Clustergen mcep tree build on: i_3
                                                                                                                                                                                                                                                                                                                                                                                                                                          $ESTDIR/bin/wagon  -track_start 1 -heap 10000000 -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 'fest
                                                                                                                                                                                                                                                                                                                                                                                                                                          ival/trees/i_3_mcep.tree'
                                                                                                                                                                                                                                                                                                                                                                                                                                          Clustergen mcep tree build on: pau_1
                                                                                                                                                                                                                                                                                                                                                                                                                                          $ESTDIR/bin/wagon  -track_start 1 -heap 10000000 -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 -heap 10000000 -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 -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 '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))) closing a file left open: festival/trees/msu_ru_nsh_mcep.rawparams
                                                                                                                                                                                                                                                                                                                                                                                                                                          closing a file left open: festival/trees/msu_ru_nsh_mcep.tree
                                                                                                                                                                                                                                                                                                                                                                                                                                          rawtrackfd)
                                                                                                                                                                                                                                                                                                                                                                                                                                             9: (clustergen::dump_tree_vectors (car (cdr (cdr tree))) rawtrackfd)
                                                                                                                                                                                                                                                                                                                                                                                                                                            10: (clustergen::dump_tree_vectors (car (cdr (cdr tree))) rawtrackfd)
                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                          нашёл nan в festival/trees/k_1_mcep.tree (встречается в одном файле один раз)


                                                                                                                                                                                                                                                                                                                                                                                                                                          Nan нужно искать внутри mcep файлов, а не в деревьях. В деревьях они как следствие. После того, как nan найден проще всего проблемный файл из базы выкинуть, удалив из etc/txt.done.data
                                                                                                                                                                                                                                                                                                                                                                                                                                            я понимаю, но все остальные mcep файлы бинарные...
                                                                                                                                                                                                                                                                                                                                                                                                                                            ищу в файлах *mcep* последовательность nan

                                                                                                                                                                                                                                                                                                                                                                                                                                            нашёл следующее:
                                                                                                                                                                                                                                                                                                                                                                                                                                            находится последовательность в *.mcep в папках mcep_deltas и mcep
                                                                                                                                                                                                                                                                                                                                                                                                                                            большей частью это бинарный файл

                                                                                                                                                                                                                                                                                                                                                                                                                                            Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                            .nan>..).p
                                                                                                                                                                                                                                                                                                                                                                                                                                            [.e.NaN=...
                                                                                                                                                                                                                                                                                                                                                                                                                                            .*<nan..pU
                                                                                                                                                                                                                                                                                                                                                                                                                                            K...NaN..
                                                                                                                                                                                                                                                                                                                                                                                                                                            ..U.NAn...
                                                                                                                                                                                                                                                                                                                                                                                                                                            .=.l.<naN...`=
                                                                                                                                                                                                                                                                                                                                                                                                                                            .^Z>nAN..dw
                                                                                                                                                                                                                                                                                                                                                                                                                                            ^E.\.^T=nAn.=XY
                                                                                                                                                                                                                                                                                                                                                                                                                                            ^W8>nAN..j
                                                                                                                                                                                                                                                                                                                                                                                                                                            ...؛=nan=.^^
                                                                                                                                                                                                                                                                                                                                                                                                                                            =..мNAn=.|<=
                                                                                                                                                                                                                                                                                                                                                                                                                                            P..nAn??um
                                                                                                                                                                                                                                                                                                                                                                                                                                            ...NaN>ڗ.
                                                                                                                                                                                                                                                                                                                                                                                                                                            .^G^>NAN=M.^@
                                                                                                                                                                                                                                                                                                                                                                                                                                            ...naN.,|b=
                                                                                                                                                                                                                                                                                                                                                                                                                                            =#^.;nAN<*.@
                                                                                                                                                                                                                                                                                                                                                                                                                                            ./.<NAN=.P.
                                                                                                                                                                                                                                                                                                                                                                                                                                            ;. ֘.nan.9C..
                                                                                                                                                                                                                                                                                                                                                                                                                                            =^U.\=naN<
                                                                                                                                                                                                                                                                                                                                                                                                                                            D.nAn..*
                                                                                                                                                                                                                                                                                                                                                                                                                                            .;Nan.U^
                                                                                                                                                                                                                                                                                                                                                                                                                                            ..U>Nan=t..
                                                                                                                                                                                                                                                                                                                                                                                                                                            |..<nan=.^U
                                                                                                                                                                                                                                                                                                                                                                                                                                            ¶^B.nan.E
                                                                                                                                                                                                                                                                                                                                                                                                                                            ^[>nAn.
                                                                                                                                                                                                                                                                                                                                                                                                                                            T..>NaN.



                                                                                                                                                                                                                                                                                                                                                                                                                                            это больше похоже на случайность...
                                                                                                                                                                                                                                                                                                                                                                                                                                            с какой последовательностью стоит удалить файл?

                                                                                                                                                                                                                                                                                                                                                                                                                                            p.s. взял метки sphinx - пересобираю всё по новой, завтра скажу собралось или нет.
                                                                                                                                                                                                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                              я понимаю, но все остальные mcep файлы бинарные...


                                                                                                                                                                                                                                                                                                                                                                                                                                              В файлах mcep лежат числа. Перевести их в текстовую форму можно с помощью ch_track из speech_tools.
                                                                                                                                                                                                                                                                                                                                                                                                                                                [mcep]# ch_track *.mcep |grep -i nan
                                                                                                                                                                                                                                                                                                                                                                                                                                                [mcep_deltas]# ch_track *.mcep |grep -i nan
                                                                                                                                                                                                                                                                                                                                                                                                                                                после сборки с метками sphinx таких файлов нет
                                                                                                                                                                                                                                                                                                                                                                                                                                                но требуются файлы lab/ru_0006.sl которые sphinx не создаёт

                                                                                                                                                                                                                                                                                                                                                                                                                                                Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                ru_0001 Processing
                                                                                                                                                                                                                                                                                                                                                                                                                                                Cannot open file lab/ru_0001.sl as tokenstream
                                                                                                                                                                                                                                                                                                                                                                                                                                                load_relation: can't open relation input file lab/ru_0001.sl
                                                                                                                                                                                                                                                                                                                                                                                                                                                utt.load.relation: loading from "lab/ru_0001.sl" failed


                                                                                                                                                                                                                                                                                                                                                                                                                                                пробую дальше...
                                                                                                                                                                                                                                                                                                                                                                                                                                                  Для clustergen нужна разметка уровня состояний HMM, а не уровня аллофонов. Разметка от sphinx3 не подойдёт, только ehmm.
                                                                                                                                                                                                                                                                                                                                                                                                                                                    Нигде nan не обнаружил

                                                                                                                                                                                                                                                                                                                                                                                                                                                    # ch_track ./mcep/*.mcep |grep -i na
                                                                                                                                                                                                                                                                                                                                                                                                                                                    # ch_track ./mcep_deltas/*.mcep |grep -i na
                                                                                                                                                                                                                                                                                                                                                                                                                                                    # ch_track ./ccoefs/*.mcep |grep -i na
                                                                                                                                                                                                                                                                                                                                                                                                                                                    # ch_track ./festival/disttabs/*.mcep |grep -i na

                                                                                                                                                                                                                                                                                                                                                                                                                                                    :wall:

                                                                                                                                                                                                                                                                                                                                                                                                                                                    значений -0.00000 и 0.00000 в файлах полно

                                                                                                                                                                                                                                                                                                                                                                                                                                                    ((((111.878 -nan) (0.984285 0.426654) (1.32527 0.18907) (-0.289974 0.173128)

                                                                                                                                                                                                                                                                                                                                                                                                                                                    пробовал искать в ./mcep/*.mcep значения 111.878 0.984285 - не нашёл

                                                                                                                                                                                                                                                                                                                                                                                                                                                    запускаю

                                                                                                                                                                                                                                                                                                                                                                                                                                                    ./bin/do_clustergen cluster 1>./10_cluster.log 2>&1

                                                                                                                                                                                                                                                                                                                                                                                                                                                    полный лог

                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://z1.prolink.ru/sphinx/10_cluster.log

                                                                                                                                                                                                                                                                                                                                                                                                                                                    у вас есть ещё идеи? :)
                                                                                                                                                                                                                                                                                                                                                                                                                                                      регулярными выражениями проверил что везде только цифры, каких либо левых символов нет
                                                                                                                                                                                                                                                                                                                                                                                                                                                        удалил ./mcep/*.mcep начиная с 500
                                                                                                                                                                                                                                                                                                                                                                                                                                                        собралось
                                                                                                                                                                                                                                                                                                                                                                                                                                                        голос через чур дрожащим получился
                                                                                                                                                                                                                                                                                                                                                                                                                                                        ещё пока разирался нашёл вот такие проблемные места у себя из-за выравнивания материала при помощи sphinx
                                                                                                                                                                                                                                                                                                                                                                                                                                                        # cat ./txt.done.data.save |grep ' к -- '
                                                                                                                                                                                                                                                                                                                                                                                                                                                        ( ru_0455 "-- з+а воскр+есной -- литург+ией -- он+а подним+ала глаз+а ат мол+итвенника -- +и м+еж с+изых клуб+ов л+адана -- вознос+ившихся к -- к+уполу -- в+идела кр+откий л+ик -- д+евы мар+ии" )
                                                                                                                                                                                                                                                                                                                                                                                                                                                        ( ru_0684 "к+ак пробуд+ились вн+овь люб+овь -- над+ежды -- +и мол+итва В груд+и -- к -- кот+орой приж+ался мал+ютка" )

                                                                                                                                                                                                                                                                                                                                                                                                                                                        это могло повлиять?
                                                                                                                                                                                                                                                                                                                                                                                                                                                        без файла ru_0684 я пересобирать пробовал - результат тот же
                                                                                                                                                                                                                                                                                                                                                                                                                                                        с файлом ru_0455 оно сейчас собралось

                                                                                                                                                                                                                                                                                                                                                                                                                                                        Прикреплённый файлПрикреплённый файлcg_test.rar (126,69 Кбайт, скачиваний: 370)
                                                                                                                                                                                                                                                                                                                                                                                                                                                          move_label пыхтит, вроде даже что-то понемногу двигается, но на каждом этапе в логах появляются ошибки
                                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата

                                                                                                                                                                                                                                                                                                                                                                                                                                                          IOD ERROR: could not open file etc/txt.done.data.train
                                                                                                                                                                                                                                                                                                                                                                                                                                                          Pass 10 find MCDs
                                                                                                                                                                                                                                                                                                                                                                                                                                                          SIOD ERROR: could not open file etc/txt.done.data.test
                                                                                                                                                                                                                                                                                                                                                                                                                                                          cat: etc/txt.done.data.test: Нет такого файла или каталога
                                                                                                                                                                                                                                                                                                                                                                                                                                                          awk: cmd. line:1: fatal: division by zero attempted
                                                                                                                                                                                                                                                                                                                                                                                                                                                          cat: etc/txt.done.data.test: Нет такого файла или каталога
                                                                                                                                                                                                                                                                                                                                                                                                                                                          awk: cmd. line:1: fatal: division by zero attempted


                                                                                                                                                                                                                                                                                                                                                                                                                                                          из которых можно предположить что для работы этого алгоритма надо что-то ещё...
                                                                                                                                                                                                                                                                                                                                                                                                                                                          не просветите по этому вопросу?
                                                                                                                                                                                                                                                                                                                                                                                                                                                            С помощью скрипта traintest нужно разбить файл базы etc/txt.done.data на две части - etc/txt.done.data.train и etc/txt.done.data.test. На первой части голос будет тренироваться, на второй тестироваться.
                                                                                                                                                                                                                                                                                                                                                                                                                                                            Сообщение отредактировано: nsh -
                                                                                                                                                                                                                                                                                                                                                                                                                                                              это трындец...
                                                                                                                                                                                                                                                                                                                                                                                                                                                              нашёл файл из-за которого вылезал nan методом перебора - удалил его
                                                                                                                                                                                                                                                                                                                                                                                                                                                              разбивил файлы при помощи traintest
                                                                                                                                                                                                                                                                                                                                                                                                                                                              при запуске move_label модель не собирается
                                                                                                                                                                                                                                                                                                                                                                                                                                                              переразбил - первая модель собралась, но при перемещении меток снова возникает nan и модель не собирается...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                Видимо настало время подумать, почему появляется nan.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                Сообщение отредактировано: nsh -
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  я думал...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  появляется только в фонеме k
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  в mcep файлах nan не обнаружен
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  выше я написал что есть последовательности "к кот+орой", "к к+уполу" в которых "к к" может являться одной фонемой, хотя транскриптор выводит две фонемы, но прикол в том что ни одно из этих предложений не явилось причиной почему я не мог создать кластер синтез
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  что бы думать глубже или правильнее у меня не хватает знаний и опыта.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  а сбор этого добра занимает много времени... у меня уже один диск вышел из строя (хорошо ещё что softraid настроен) пока я этими многочисленными сборками занимаюсь...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Сообщение отредактировано: zamir -
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Так дам действительно должна быть только одна k.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Видимо, надо на стадии postlex надо двойную k просто убирать и пересобрать всё.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Ситуация немного улучшилась, но ошибки прослеживаются (начиная с 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 Кбайт, скачиваний: 389)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          синтезатор работает даже после 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 и того выше?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Важно не абсолютное значение, а относительное. Улучшать дальше не стоит, разве что тестовое множество поменять на другое.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    прикладываю результат своих трудов:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://z1.prolink.ru/sphinx/msu_ru_nsh_cg.tar.gz

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    метки:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http://z1.prolink.ru/sphinx/labs.tar.gz

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    clunits у меня звучит не намного лучше чем у вас, поэтому не прикладываю (при желании модель быстро собирается с использованием меток)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Здравствуйте nsh!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Скажите пожалуйста, в файле
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      msu_ru_nsh_dict.scm
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      можно только указать ударение и часть речи:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ("докладах" n (2))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      или каким-то образом можно указать фонетику:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      умножить v ( ((u) 0) ((m n o) 1) ((zh i tt) 0) )?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        или каким-то образом можно указать фонетику:


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        На данный момент нельзя, в списке задач такая задача есть:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        http://festlang.berlios.de/docu/doku.php?id=rustasks
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата nsh @
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          или каким-то образом можно указать фонетику:


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          На данный момент нельзя, в списке задач такая задача есть:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          http://festlang.berlios.de/docu/doku.php?id=rustasks

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          прочел список задач, есть пункт
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Дополнить словарь (уровень - простой)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Необходимо переконвертировать парадигму Зализняка в словарь в формате dic/msu_ru_nsh.dict. А именно, для каждого слова получить часть речи и номер ударного слога. В конце организовать слова в нужный формат:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (”слово” n 1)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          что значит, что “слово” это существительное и ударение падает на первый слог


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Я сделал программку которая на основе фестивал синтезирует из текста речь.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          http://sourceforge.net/projects/golos/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          есть еще один проект, уже более приспособлен к озвучке текстов
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          http://sourceforge.net/projects/menestrel/

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          На основе первой, можно организовать редактирования словаря.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Раз в данный момент нет возможности записывать полную транскрипцию слова, то можно организовать добавление записи "слово,часть речи и номер ударного слога".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          По большому счету, такая функция будет не особенно полезна, если не будет простой возможности делиться новыми "записями" словаря.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Значит, надо организовать обмен такими записями, и их модерирование или добавление в словарь по рейтингу - т.е.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          например несколько человек прослушали звучание (учесть минимальное количество человек) согласно новой "записи" и оценили,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          например, по пятибальной шкале. Если какая - то запись удостаивается рейтинга в 5 звезд, она автоматически добавляется в словарь.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Серверную часть с рейтингом в одиночку пожалуй я не осилю. Однако можно попробовать воспользоваться svn-хранилищем (например на базе sourceforge.net). На базе svn будет удобно организовать синхронизацию основного словаря со словарями пользователей и таким образом его расширять.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            звучание слова почти полностью зависит от ударного гласного
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            https://github.com/zamiron/ru4sphinx/tree/master/text2dict
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            здесь есть словарь из полутора миллиона слов с ударением
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            там же есть скрипт который с вероятностью 90% правильно высталяет ударение - вероятность можно увеличить, но я пока смысла в этом не вижу
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            если запарсить три миллиона слов в festival будет не очень весело
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            поэтому надо выделить оптимальные маски и проставлять ударение автоматически
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            в идеале можно научиться делать морфологический разбор слов, при таком разборе проще автоматически проставлять ударение
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            для этого что бы это сделать в festival надо уметь програмить на lisp (вроде этот язык там используется)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Есть некоторое колличество слов в которых ударение плавающее:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            - возле окна'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            - о'кна выходят во двор
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            поэтому некоторые ударения надо выставлять исходя из контекста предложения
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Словарь нужно составлять, более того, словари уже есть хорошие, к той же Говорилке, можно их взять за основу.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              http://1956.ru/speech2/index.html

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              да и к голосам под Windows словари тоже есть.

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

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                zamir и nsh: если эти словари, о которых идет речь, конвертировать в словарь фестиваля, это не нарушит ни чьих авторских прав?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                zamir Вы пробовали скрипт, который выставляет ударение в русском голосе для Festival?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                для nsh:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                "Я только не совсем понял, что мешает уважаемому GrandPeter этим заняться, нужно просто взять и сделать."

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Я хочу сделать программу, которая позволит пользователю дополнять существующий словарь нужными им "записями" и делиться наработками с обществом. Создать словарь и пользоваться им одному в свое удовольствие мне не интересно. Возможно, когда удасться сделать часть задуманного и расписанного чуть выше, мне удасться дополнить словарь, и автоматом пользователи моего и совместимого с ним проекта получат эти наработки.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                я несколько лет слежу за эволюцией msu_ru_nsh_clunits но отмечаю с сожалением, что она идет медленно, а то и вовсе в последний год остановилась. надеюсь я ошибаюсь.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  если эти словари, о которых идет речь, конвертировать в словарь фестиваля, это не нарушит ни чьих авторских прав?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  то что выложено по ссылке в git не нарушает ничьи права
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  если вы пропарсите то что выложил yandex на предмет ударения и никому об этом скажите это тоже не нарушит не чьи права
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  мне кажется нет смысла заморачиваться с правами если есть желание что-то сделать и отдать безвозмездно
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  как я уже писал пересинтезированный голос алёны для festival можно распространять через торренты и никто от этого не пострадает

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  zamir Вы пробовали скрипт, который выставляет ударение в русском голосе для Festival?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  мой скрипт написан на perl. движёк фестиваля на lisp. я не знаю языка lisp.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Всё что я смог сделать на этом языке выложено в этой теме чуть выше.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  посути это переработанный движёк nsh, в нём иная фонетическая база.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  поправьте если я ошибаюсь но Николай не выкладывал синтезатор который не использует wav файлы (живой голос) для синтеза, соответсенно я выложил имеено движёк который делает "синтетический" (другого слова не подобрал) синтез.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Что называется преимущества в весе базы, недостатки слышны невооружённым ухом :)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    zamir:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    здесь есть словарь из полутора миллиона слов с ударением
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    есть скрипт который с вероятностью 90% правильно высталяет ударение


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    скрипт с ударением это dict2transcript.pl в разделе "Автоударение"?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Да я так понимаю кто желает доработать голос в festival сталкиваются с тем, что там используется lisp и отсутствует русскоязычная литература(

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Попробую переварить этот скрипт, если пойму вставлю в свою программку, если не возражаете.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      dict2transcript.pl не совсем то
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      я похоже не залил эти скрипты
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      сейчас залью

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Добавлено
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      залил

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      accent_train.pl - обучение
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      accent_test.pl - тестирование правильности расстановки ударения
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Один из старейших хостингов открытых проектов Berlios (Berlin Open Source), пользующийся популярностью среди европейского сообщества разработчиков, объявил о скором закрытии. Инфраструктура проекта перестанет работать с 1 января 2012 года.


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Николай у вас там русский синтезатор лежит. Можете сообщить ссылку куда вы планируете его перезалить?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Пока не знаю, не думал над этим.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Подскажите, а для flite существуют русские голоса? Проект вообще еще развивается?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Проект развивается семимильными шагами. Продолжение можно скачать тут:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              https://github.com/Olga-Yakovleva/RHVoice

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Есть HTS голоса, драйвер для SAPI для Windows, улучшения ударений и много чего хорошего.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Есть женский голос, исходную базу для него можно скачать тут:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              http://tiflo.info/rhvoice/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Цитата nsh @
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Проект развивается семимильными шагами.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                А известно, что нужно сделать, чтобы избавиться от "металлического" звука при синтезе? Я бы мог заняться если наведете на задачи
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  А известно, что нужно сделать, чтобы избавиться от "металлического" звука при синтезе?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Известно, сделать голос для openmary из тех же данных:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  https://github.com/marytts/marytts/wiki/New-Language-Support

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Я бы мог заняться если наведете на задачи


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Займитесь
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата nsh @
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Известно, сделать голос для openmary из тех же данных:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    https://github.com/marytts/marytts/wiki/New-Language-Support

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    На странице http://mary.dfki.de:59125/ есть демо и для русского языка, но там звучание не отличается от festival. Проблема в голосе?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Проблема в голосе?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Какая проблема? Опишите проблему подробнее, опишите свои действия, что Вас беспокоит? Какой текст Вы пытаетесь синтезировать, что получается, что ожидается, что не нравится в результате.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Любую проблему можно решить, нужно просто предоставить полную информацию.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Цитата nsh @
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Какая проблема? Опишите проблему подробнее, опишите свои действия, что Вас беспокоит? Какой текст Вы пытаетесь синтезировать, что получается, что ожидается, что не нравится в результате.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Синтезирую тестовую фразу "Добро пожаловать в мир синтеза речи!". Проверяю для openmary http://mary.dfki.de:59125/, проверяю для nuance http://www.nuance.com/vocalizer5/flash/index.html . Во втором случае качество речи ощутимо лучше, более плавное и натуральное. Каким образом достигается лучший результат? Новый голос для openmary решит задачу?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Каким образом достигается лучший результат?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Собирается более полная база, реализуются более точные алгоритмы. В этом примере, кстати, openmary неправильно ударения ставит. С правильными ударениями результат будет гораздо лучше.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Новый голос для openmary решит задачу?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Конечно
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Если будет время соберу с текущим голосом более качественный синтез для festival
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Только я вот точно не разберусь как этом языке (LISP?) сделать автоударение, поэтому ударение придётся вручную проставлять для синтеза (что многим не понравится)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Кто-нубудь сможет автоударение прикрутить?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            festval может вызывать внешнюю програму для простановки ударения?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              И так. Нашлось время на эксперимент.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Сначала мне показалось что результат не такой уже впечатляющий, но я сравнил с http://mary.dfki.de:59125/ - разница вполне ощутимая, хоть и не идеально конечно. (мне кажется нужно некоторое сглаживание - prosody modification?)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Однажды, в студёную зимнюю пору, Я из лесу вышел; был сильный мороз. Гляжу, поднимается медленно в гору Лошадка, везущая хворосту воз. И, шествуя важно, в спокойствии чинном, Лошадку ведёт под уздцы мужичок. В больших сапогах, в полушубке овчинном, В больших рукавицах... а сам с ноготок!

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              результат синтеза: http://z1.prolink.ru/sphinx/fest_demo_nekrasov.wav

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Маленький мальчик нашёл пулемёт, больше в деревне никто не живёт.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              результат синтеза: http://z1.prolink.ru/sphinx/fest_demo_tinyboy.wav

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ударения проставлял в ручную
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Скрытый текст
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              М+аленький м+альчик наш+ёл пулем+ёт, б+ольше в дер+евне никт+о не жив+ёт.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Одн+ажды, в студ+ёную з+имнюю п+ору, +Я +иЗ лесу в+ышел; б+ыл с+ильный мор+оз. Гляж+у, подним+ается м+едленно в г+ору Лош+адка, вез+ущая хв+оросту в+оз. +И, ш+ествуя в+ажно, в спок+ойствии ч+инном, Лош+адку вед+ёт под уздц+ы мужич+ок. В больш+их сапог+ах, в полуш+убке овч+инном, В больш+их рукав+ицах... а с+ам с ногот+ок!


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              как проставить ударение в http://mary.dfki.de:59125/ - не разобрался. Николай, подскажите?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Николай, поможете реализовать автопростановку ударения в festival ?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Здравствуйте! Подскажите пожалуйста, как собрать русскую базу для синтезатора flite? Из чего ее вообще собирать? Интересует именно flite, т.к. очень компактен и работает сейчас на недорогом микроконтроллере.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  TTS для микроконтроллёров

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Думаю Руслан в этой теме сейчас лучше всего разбирается.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Мне кажется начинать надо всё равно с громоздкого festvox
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Хаха, вот и зациклились, вы на меня, я на вас :)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    На самом деле МК STM32F10х освоены, сделал уже несколько девайсов разных, есть даже голосовой модуль, но пока на MP3. В планах забить в МК Flite, но пока даже примерно не знаю когда этим займусь.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    user posted image
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Сообщение отредактировано: RaD -
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Ну дык я рассуждаю так:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      если ты уже синтез к микроконтроллерам прикручиваешь, то на x86 архитектуре синтез тобой уже реализован с достаточно приемлимом качеством =)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Я не прав?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        На x86 выгоднее пользоваться готовыми решениями. Коммерческими. Например, тот же cepstral даёт офигенное качество.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Здравствуйте уважаемые гуру синтеза.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Меня недавно заинтересовали технологии синтеза речи и я решил тоже сделать синтезатор на микроконтроллере.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          За основу взял фонемную базу любительской программы Голос. Там около 680 фонем различной длины(столько влезло в 2МБ флешку).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Схема уже говорит. Но к сожалению есть проблемы. Фонемы записаны с различной громкостью и как признался автор в разных условиях. Я в редакторе подправляю косяки как могу. Но не все удается исправить.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Есть ли более качественные открытые и размеченные базы небольшого размера(5-10 мегабайт)?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Интересует формат файлов *.LAB, тех что идут вместе с базой.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Гугл толком ничего не сказал.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Допустим начало файла ru_0001.lab:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            0x23 0x0A
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            "0.342000" - ну это ясно что позиция метки
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            0x20
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            "125" - что это?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            0x20
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            "pay" - имя метки
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            0x0A

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Если в Wavesurfer вручную размечаю транскрипцию и сохраняю, то сохраняет без "125".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            В принципе пропарсить и так могу, но хотелось бы разобраться что да как.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              "125" - что это?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Второе поле - тип метки. Есть разные метки - для слов, аллофонов, слогов, интонационных событий, и так далее. В разметке на аллофоны используется 125.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Эти соглашения пошли из программы:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              http://emu.sourceforge.net/

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              которая часто использовалась ранее для обработки речи.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Спасибо.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Попробую ковырнуть исходники.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Здравствуйте.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Попробовал натренировать базу RHVoice Elena для marytts. Пример - во [attach=#0]вложении[/attach]. Тип синтеза - unit selection. Действительно звук получился не такой металлический как в RHVoice, однако присутствуют многочисленные артефакты. Вроде бы, и сами фразы, и количество записей в базе совпадает с моделью Николая, но результат получился заметно хуже. Произношение не такое "гладкое", огрехи синтеза выделяются резче. В связи с этим есть несколько вопросов знающим людям:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. Иногда при синтезе этим голосом в консоли сервера выводится предупреждение "Warning: signal amplitude out of range: 32957". Стоит убавить громкость исходным файлам? Или проблема решается как-то по-другому?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  2. Имеет ли вообще смысл делать какую-либо предобработку исходного аудио? Выравнивание громкости, например? Есть ли какие-нибудь инструкции для подготовки аудио к тренировке?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  3. Перед тренировкой я перегнал исходные файлы из 44.1 КГЦ в 16. Имеет ли смысл пробовать перетренировать на 44.1 КГц? Теоретически при перегонке из-за некратных частот могли возникнуть какие-то артефакты в исходный файлах.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  4. Есть ли какие-нибудь способы проверить качество разметки (ehmm labeling)? Повысить это качество?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Пример - во [attach=#0]вложении[/attach].


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Чего-то нет вложения.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. Иногда при синтезе этим голосом в консоли сервера выводится предупреждение "Warning: signal amplitude out of range: 32957". Стоит убавить громкость исходным файлам? Или проблема решается как-то по-другому?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Да, громкость нужно нормализовать в процессе обработки. По-моему, в openmary такая функция есть, хотя я не помню. Если нет, нужно сделать это отдельно.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    2. Имеет ли вообще смысл делать какую-либо предобработку исходного аудио? Выравнивание громкости, например? Есть ли какие-нибудь инструкции для подготовки аудио к тренировке?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Чем меньше обработки, тем лучше. Но громкость надо бы выровнять.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    3. Перед тренировкой я перегнал исходные файлы из 44.1 КГЦ в 16. Имеет ли смысл пробовать перетренировать на 44.1 КГц?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Нет.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Теоретически при перегонке из-за некратных частот могли возникнуть какие-то артефакты в исходный файлах.


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Не могли.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    4. Есть ли какие-нибудь способы проверить качество разметки (ehmm labeling)? Повысить это качество?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Открыть файл разметки lab в wavesurfer или praat, посмотреть. Подправить вручную. Автоматически сделать все не получится, для синтеза базы всегда оптимизируются вручную - послушать, найти артефакт, проверить откуда он взялся (проверить место в оригинальной базе), подправить там, если нужно. Подправить транскрипцию, если там есть ошибка. Подправить словарь, если он не соответствует произношению диктора. Этот процесс уже описывался в данной теме ранее.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Автоматическую разметку лучше делать с помощью sphinx или kaldi, ehmm на самом деле очень мутная штука.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    В фестивале последнем есть хороший метод оптимизации разметки - move_label, по идее он должен существенно улучшить качество сегментации. В этой теме он уже обсуждался ранее.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    По современным меркам база Elenа очень маленькая, я бы лучше занялся аудиокнигой, часов на 20-30 речи. С ней качество сегментации гораздо лучше.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Сообщение отредактировано: nsh -
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Спасибо за такой подробный ответ!

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Убавил громкость исходный файлов. Еще обнаружил, что в фонетическом словаре marytts, который используется по умолчанию, отсутствует приблизительно 10% слов из обучающего множества. После их добавления стало немного получше. Обнаружил в фестивалевском словаре и обучающих фразах несколько косяков с "ё" ("ребенок", "летчик").

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      В целом разметка, как я понял (по практически идеальному синтезу фраз, на которых происходило обучение), делается сносно. Основная проблема, действительно, в небольшом размере самой базы. В открытом доступе есть еще Irina, размер которой в 3 раза больше. С аудиокнигой на первых порах, я думаю, не справлюсь, т.к. усилий на подготовку материала потребуется гораздо больше.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Пишут, что HMM-синтез лишен некоторых недостатков, присущих unit selection. Попробовал натренировать HMM все на той же Елене. Получилось вроде бы неплохо, в плане "гладкости" похоже на RHVoice. Но откуда-то вылезла проблема с затуханием звука, пробую сейчас разобраться.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Пробую еще раз приложить аудио файлы (формат - ogg).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Прикреплённый файлПрикреплённый файлelena_unitsel3.txt (56,67 Кбайт, скачиваний: 750)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Прикреплённый файлПрикреплённый файлelena_hmm1.txt (46,28 Кбайт, скачиваний: 722)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        В целом разметка, как я понял (по практически идеальному синтезу фраз, на которых происходило обучение), делается сносно.


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Судя по примерам выложенным, разметка ужасная, очень много дефектов при склейке. Синтез фраз из базы как раз ни о чём не говорит, потому что проблемы возникают при склейке из разных частей базы.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        С ударениями тоже очень большие проблемы, Mary их просто не умеет предсказывать: переходил, замаранные, покину. Только если ударения исправить, будет значительно лучше.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Ударения нужно брать из словаря.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Удалось решить проблему с затуханием звука в HMM-голосе. Дело было в алгоритме Global Variance, который на дефолтовых настройках приводил к клиппингу на ударных гласных. Теперь на коротких фразах звучит неплохо. Однако на длинных фразах хорошо заметны недостатки по сравнению с RHVoice:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          1. Некоторые звуки все равно синтезируются с дефектами. Хотя в RHVoice (судя по скриптам) используется тот же ehmm labeling. Возможно, стоит поэкспериментировать с фичами? Нет ли каких-нибудь рекомендаций?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          2. Голос несколько зашумлен. В RHVoice голос более чистый, хотя и проскакивает металлический призвук иногда. Пробовал менять FREQWARPв настройках hts, но желаемого эффекта пока не добился.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          3. Интонация и паузы. RHVoice чуть медленнее (rate=0.7) и субъективно более выразительный, с расстановкой. Можно сравнить по прикрепленным файлам. Это какие-то упущения тренировки или особенности реализации синтеза marytts и flite?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          4. Обнаружилось, что pitch выглядит более дискретным по сравнению с RHVoice. Не знаю, стоит ли беспокоиться по этому поводу.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Судя по примерам выложенным, разметка ужасная, очень много дефектов при склейке. Синтез фраз из базы как раз ни о чём не говорит, потому что проблемы возникают при склейке из разных частей базы.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Правильно ли я понял ваш предыдущий пост, что добиться качественной разметки на таком объеме базы проблематично? На большем объеме hmm будут лучше натренированы - качество разметки возрастет. Кроме того, отдельные ошибки в базе, транскрипциях и словарях также будут нивелироваться за счет объема. Выглядящее наиболее перспективным техническое средство - move_label - работает только с фестивалевскими голосами, как я понял. Стоит ли специально для этого делать фестивалевский голос - непонятно.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          С ударениями тоже очень большие проблемы, Mary их просто не умеет предсказывать: переходил, замаранные, покину. Только если ударения исправить, будет значительно лучше.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Да, с ударениями надо что-то делать. Есть ли какие-нибудь эффективные алгоритмы их предсказания?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Ударения нужно брать из словаря.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Из словаря фестиваля?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Прикреплённый файлПрикреплённый файлelena_hmm7_short.ogg.txt (12,56 Кбайт, скачиваний: 793)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Прикреплённый файлПрикреплённый файлelena_hmm7_long.ogg.txt (51,69 Кбайт, скачиваний: 730)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Прикреплённый файлПрикреплённый файлelena_rhvoice_long.ogg.txt (54,05 Кбайт, скачиваний: 711)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Прикреплённый файлПрикреплённый файлelena_mary_rhvoice.png (80,88 Кбайт, скачиваний: 1037)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            хорошо заметны недостатки по сравнению с RHVoice


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            RHVoice наверное более новый HTS использует вроде 2.1. С версии 1.1 много воды утекло

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Стоит ли специально для этого делать фестивалевский голос - непонятно.


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            До HTS голоса надо обязательно делать и тестировать unit-selection, это позволяет значительно улучшить качесто HTS голоса.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Кроме того, отдельные ошибки в базе, транскрипциях и словарях также будут нивелироваться за счет объема.


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Не будут. Дело в том, что HTS делает на одном из этапов кластеризацию аллофонов, и ошибки только усиливаются, кроме того, их становится тяжелее ловить.

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


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Нет.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Из словаря фестиваля?


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Из любого словаря.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Сообщение отредактировано: nsh -
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            0 пользователей:


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Рейтинг@Mail.ru
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            [ Script execution time: 0,4490 ]   [ 25 queries used ]   [ Generated: 25.06.24, 09:48 GMT ]