Я не знаю ни одного декодера, который мог бы вам помочь. Программное обеспечение распознавания речи не работает таким образом.
Обычно такая вещь требует специальной реализации для динамического поиска луча. Это не огромная задача, может быть, 100 строк кода. Это также зависит от того, что производит ваш фонетический декодер. Является ли это фонетической решеткой (идеально) или это 1-лучший результат с оценками или просто 1-лучший результат без баллов.
Если у вас есть правильная решетка, вы можете попробовать openfst toolkit, где вы конвертируете LM и словарь в FST, а затем создаете решетку FST, а затем используйте fstbestpath для поиска наилучшего пути. Тем не менее, вместо всех этих фонетических преобразований вы можете просто написать динамический поиск.
Baidu в своих проектах также конвертирует речь в буквы, а затем использует языковую модель для исправления последовательности букв. Но они говорят, что без модели langauge она работает одинаково хорошо.