На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
Страницы: (23) « Первая ... 10 11 [12] 13 14 ...  22 23  ( Перейти к последнему сообщению )  
> Работа с CMU Sphinx , Работа с CMU Sphinx 4.0
    nsh, спасибо за ответ!

    1. Скачал Sphinx4 [из svn](http://sourceforge.net/p/cmusphinx/code/HE...s/hl-interface/)
    2. Скачал и разархивировал [русскую акустическу юмодель с voxforge](https://sourceforge.net/projects/cmusphinx/...ian%20Voxforge/)
    3. Пересохранил все текстовые файлы в utf-8
    4. Поменял пути в файле "src/apps/edu/cmu/sphinx/demo/transcriber/Transcriber.java" (DictionaryPath указал к файлу "msu_ru_nsh.dic") как описано в [мануале "programmers guide"](http://cmusphinx.sourceforge.net/wiki/tutorialsphinx4)
    5. Собрал ant'ом
    6. Запустил Transcriber так:"$ java -mx312m -jar Transcriber.jar" (аудио – test.wav из скачанной модели)
    И получил тонну варнингов такого содержания:"PM edu.cmu.sphinx.linguist.dictionary.FastDictionary getWord WARNING: The dictionary is missing a phonetic transcription for the word 'хроно'". А через минуту и исключение:"Exception in thread "main" java.lang.OutOfMemoryError: Java heap space".

    Что теперь я не заметил и как это поправить?
      Увеличил память и теперь получаю:
      Slot 16 : </s>
      Exception in thread "main" java.lang.Error: Can't find WordResult in ConfidenceResult slot 16 for word поздно
      at edu.cmu.sphinx.result.MAPConfidenceScorer.score(MAPConfidenceScorer.java:117)
      at edu.cmu.sphinx.api.SpeechResult.<init>(SpeechResult.java:47)
      at edu.cmu.sphinx.api.AbstractSpeechRecognizer.getResult(AbstractSpeechRecognizer.java:54)
      at edu.cmu.sphinx.demo.transcriber.Transcriber.main(Transcriber.java:43)
        Здравствуйте! Никак не могу разобраться с кодировкой для русского языка в pocketsphinx. Настроил шрифт и кодировку консоли, файлы модели брал рекомендуемые здесь (словарь, как я понял, исходно уже в utf-8), но все равно в hyp всегда попадают иероглифы. Не подскажете, как справиться с этой проблемой?
          Цитата
          рекомендуемые здесь (словарь, как я понял, исходно уже в utf-8)


          Какие именно.

          Цитата
          но все равно в hyp всегда попадают иероглифы.


          Можно приложить снимок экрана. Это поможет понять проблему.
          Сообщение отредактировано: nsh -
            Цитата
            Какие именно.

            http://sourceforge.net/projects/cmusphinx/...ian%20Voxforge/
            Версия 0.2

            Цитата
            Можно приложить снимок экрана. Это поможет понять проблему.

            Screenshot.jpgПрикреплённый файлScreenshot.jpg (89,78 Кбайт, скачиваний: 936)
              В консоли все-ещё однобитная кодировка стоит. Как кодировку настраивали? Это читали:

              http://anvarichn.livejournal.com/43752.html
                Спасибо, теперь все нормально. Читал, настраивал, но по глупости не подумал, что chcp 65001 каждый раз надо задавать при вызове.
                  Приветствую Всех!

                  Запускаю распознавание так:

                  ExpandedWrap disabled
                    #!/bin/sh
                     
                    pocketsphinx_continuous \
                         -hmm model_parameters/msu_ru_nsh.cd_cont_1000_8gau_16000 \
                         -dict my_dictionary_out \
                         -lm lmbase.lm.DMP \
                         -hyp outfile


                  -hyp output file name

                  -hyp outfile - распознаваемые слова должны попадать в файл outfile, но этот файл не создается


                  Подскажите как Вы получаете распознаваемые слова, для дальнейшего использования.
                    -hyp не работает в pocketsphinx_continuous, слова печатаются на стандартный вывод. Перенаправить его в файл можно средствами shell:

                    ExpandedWrap disabled
                          pocketsphinx_continuous -infile file.wav > file.txt
                      Уважаемые знатоки, прошу ваших разьяснений. Уже достаточно продолжительное время пытаюсь хоть как то подружиться со сфинксом, но никак не могу решить вопрос ужасающе низкой производительности. При работе с обычным SPHINX4 дело ещё как то двигалось, хотя и там случались непонятные "провисания". Однако при переходе на sphinx4-5prealpha, производительность упала настолько, что я поначалу решил, что компьютер просто завис. Однако дальнейшие исследования показали, что время распознавания увеличилось до десятков минут. Длительный и планомерный поиск, равно как и чтение cmusphinx.sourceforge.net не дало мне ровным счетом ничего. Ситуация ещё усугубляется тем, что для phinx4-5prealpha я нигде не могу найти целиком и полностью законченного какого-нибудь простейшего примера. Характеристики железа: 4х ядерный проц 2500, 8Гб ОЗУ. На всякий случай привожу пример своего helloword-a.


                      package testsphinxconfignew;

                      import edu.cmu.sphinx.api.Configuration;
                      import edu.cmu.sphinx.api.SpeechResult;
                      import edu.cmu.sphinx.api.LiveSpeechRecognizer;

                      import edu.cmu.sphinx.recognizer.Recognizer;
                      import edu.cmu.sphinx.result.Result;
                      import edu.cmu.sphinx.util.props.ConfigurationManager;*/


                      public class TestSphinxConfigNew
                      {
                      public static void main(String[] args) throws Exception
                      {
                      Configuration configuration = new Configuration();

                      // Set path to acoustic model.
                      configuration.setAcousticModelPath("resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz");
                      // Set path to dictionary.
                      configuration.setDictionaryPath("resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz/dict/cmudict.0.6d");
                      // Set language model.
                      configuration.setLanguageModelPath("en-us.lm.dmp");

                      LiveSpeechRecognizer recognizer = new LiveSpeechRecognizer(configuration);
                      // Start recognition process pruning previously cached data.
                      recognizer.startRecognition(true);

                      SpeechResult result = recognizer.getResult();

                      // Pause recognition process. It can be resumed then with startRecognition(false).
                      recognizer.stopRecognition();

                      System.out.println(result.getHypothesis());
                      }
                      }

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


                        Что эта программа должна делать? Разные примеры использования можно найти в каталоге sphinx4/src/apps/edu/cmu/sphinx/demo в sphinx4-5prealpha или в пакете sphinx4-samples на github
                          nsh, спасибо за ссылку. Уточню, интересует программа, позволяющая распознавать человеческую речь с микрофона. В указанной ссылке на примеры, так понимаю наиболее подходит пример "dialog". Не мог бы кто нибудь объяснить мне, как его запустить? В среде netbeans я создал новый проект, добавил туда файл исходника DialogDemo.java. Добавил библиотеки sphinx4.jar и WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar. При сборке ошибок не выдает, однако при запуске пишет:

                          Property exception component:'acousticModelLoader' property:'location' - Can't locate resource:/edu/cmu/sphinx/models/acoustic/wsj
                          edu.cmu.sphinx.util.props.InternalConfigurationException: Can't locate resource:/edu/cmu/sphinx/models/acoustic/wsj

                          Чего ещё не хватает? Надо понимать, ещё куда то необходимо добавить файлы dialog.gram, digits.grxml, weather.lm и weather.samples. Куда их добавить и как это сделать. Как вы можете заметить, с java я так же знаком достаточно непродолжительное время, так что если кто то может поделиться простейшим законченным helloword-ом, позволяющим распознавать с микрофона, или указать ресурс, где доступно описывается, как этот helloword создать - буду очень признателен.
                            Цитата
                            В среде netbeans я создал новый проект, добавил туда файл исходника DialogDemo.java. Добавил библиотеки sphinx4.jar и WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar.


                            Если взяли исходник из github, надо было и sphinx4 оттуда же собрать. Тогда нужно в проект добавлять новые пакеты sphinx4-core, sphinx4-data, sphinx4-samples

                            Если хотите работать с версией 5prealpha, нужно было пример из 5prealpha брать

                            Цитата
                            Надо понимать, ещё куда то необходимо добавить файлы dialog.gram, digits.grxml, weather.lm и weather.samples. Куда их добавить и как это сделать.


                            Добавить в проект просто, в результате они должны быть пути поиска классов (classpath).
                            Сообщение отредактировано: nsh -
                              >>Если взяли исходник из github, надо было и sphinx4 оттуда же собрать. Тогда нужно в проект добавлять новые пакеты sphinx4-core, sphinx4-data, sphinx4-samples

                              Скачал из github sphinx4 и попытался собрать. Получил:

                              ...
                              Tests run: 66, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 10.859 sec <<< FAILURE!

                              Results :

                              Failed tests: testSerialization(edu.cmu.sphinx.util.props.ConfigurationManagerTest): com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.

                              Tests run: 66, Failures: 1, Errors: 0, Skipped: 0

                              Reactor Summary:

                              Sphinx4 ........................................... SUCCESS [12.531s]
                              Sphinx4 models .................................... SUCCESS [23.875s]
                              Sphinx4 core ...................................... FAILURE [33.422s]
                              Sphinx4 demo applications ......................... SKIPPED
                              ------------------------------------------------------------------------
                              BUILD FAILURE

                              Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project sphinx4-core: There are test failures.
                              ...

                              Ни одного jar-файла не создано. Попытался поискать описание данной ошибки в интернете - ничего не нашел. Подскажите пожалуйста, что здесь ещё можно сделать
                                1) Обновите Maven
                                2) Предоставьте полный журнал сборки, а не выдежку из него
                                3) Предоставьте информацию о Вашей среде разработки - версия Maven, версия Java, версия OS
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (23) « Первая ... 10 11 [12] 13 14 ...  22 23


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