На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
Страницы: (23) 1 2 [3] 4 5 ...  22 23  ( Перейти к последнему сообщению )  
> Работа с CMU Sphinx , Работа с CMU Sphinx 4.0
    откомпиленная версия pocketsphinx кстати на sf.net лежит
    http://sourceforge.net/projects/cmusphinx/files/pocketsphinx/0.7/pocketsphinx-0.7-win32.zip/download

    Сообщения были разделены в тему "Sphinxtrain с пользовательскими признаками"
      Здравствуйте!

      Подскажите как создавать собственные словари с транскрипциями на основе скриптов https://github.com/zamiron/ru4sphinx/tree/master/text2dict
      В каком формате должны быть входные текстовики? У меня при вызове под Windows 7

      perl dict2transcript.pl my_dictionary my_dictionary_out

      появляются два пустых файла: my_dictionary, my_dictionary.accent. В чем беда?
        при таком запуске должен создаться файл my_dictionary_out а не my_dictionary
        на вход можно подавать текст - не обязательно словарь
        под windows я не пробовал запускать - наверное беда где-то в этом месте :)
        ну или my_dictionary у вас изначально пустой файл
        еще следует обратить внимание что всё заточно под работу в utf8
          Цитата zamir @
          при таком запуске должен создаться файл my_dictionary_out а не my_dictionary

          Да, это просто опечатка вышла.

          Перекодировка в UTF-8 помогла - спасибо! Но что-то не работает акустическая модель - на 8Кгц сигнале (взятого с Voxforge и ресемплированного) даже на словаре, составленном из тех же слов, pocketsphinx выдает ерунду.. Модель языка взята отсюда https://github.com/zamiron/ru4sphinx/tree/master/addons
          у меня складывается ощущения что где-то что-то не срослось с параметрами.. есть ли где-нибудь пример config-файла + тестового аудио файла, на котором все заведомо должно работать с этой акустической и языковой моделями? я только недавно начал разбираться со сфинксами, поэтому вполне могу предположить, что делаю что-то не так - поэтому нужна точка опоры :)
            не пойму зачем вы генерили новый словарь если брали собранную модель
            по этой ссылке лежит и модель и словарь
            проверять надо при помощи pocketsphinx_batch
            при проверке с помощью pocketsphinx_continuous надо несколько раз дикторовать фразу - pocketsphinx_continuous я так понимаю подстраивает нормализатор после первой попытки что-то распознать
            скрипт на bash для тестирования с морфологической моделью лежит здесь:
            http://z1.prolink.ru/sphinx/ru_morf_cd_cont_8kHz_v1.tar.gz
            что бы не качать лишего, вот он:
            ExpandedWrap disabled
              #!/bin/sh
               
              # This is a simple example decoder
              # Please note, that recognize the file should be single-channel with sample rate 8kHz
              # decoder-test.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 8000 Hz
              # Expected recognition: ил -ья ильф евген -ий петр -ов золот -ой тел -ёнок
               
              DECODER="pocketsphinx_batch"
              # uncomment for testing old version decoder (cmu sphinx 3)
              # DECODER="sphinx3_decode"
              VM=msu_ru_zero.cd_cont_2000
              DIC=msu_ru_zero.dic
              LM=msu_ru_zero.lm.dmp
              FILE=decoder-test
               
              echo "$FILE" > msu_ru_zero_test
              $DECODER \
              -hmm $VM \
              -dict $DIC \
              -lm $LM \
              -ctl msu_ru_zero_test \
              -adcin yes \
              -adchdr 44 \
              -cepdir . \
              -cepext .wav \
               
              rm msu_ru_zero_test

            надо сказать sphinx гораздо лучше справляется с языковыми моделями построенными на базе слов, поэтому морфологическая мало подходит для распознования текста
              Спасибо, действительно, в этом варианте все стало работать! Хотя я полагал что pocketsphinx_continuous и pocketsphinx_batch отличаются только интерфейсной частью, движок у них один и тот же... видимо, надо глубже разбираться, что к чему.

              По поводу морфологических моделей: почему вы считаете, что они мало подходят для распознавания текста? В чем их принципиальное отличие от словесных с точки зрения работы декодера? И где можно почитать поподробнее про структуру непосредственно этой морфологической модели?
                Может я и не прав относительно морфологии.
                Но насколько я понял распознование в sphinx построено на теории вероятности/статистики.
                чем больше дробишь слово тем больше появляется связей и тем меньше становится фонемный набор - мало того тем больше появляется вариаций фонемного набора части слова - статистика уже не даёт такого хоршего результата - к тому же нигде не учитывается статистика вариаций фонемного набора.
                В обшем если делать морфологию то делать её более уравновешенно со статистикой.
                Морфологию в том виде которая есть сейчас было бы не плохо потестировать с моделями 5gramm, но sphinx поддерживает только 3gramm.
                При этом мою модель 3gramm в формате arpa pocketsphinx не смог обработать (смог обработать sphinx3). а колличество n-gramm > 3 sphinx не поддерживает (julius вроде должен поддерживать)
                  Имею проблему следующего вида:
                  написал на C++/CLI "обертку" для pocketsphinx чтобы работала в dotnet.

                  управление pocketsphinx делал как в исходниках pocketsphinc_continue.

                  голосовые модели брал с voxforge.

                  словарь урезал до 20 команд.

                  возникли проблемы:
                  1. распознавание идет порядка 3-5 секунд
                  2. в моем компе запись с микрофона меньше чем на 44,1 кГц не возможна. в том как работает модуль потокового распознавания не разбирался, но не думаю что он ресемплирует входной поток.

                  вопрос КАК заставить сфинка работать быстрее и как научить его понимать поток в 44,1 кГц?

                  спасибо
                    Цитата
                    вопрос КАК заставить сфинка работать быстрее


                    Компьютер помощнее купить

                    Цитата
                    и как научить его понимать поток в 44,1 кГц?


                    -samprate 44100
                      zamir кстать как там пятиграммы пожывають?... ты вроде верил, что с ними распознавалка будет выдавать только осмысленный техт.
                        Оптимизация производительности описана здесь:
                        http://cmusphinx.sourceforge.net/wiki/pocketsphinxhandhelds

                        Для ресемлирования на сколько я понял можно манипулировать параметром frate

                        5-ти граммы sphinx не поддерживается пока. вроде был roadmap на эту тему если меня не проглючело на сайте cmu sphinx

                        есть идеи разложения звука на составляющие которые его создают (горло,нос, зубы, губы) выделение шума и его вычитания - должно работать быстрее и качественне, пока нет времени это попроверить...
                          Есть задача:
                          научить сфинкс с вероятность 95% (не хуже) понимать фразы из 1-4 слов.
                          Общее количество разных слов порядка 50-100.

                          пробовал "резать" словарь модели voxforge:
                          - не понимает слово "интернет"
                          - слова "развернуть" и "свернуть" - не различает...

                          у меня дикция не дикторская, но меня понимают.

                          есть ли смысл при такой задаче делать СВОЮ модель?
                            Попробуйте модели отсюда:
                            http://sourceforge.net/projects/cmusphinx/...phology%20Zero/

                            словарь сгенерить при помощи вот этого:
                            https://github.com/zamiron/ru4sphinx/tree/master/text2dict

                            sample rate в моделях 8000 обратите внимание
                            если не поможет - попробуйте адаптацию этой модели к вашей речи сделать
                            если у вас есть материал можете и собственную модель сделать

                            и ещё качество гораздо выше при использовании режима _bath (_continue не поддерживает нормализацию)
                            результаты если не сложно сообщите пожалуйста когда попробуете
                              я не использую не _batch не _continue.
                              я pocketsphinx подключаю в качестве библиотеки в своем проекте.
                              насколько понимаю нормальзация - это нормальная функция pocketsphinx.

                              модели проверю - отпишусь
                                вероятно я что-то не так настраиваю, но с вашей моделью программа:
                                1. "ест" много больше памяти
                                2. работает очень медленно...
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (23) 1 2 [3] 4 5 ...  22 23


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