На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
  
> Помогите сориентироваться и объяснить основные моменты , Легкий старт.
    Доброго дня.
    Помогите побыстрее втянуться в тему.
    меня интересуют - какие проекты существуют (opensource) на тему распознания речи.
    я научился хорошо манипулировать гуглом. хотелось бы локальное распознание.
    обозначу сразу, интересует = дикторозависимое распознание.
    с чего начать.
    и объясните на пальцах что такое сфикнс.
    спасибо
      Цитата
      меня интересуют - какие проекты существуют (opensource) на тему распознания речи.


      Проектов очень много - умные дома, приложения под Android, различные системы управления компьютером. Большинство из них в зачаточном состоянии, так как довести до ума какой-либо проект тяжело. Недавно, например, вот такой проект анонсировали, голосовой помощник на CMUSphinx:

      http://jasperproject.github.io

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

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


      Начать нужно с чтения введения в CMUSphinx (http://cmusphinx.sourceforge.net/wiki/tutorial), попробовать примеры. Дальше нужно писать интересующий код. Например, код на языке C: http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx. В процессе можно задавать вопросы, если что-то непонятно

      Цитата
      и объясните на пальцах что такое сфинкс.


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

      Отвечу на остальные Ваши вопросы.
        nsh, спасибо за ответ... Хорошие примеры на С#. не встречались ли Вам примеры на Delphi?
          и еще вопрос-
          чем длиннее анализируемая запись - тем лучше распознание? или это не верно!?
          есть какая то зависимость?
            извиняюсь что влезаю )

            Цитата
            чем длиннее анализируемая запись - тем лучше распознание? или это не верно!?
            есть какая то зависимость?

            По моему мнению есть некий минимум по которому можно определить окружаюшую обстановку.
            Но после превышения этого минимума длина записи ни сколько не повышает качество распознавания.
            В случаи с продуктами использующими HMM (из тех что мне довелось увидеть) увеличение длительности увеличивает длительность распознавания (случаи, при котором срабатывает VAD я пренебрёг).
            Сообщение отредактировано: zamir -
              Цитата
              Но после превышения этого минимума длина записи ни сколько не повышает качество распознавания.


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

              Добавлено
              Цитата
              nsh, спасибо за ответ... Хорошие примеры на С#. не встречались ли Вам примеры на Delphi?


              На Delphi тоже самое, функции из dll вызываются и возвращают результат.
                nsh, как же такое может быть... при наличии минуты записи - можно же столько наговорить.... очень много слов. как с этим увязать?

                Добавлено
                ведь мне кажется наоборот. все все слова же не распознаешь из минутной записи...
                помогите понять.

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


                  Пользователь говорит, Вы записываете. Постепенно распознавание улучшается. Просто не нужно всё сразу отбрасывать.

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


                  Не обязательно делать адаптацию постоянно. Адаптация делается один раз и потом работает. Например, в конце дня собираются все записи и направляются на адаптацию. На утро уже более точная модель используется. Чем больше данных, тем более точная. Пока адаптированной модели нет, используется общая модель, чуть менее аккуратная.
                    nsh, правильно ли я Вас понял - допустим пользователь говорит не важно что в течении часа и я это записал допустим в файл wav.
                    затем этот файл целиком может быть отправлен на адаптацию - и от этого улучшится распознание..?
                      Да, вы поняли правильно.
                        Информации показалось крайне мало. :(
                        Простую вещь не получается сделать.
                        прошу помощи (смотрите скриншот)
                        и не могли бы ткнуть пальцем где описаны все параметры подробней (кроме /?).
                        Прикреплённый файлПрикреплённый файл______________________________________________.png (182,74 Кбайт, скачиваний: 596)
                        Сообщение отредактировано: Emmys -
                          в cfg.txt указаны опции для работы с wav файлами
                          эти опции должны быть указаны при запуске pocketsphinx_batch
                          помимо этих опций должны быть опции с указанием акустической модели которую вы используете и фонетический словарь
                          также на скриншоте сказано что надо добавить опцию -ctl в которой указывается текстовый файл
                          в этом файле перчисляются имена wav файлов которые требуется распознать (без расширения .wav в данном случаи)
                            спасибо. по крупицам собираю с ваших слов информацию...
                            сделал как вы сказали. но теперь новая ошибка... если не трудно подскажите
                            Прикреплённый файлПрикреплённый файлerror2.jpg (180,11 Кбайт, скачиваний: 562)

                            Добавлено
                            zamir, я так понимаю что теперь не хватает акустической модели в данный момент?
                            вот отсюда я скачал файл.. я так понимаю это акустическая модель. как установить ее. ведь похоже без этого дальше ничего работать не будет.
                            http://www.repository.voxforge1.org/downlo...usticModels.tgz
                            Сообщение отредактировано: Emmys -
                              верно.
                              модели можно загрузить отсюда: http://sourceforge.net/projects/cmusphinx/...guage%20Models/

                              -hmm $AM \ <- языковая модель
                              -ctl list.ctl \
                              -adcin yes \
                              -adchdr 44 \
                              -cepdir . \
                              -cepext .wav \
                              -dict $DIC \ <- фонетический словарь
                              -lm $LM \ <- языковая модель
                                zamir, спасибо. голосовую модель указал, теперь дело за фонетическом словарем
                                я так понимаю мне нужен ru4sphinx, но зайдя на сайт совершенно не понятно какой именно мне файл нужно скачать

                                ExpandedWrap disabled
                                  D:\DB\Soft\HOME_SAPIENS\install\Home_Sapiens\client>E:\7778\bin\Release\pocketsp
                                  hinx_batch.exe E:\7778\bin\Release\cfg.txt
                                  INFO: cmd_ln.c(691): Parsing command line:
                                  \
                                          -hmm E:\7778\model\voxforge-ru-0.2\model_parameters\msu_ru_nsh.cd_cont_1
                                  000_8gau_16000 \
                                          -adcin yes \
                                          -adchdr 44 \
                                          -cepdir . \
                                          -cepext .wav \
                                          -ctl E:\7778\bin\Release\test9.wav \
                                          -dict $DIC \
                                          -lm E:\7778\model\voxforge-ru-0.2\model_parameters\msu_ru_nsh.cd_cont_10
                                  00_8gau_16000
                                   
                                  Current configuration:
                                  [NAME]          [DEFLT]         [VALUE]
                                  -adchdr         0               44
                                  -adcin          no              yes
                                  -agc            none            none
                                  -agcthresh      2.0             2.000000e+000
                                  -alpha          0.97            9.700000e-001
                                  -argfile
                                  -ascale         20.0            2.000000e+001
                                  -aw             1               1
                                  -backtrace      no              no
                                  -beam           1e-48           1.000000e-048
                                  -bestpath       yes             yes
                                  -bestpathlw     9.5             9.500000e+000
                                  -bghist         no              no
                                  -build_outdirs  yes             yes
                                  -cepdir                         .
                                  -cepext         .mfc            .wav
                                  -ceplen         13              13
                                  -cmn            current         current
                                  -cmninit        8.0             8.0
                                  -compallsen     no              no
                                  -ctl                            E:\7778\bin\Release\test9.wav
                                  -ctlcount       -1              -1
                                  -ctlincr        1               1
                                  -ctloffset      0               0
                                  -ctm
                                  -debug                          0
                                  -dict                           $DIC
                                  -dictcase       no              no
                                  -dither         no              no
                                  -doublebw       no              no
                                  -ds             1               1
                                  -fdict
                                  -feat           1s_c_d_dd       1s_c_d_dd
                                  -featparams
                                  -fillprob       1e-8            1.000000e-008
                                  -frate          100             100
                                  -fsg
                                  -fsgctl
                                  -fsgdir
                                  -fsgext
                                  -fsgusealtpron  yes             yes
                                  -fsgusefiller   yes             yes
                                  -fwdflat        yes             yes
                                  -fwdflatbeam    1e-64           1.000000e-064
                                  -fwdflatefwid   4               4
                                  -fwdflatlw      8.5             8.500000e+000
                                  -fwdflatsfwin   25              25
                                  -fwdflatwbeam   7e-29           7.000000e-029
                                  -fwdtree        yes             yes
                                  -hmm                            E:\7778\model\voxforge-ru-0.2\model_parameters\m
                                  su_ru_nsh.cd_cont_1000_8gau_16000
                                  -hyp
                                  -hypseg
                                  -input_endian   little          little
                                  -jsgf
                                  -kdmaxbbi       -1              -1
                                  -kdmaxdepth     0               0
                                  -kdtree
                                  -latsize        5000            5000
                                  -lda
                                  -ldadim         0               0
                                  -lextreedump    0               0
                                  -lifter         0               0
                                  -lm                             E:\7778\model\voxforge-ru-0.2\model_parameters\m
                                  su_ru_nsh.cd_cont_1000_8gau_16000
                                  -lmctl
                                  -lmname         default         default
                                  -lmnamectl
                                  -logbase        1.0001          1.000100e+000
                                  -logfn
                                  -logspec        no              no
                                  -lowerf         133.33334       1.333333e+002
                                  -lpbeam         1e-40           1.000000e-040
                                  -lponlybeam     7e-29           7.000000e-029
                                  -lw             6.5             6.500000e+000
                                  -maxhmmpf       -1              -1
                                  -maxnewoov      20              20
                                  -maxwpf         -1              -1
                                  -mdef
                                  -mean
                                  -mfclogdir
                                  -min_endfr      0               0
                                  -mixw
                                  -mixwfloor      0.0000001       1.000000e-007
                                  -mllr
                                  -mllrctl
                                  -mllrdir
                                  -mllrext
                                  -mmap           yes             yes
                                  -nbest          0               0
                                  -nbestdir
                                  -nbestext       .hyp            .hyp
                                  -ncep           13              13
                                  -nfft           512             512
                                  -nfilt          40              40
                                  -nwpen          1.0             1.000000e+000
                                  -outlatbeam     1e-5            1.000000e-005
                                  -outlatdir
                                  -outlatext      .lat            .lat
                                  -outlatfmt      s3              s3
                                  -pbeam          1e-48           1.000000e-048
                                  -pip            1.0             1.000000e+000
                                  -pl_beam        1e-10           1.000000e-010
                                  -pl_pbeam       1e-5            1.000000e-005
                                  -pl_window      0               0
                                  -rawlogdir
                                  -remove_dc      no              no
                                  -round_filters  yes             yes
                                  -samprate       16000           1.600000e+004
                                  -seed           -1              -1
                                  -sendump
                                  -senin          no              no
                                  -senlogdir
                                  -senmgau
                                  -silprob        0.005           5.000000e-003
                                  -smoothspec     no              no
                                  -svspec
                                  -tmat
                                  -tmatfloor      0.0001          1.000000e-004
                                  -topn           4               4
                                  -topn_beam      0               0
                                  -toprule
                                  -transform      legacy          legacy
                                  -unit_area      yes             yes
                                  -upperf         6855.4976       6.855498e+003
                                  -usewdphones    no              no
                                  -uw             1.0             1.000000e+000
                                  -var
                                  -varfloor       0.0001          1.000000e-004
                                  -varnorm        no              no
                                  -verbose        no              no
                                  -warp_params
                                  -warp_type      inverse_linear  inverse_linear
                                  -wbeam          7e-29           7.000000e-029
                                  -wip            0.65            6.500000e-001
                                  -wlen           0.025625        2.562500e-002
                                   
                                  INFO: cmd_ln.c(691): Parsing command line:
                                  \
                                          -alpha 0.97 \
                                          -dither yes \
                                          -doublebw no \
                                          -nfilt 40 \
                                          -ncep 13 \
                                          -lowerf 133.33334 \
                                          -upperf 6855.4976 \
                                          -nfft 512 \
                                          -wlen 0.0256 \
                                          -transform legacy \
                                          -feat 1s_c_d_dd \
                                          -agc none \
                                          -cmn current \
                                          -varnorm no
                                   
                                  Current configuration:
                                  [NAME]          [DEFLT]         [VALUE]
                                  -agc            none            none
                                  -agcthresh      2.0             2.000000e+000
                                  -alpha          0.97            9.700000e-001
                                  -ceplen         13              13
                                  -cmn            current         current
                                  -cmninit        8.0             8.0
                                  -dither         no              yes
                                  -doublebw       no              no
                                  -feat           1s_c_d_dd       1s_c_d_dd
                                  -frate          100             100
                                  -input_endian   little          little
                                  -lda
                                  -ldadim         0               0
                                  -lifter         0               0
                                  -logspec        no              no
                                  -lowerf         133.33334       1.333333e+002
                                  -ncep           13              13
                                  -nfft           512             512
                                  -nfilt          40              40
                                  -remove_dc      no              no
                                  -round_filters  yes             yes
                                  -samprate       16000           1.600000e+004
                                  -seed           -1              -1
                                  -smoothspec     no              no
                                  -svspec
                                  -transform      legacy          legacy
                                  -unit_area      yes             yes
                                  -upperf         6855.4976       6.855498e+003
                                  -varnorm        no              no
                                  -verbose        no              no
                                  -warp_params
                                  -warp_type      inverse_linear  inverse_linear
                                  -wlen           0.025625        2.560000e-002
                                   
                                  INFO: acmod.c(246): Parsed model-specific feature parameters from E:\7778\model\
                                  voxforge-ru-0.2\model_parameters\msu_ru_nsh.cd_cont_1000_8gau_16000/feat.params
                                  INFO: fe_interface.c(299): You are using the internal mechanism to generate the
                                  seed.
                                  INFO: feat.c(713): Initializing feature stream to type: '1s_c_d_dd', ceplen=13,
                                  CMN='current', VARNORM='no', AGC='none'
                                  INFO: cmn.c(142): mean[0]= 12.00, mean[1..12]= 0.0
                                  INFO: mdef.c(517): Reading model definition: E:\7778\model\voxforge-ru-0.2\model
                                  _parameters\msu_ru_nsh.cd_cont_1000_8gau_16000/mdef
                                  INFO: bin_mdef.c(179): Allocating 113108 * 8 bytes (883 KiB) for CD tree
                                  INFO: tmat.c(205): Reading HMM transition probability matrices: E:\7778\model\vo
                                  xforge-ru-0.2\model_parameters\msu_ru_nsh.cd_cont_1000_8gau_16000/transition_mat
                                  rices
                                  INFO: acmod.c(121): Attempting to use SCHMM computation module
                                  INFO: ms_gauden.c(198): Reading mixture gaussian parameter: E:\7778\model\voxfor
                                  ge-ru-0.2\model_parameters\msu_ru_nsh.cd_cont_1000_8gau_16000/means
                                  INFO: ms_gauden.c(292): 1153 codebook, 1 feature, size:
                                  INFO: ms_gauden.c(294):  8x39
                                  INFO: ms_gauden.c(198): Reading mixture gaussian parameter: E:\7778\model\voxfor
                                  ge-ru-0.2\model_parameters\msu_ru_nsh.cd_cont_1000_8gau_16000/variances
                                  INFO: ms_gauden.c(292): 1153 codebook, 1 feature, size:
                                  INFO: ms_gauden.c(294):  8x39
                                  INFO: ms_gauden.c(354): 879 variance values floored
                                  INFO: acmod.c(123): Attempting to use PTHMM computation module
                                  INFO: ms_gauden.c(198): Reading mixture gaussian parameter: E:\7778\model\voxfor
                                  ge-ru-0.2\model_parameters\msu_ru_nsh.cd_cont_1000_8gau_16000/means
                                  INFO: ms_gauden.c(292): 1153 codebook, 1 feature, size:
                                  INFO: ms_gauden.c(294):  8x39
                                  INFO: ms_gauden.c(198): Reading mixture gaussian parameter: E:\7778\model\voxfor
                                  ge-ru-0.2\model_parameters\msu_ru_nsh.cd_cont_1000_8gau_16000/variances
                                  INFO: ms_gauden.c(292): 1153 codebook, 1 feature, size:
                                  INFO: ms_gauden.c(294):  8x39
                                  INFO: ms_gauden.c(354): 879 variance values floored
                                  INFO: ptm_mgau.c(792): Number of codebooks exceeds 256: 1153
                                  INFO: acmod.c(125): Falling back to general multi-stream GMM computation
                                  INFO: ms_gauden.c(198): Reading mixture gaussian parameter: E:\7778\model\voxfor
                                  ge-ru-0.2\model_parameters\msu_ru_nsh.cd_cont_1000_8gau_16000/means
                                  INFO: ms_gauden.c(292): 1153 codebook, 1 feature, size:
                                  INFO: ms_gauden.c(294):  8x39
                                  INFO: ms_gauden.c(198): Reading mixture gaussian parameter: E:\7778\model\voxfor
                                  ge-ru-0.2\model_parameters\msu_ru_nsh.cd_cont_1000_8gau_16000/variances
                                  INFO: ms_gauden.c(292): 1153 codebook, 1 feature, size:
                                  INFO: ms_gauden.c(294):  8x39
                                  INFO: ms_gauden.c(354): 879 variance values floored
                                  INFO: ms_senone.c(149): Reading senone mixture weights: E:\7778\model\voxforge-r
                                  u-0.2\model_parameters\msu_ru_nsh.cd_cont_1000_8gau_16000/mixture_weights
                                  INFO: ms_senone.c(200): Truncating senone logs3(pdf) values by 10 bits
                                  INFO: ms_senone.c(207): Not transposing mixture weights in memory
                                  INFO: ms_senone.c(266): Read mixture weights for 1153 senones: 1 features x 8 co
                                  dewords
                                  INFO: ms_senone.c(320): Mapping senones to individual codebooks
                                  INFO: ms_mgau.c(141): The value of topn: 4
                                  SYSTEM_ERROR: "dict.c", line 274: Failed to open dictionary file '$DIC' for read
                                  ing: No such file or directory
                                  FATAL_ERROR: "batch.c", line 819: PocketSphinx decoder init failed
                                   
                                  D:\DB\Soft\HOME_SAPIENS\install\Home_Sapiens\client>


                                Добавлено
                                Смотрю вот тут: https://github.com/zamiron/ru4sphinx
                                перечислите/укажите пожалуйста что я должен скачать

                                Добавлено
                                вроде как вот эта папка мне нужна https://github.com/zamiron/ru4sphinx/tree/master/text2dict
                                Сообщение отредактировано: Emmys -
                                  фонетический словарь обычно идёт с акустической и языковой моделью - так как у акустической модели может быть свой набор фонем, а у языковой свой набор слов
                                  ru4sphinx предалагает свой некий набор фонем и фонетическую тракскрипцию
                                  проект следует использовать при создании своих акустических и языкововых моделей, либо совместо с теми акустическими моделями, что были созданы при помощи этого проекта: http://sourceforge.net/projects/cmusphinx/...phology%20Zero/
                                    спасибо большое :) не без помощи, но получилось именно так как хотел. слова распознает и еще лучше стал понимать как это работает.
                                    а какой принцип адаптации акустической модели к конкретному диктору. расскажите примерно как это все происходит. основы хотя бы
                                    Сообщение отредактировано: Emmys -
                                      точно также как тренировка на последних этапах
                                      подробное описание вот здесь: http://cmusphinx.sourceforge.net/wiki/tutorialadapt
                                        zamir, можете пояснить что значит
                                        Цитата
                                        точно также как тренировка на последних этапах

                                        я не делал тренеровки на последних этапах. как нужно это делать примерно.

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

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

                                          Всё верно.
                                          Файлов побольше.
                                          Создали новую тренировочную базу и адаптировали на базе неё.

                                          Цитата
                                          а какой длинны. что говорить при этом не написано. мне бы чуть подробней.

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


                                          Рейтинг@Mail.ru
                                          [ Script execution time: 0,0545 ]   [ 17 queries used ]   [ Generated: 8.09.24, 10:48 GMT ]