На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
Страницы: (4) 1 [2] 3 4  все  ( Перейти к последнему сообщению )  
> Возможны ли динамические n-граммы в CMU sphinx?
    Я не совсем понимаю, о чём тут вопрос, лучше задавать его с примерами кода. Если последние фреймы относятся к тишине, то она должна попасть в результат, а слово должно закончиться раньше. Плохие пути в результат не попадут, попадает только наилучший и все, с ним связанные.
      спасибо за ответ)

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

      я пока еще не пробовал реализовать это, хотя в общем-то не сложно сделать костыль, при построении решетки ограничивать последний последний фрейм слова наибольшим расстоянием от первого последнего фрейма, скажем, в 10 фреймов, но там возникают проблемки с привязкой в ячейке таблицы bp, нужно разбираться, насколько это критично ... ну и время нужно выбрать для этого дела, а со временем сейчас туговато) поэтому спросил, может я смотрю то, что уже давно известно и попробовано)
      Сообщение отредактировано: w3264 -
        добрый день,
        меня глючит или это косяк,
        ngram_search.c, строка 394, отсутствует проверка на path != -1
          Прошу прощения, не сразу понял. В какой версии это строка 394?
          Сообщение отредактировано: nsh -
            в последней, 5prealpha

            void ngram_search_save_bp(ngram_search_t *ngs, int frame_idx, int32 w, int32 score, int32 path, int32 rc)
            ...
            if (bp != NO_BP) {
            if (frame_idx - ngs->bp_table[path].frame > NGRAM_HISTORY_LONG_WORD) {....
            Сообщение отредактировано: w3264 -
              интересно, в параллель можно запустить несколько процессов декодинга с одним ps_decoder_t?
              т.е. если есть одновременно несколько микрофонов и стоит задача одновременного декодинга, то надо для каждго микрофона поднимать свой ps_decoder_t или достаточно одного?
                Цитата
                в параллель можно запустить несколько процессов декодинга с одним ps_decoder_t?


                Нет

                Цитата
                то надо для каждго микрофона поднимать свой ps_decoder_t


                Да
                  иными словами облачный сервис из сфинкса без доработки сделать не получится? ведь старт каждоного нового ps_decoder_t - длительная процедура, поэтому если для каждого запроса стартовать новый ps_decoder_t то будет значительная задержка
                  Сообщение отредактировано: w3264 -
                    Для этих целей применяется шаблон Объектный_пул
                      иными словами делается массив ps_decoder_t -ов ...

                      в плане памяти это доп расходы ... интересно, большие?

                      с другой стороны добавить многопоточность дело не сложное, вытащить в отдельную структуру потоко-зависимые данные, типа звуковой поток, круговые сеп-фич-буферы, битовые буфера для расчета сенонов, буфера активных слов, bptbl + сопуствующие, dag ... может еще че забыл ... стоит овчинка выделки?
                      Сообщение отредактировано: w3264 -
                        Цитата
                        с другой стороны добавить многопоточность дело не сложное, вытащить в отдельную структуру потоко-зависимые данные, типа звуковой поток, круговые сеп-фич-буферы, битовые буфера для расчета сенонов, буфера активных слов, bptbl + сопуствующие, dag ... может еще че забыл ... стоит овчинка выделки?


                        Это не нужно.
                          согласен гемор, двойная инициализация на порядок проще
                            добрый день)

                            терзают смутные сомнения)

                            в декодере акустика начинает работать с фейкового слова <s>, пропуская 3 фрейма перед началом полноценного распознавания слов ... 3 фрейма, насколько я понимаю, это 30 мс, время сопоставимое с с длительностью согласных ...

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

                            не связано ли плохое распознавание первых слов с этим моментом?

                            довольно часто выходят на первое место слова, созвучные с исходным с откинутыми первыми звуками :
                            кухня - идет по акустическому скорингу после - уху, луку, руку
                            Сообщение отредактировано: w3264 -
                              Цитата
                              в декодере акустика начинает работать с фейкового слова <s>, пропуская 3 фрейма перед началом полноценного распознавания слов ... 3 фрейма, насколько я понимаю, это 30 мс, время сопоставимое с с длительностью согласных ...


                              В начале декодирования оценивается большое число параметров - уровень шума, например. Затем идёт оценка CMN. Для этого нужно гораздо больше времени, чем 30мс. Детектор речи передаёт данные на распознавание, начиная с некоторого буфера. Поэтому <s> в начале это не проблема. Но декодирование лучше начинать со значительного куска без речи.
                                вот об этом и говорю, что лучше брать небольшой запас фреймов перед официальным началом аттеранса,
                                т.е. сейчас считается, что аттеранс начинается там, где встречаются N фреймов, которые превышают заданный порог snr ... может быть стоит брать небольшой запас фреймов перед этими N фреймами ... вроде не сложно сделать, попробую на досуге

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


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0422 ]   [ 16 queries used ]   [ Generated: 16.04.24, 16:51 GMT ]