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


    Такие слова помечены в словаре 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 указана в первом сообщении этой темы
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (19) « Первая ... 7 8 [9] 10 11 ...  18 19 все


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