На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
Страницы: (23) « Первая ... 2 3 [4] 5 6 ...  22 23  ( Перейти к последнему сообщению )  
> Работа с CMU Sphinx , Работа с CMU Sphinx 4.0
    1. моделей акустических там несколько. модель cont гораздо больше потому и кушает больше памяти. для сравнения попробуйте оценить сколько кушает памяти модель hub для английского языка
    2. вопрос в первую очередь стоит о качестве распознавания
    слова "интернет" "развернуть" и "свернуть" стали различаться? надесь вы используете собственную языковую модель (LM) ?
      нет. загружал все ваше. поставляемое именно с предлагаемыми базами.
      кстати я уже работал с этой моделью и заметил что основные "тормоза" создаются именно языковой модель...

      как создавать свою я до конца не разобрался. потому "прикручивал" модель "msu_ru_nsh.lm.dmp", с ней качество распознавания получилось не лучше.
        Модель msu_ru_nsh.lm.dmp ограничена несколькими тыс. слов. Тогда как в русском языке несколько миллионов слов и словоформ.

        msu_ru_zero.lm - морфологическая. Морфологическая модель может воссоздать более трёх миллионов слов и словоформ. Но как выяснись что морфология снижает качество распознавания при использовании cmu sphinx. Позже я даже прочитал об этом в самом описании cmu sphinx.

        В вашем задании речь явно идёт о сотне слов и готовых фразах - вам полюбому создавать собственную языковую модель. В ней появятся и необходимые вам слова и правильные связи.
          на данный момент я понял что:
          1. мне 100% надо свой словарь делать (.dic файл)
          2. делать свою словарную модель (.lm или .dmp)

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

              имеется ли ограничение модели на количество слов понимаемых с ее помощью?

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

              Добавлено
              и еще такой вопрос:
              нигде не могу найти информацию есть ли сфинксу разница как настроен микрофон в системе? (на какой частоте он работает с системой)?

              или он автоматом ресемплирует входной поток до частоты рабочей модели?
                "т.е. все же лучше использовать имеющуюся модель?" - при отсутсвии у вас достаточно большой тренировочной базы - дкмаю да.

                "имеется ли ограничение модели на количество слов понимаемых с ее помощью?" - если в модели более 60000 слов могут начать те или иные проблемы

                "т.е. если при создании модели (к примеру) слово интернет никогда не произносилось, может ли быть оно распознано?" - если оно не использовалось при создании языковой модели - то не будет распознано - так будет сказать правильнее

                "или он автоматом ресемплирует входной поток до частоты рабочей модели? " - нет. либо задаётся при создании модели samplerate или ресемлирование внешними методами, либо манипуляция frate (c frate я не проводил никакого тестирования - это мои домыслы)

                nsh в который вам отвечал в этой теме является одним из разработчиков cmu sphinx.
                и судя по текущим коммитам - ключевой разработчик.
                выбирая между моими ответами и его я рекомендую выбирать его ;)
                  благодарю за ответы.
                  теперь все становится яснее.

                  только вот с этим злосчастным самплрейтом все еще не понятно...

                  сфинкс имеет СВОИ медоты захвата аудио с микрофона.
                  и вот собственно основной вопрос: в настройках качества записи с микрофона в системе (у меня реалтековская звуковуха и там есть такой параметр) можно установить частоту дискретизации аудио.
                  у меня минимальная частота 44100Гц.

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

                  задавать параметр samplerate или frate при инициализации ядра сфинкса не удалось - вылетает ошибка записи в защищенную память и т.д.

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

                  ну где же nst когда он так нужен?

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

                    знающие люди подскажите:

                    по ссылка с сайта формирую свой словарь следующего содержания:
                    влево
                    вправо
                    вверх
                    вниз
                    окно
                    развернуть
                    стоп
                    переместить
                    стоп
                    отмена

                    скачиваю с генерированные файлы lm и dic

                    подключаю их к проекту и ничего не работает!!!
                    использую модель с voxforge на 16000.

                    смотрю прилагаемый файл dic от модели - там все слова расписаны в латинской "транскрипции".

                    вопрос - как это сделать?

                    дальше: урезаю файл dic от используемой модели до следующего вида
                    влево v ll ee v a
                    влево(2) s ll ee v a
                    вправо f p r aa v a
                    вправо(2) s p r aa v a
                    вверх v vv ee r h
                    вниз v nn ii s
                    окно a k n oo
                    окно(2) t a k uu j u
                    развернуть r ay z vv i r n uu tt
                    развернуть(2) r ay z vv i r n uu l
                    стоп s t oo p
                    переместить pp ae rr ae mm i s tt ii t
                    переместить(2) pp ae rr ae mm i s tt ii f
                    стоп s t oo p
                    отмена a t mm ee n a

                    в итоге распозна.ются только слова:
                    влево
                    вверх
                    вниз
                    вправо
                    стоп
                    окно

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

                    нужно ли на урезанный (расширенный) словарь генерить новый файл dmp?

                    спасибо
                      Цитата
                      нужно ли на урезанный (расширенный) словарь генерить новый файл dmp?


                      Грамматику нужно написать в JSGF формате
                        Цитата nsh @


                        Так я так понял, что грамматика позволяет программе распознавать слова. составляемые из указанных частей?
                        или все таки с помощью JSGF можно обучить понимать фразы?
                        (в примерах указаны фразы, но я не понял куда (заместо какого файла) подключать JSGF.
                          Цитата
                          Так я так понял, что грамматика позволяет программе распознавать слова. составляемые из указанных частей?
                          или все таки с помощью JSGF можно обучить понимать фразы?


                          Я не понимаю этого вопроса

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


                          jsgf подключается с помощью ключа -jsgf вместо ключа -lm
                            Ранее вы писали
                            "#JSGF V1.0;

                            grammar camera;

                            public <camera> = <do> ( <cam> <prenum> <num1> | <num2> <cam> );
                            <do> = ( включить | выключить | отключить );
                            <cam> = ( камеру | видео-камеру );
                            <prenum> = [ номер ]
                            <num1> = ( один | два | три | четыре | пять | шесть | семь | восемь | девять );
                            <num2> = ( первую | вторую | третью | четвертую | пятую | шестую | седьмую | восьмую | девятую );"

                            я тут вижу модель построения фразы.
                            Т.е. (я как понимаю) используя данный файл сфинкс будет пытаться распознавать слова согласно этой схеме.

                            т.е. если он понял что первой слово включить, то список следующих слов в распознаваемой фразе автоматически урезается до перечисленных в этом файле вариантов.

                            если это так - то это не позволит модели более качественно понимать сложные слова, а лишь позволит качественнее понимать фразы...
                              Цитата
                              понимать сложные слова


                              Я не знаю, что такое "сложные" слова. Что ещё "простые" слова есть?
                                под сложными я подразумеваю похоже звучащие и длинные слова
                                к примеру:
                                развернуть - свернуть
                                переместить

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


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0384 ]   [ 15 queries used ]   [ Generated: 1.05.24, 16:02 GMT ]