Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.222.108.18] |
|
Страницы: (4) 1 [2] 3 4 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Я не совсем понимаю, о чём тут вопрос, лучше задавать его с примерами кода. Если последние фреймы относятся к тишине, то она должна попасть в результат, а слово должно закончиться раньше. Плохие пути в результат не попадут, попадает только наилучший и все, с ним связанные.
|
Сообщ.
#17
,
|
|
|
спасибо за ответ)
суть в том, что слова не имеют четкой границы завершения, их конец длится намного больше, чем в реальности, тоже самое относится к ошибочным словам, которые вышли из акустики, но реально их нет в потоке, поэтому пересечений между словами гораздо больше, и, следовательно, путей в решетке тоже больше, чем надо) что ведет к возрастанию вероятности того, что ошибочный путь будет иметь очень хороший вес ... я пока еще не пробовал реализовать это, хотя в общем-то не сложно сделать костыль, при построении решетки ограничивать последний последний фрейм слова наибольшим расстоянием от первого последнего фрейма, скажем, в 10 фреймов, но там возникают проблемки с привязкой в ячейке таблицы bp, нужно разбираться, насколько это критично ... ну и время нужно выбрать для этого дела, а со временем сейчас туговато) поэтому спросил, может я смотрю то, что уже давно известно и попробовано) |
Сообщ.
#18
,
|
|
|
добрый день,
меня глючит или это косяк, ngram_search.c, строка 394, отсутствует проверка на path != -1 |
Сообщ.
#19
,
|
|
|
Прошу прощения, не сразу понял. В какой версии это строка 394?
|
Сообщ.
#20
,
|
|
|
в последней, 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) {.... |
Сообщ.
#21
,
|
|
|
интересно, в параллель можно запустить несколько процессов декодинга с одним ps_decoder_t?
т.е. если есть одновременно несколько микрофонов и стоит задача одновременного декодинга, то надо для каждго микрофона поднимать свой ps_decoder_t или достаточно одного? |
Сообщ.
#22
,
|
|
|
Цитата в параллель можно запустить несколько процессов декодинга с одним ps_decoder_t? Нет Цитата то надо для каждго микрофона поднимать свой ps_decoder_t Да |
Сообщ.
#23
,
|
|
|
иными словами облачный сервис из сфинкса без доработки сделать не получится? ведь старт каждоного нового ps_decoder_t - длительная процедура, поэтому если для каждого запроса стартовать новый ps_decoder_t то будет значительная задержка
|
Сообщ.
#24
,
|
|
|
Для этих целей применяется шаблон Объектный_пул
|
Сообщ.
#25
,
|
|
|
иными словами делается массив ps_decoder_t -ов ...
в плане памяти это доп расходы ... интересно, большие? с другой стороны добавить многопоточность дело не сложное, вытащить в отдельную структуру потоко-зависимые данные, типа звуковой поток, круговые сеп-фич-буферы, битовые буфера для расчета сенонов, буфера активных слов, bptbl + сопуствующие, dag ... может еще че забыл ... стоит овчинка выделки? |
Сообщ.
#26
,
|
|
|
Цитата с другой стороны добавить многопоточность дело не сложное, вытащить в отдельную структуру потоко-зависимые данные, типа звуковой поток, круговые сеп-фич-буферы, битовые буфера для расчета сенонов, буфера активных слов, bptbl + сопуствующие, dag ... может еще че забыл ... стоит овчинка выделки? Это не нужно. |
Сообщ.
#27
,
|
|
|
согласен гемор, двойная инициализация на порядок проще
|
Сообщ.
#28
,
|
|
|
добрый день)
терзают смутные сомнения) в декодере акустика начинает работать с фейкового слова <s>, пропуская 3 фрейма перед началом полноценного распознавания слов ... 3 фрейма, насколько я понимаю, это 30 мс, время сопоставимое с с длительностью согласных ... я уж не говорю про свертки фреймов в начале аттеранса - для получения первых фич требуется несколько фреймов, количеством в зависимости от размеров окон, это еще пропуск нескольких фреймов не связано ли плохое распознавание первых слов с этим моментом? довольно часто выходят на первое место слова, созвучные с исходным с откинутыми первыми звуками : кухня - идет по акустическому скорингу после - уху, луку, руку |
Сообщ.
#29
,
|
|
|
Цитата в декодере акустика начинает работать с фейкового слова <s>, пропуская 3 фрейма перед началом полноценного распознавания слов ... 3 фрейма, насколько я понимаю, это 30 мс, время сопоставимое с с длительностью согласных ... В начале декодирования оценивается большое число параметров - уровень шума, например. Затем идёт оценка CMN. Для этого нужно гораздо больше времени, чем 30мс. Детектор речи передаёт данные на распознавание, начиная с некоторого буфера. Поэтому <s> в начале это не проблема. Но декодирование лучше начинать со значительного куска без речи. |
Сообщ.
#30
,
|
|
|
вот об этом и говорю, что лучше брать небольшой запас фреймов перед официальным началом аттеранса,
т.е. сейчас считается, что аттеранс начинается там, где встречаются N фреймов, которые превышают заданный порог snr ... может быть стоит брать небольшой запас фреймов перед этими N фреймами ... вроде не сложно сделать, попробую на досуге пс. кстати, что такое CMN? |