Данная статья является дополнением к информации представленной в данной статье. Рекомендую сначала ознакомиться с ней.
На момент 2025 года пользователь, решивший повторить опыт, представленный в статье первоисточнике, столкнётся с рядом следующих трудностей:
Несовместимость версий утилит с OpenFst
Несовместимость Phonetisaurus c версиями ngram совместимых с новыми версиями OpenFst
Невозможность установки Intel MKL
В данной статье я опишу подход которым я смог решить эти проблемы и создать нужную мне модель для работы в моём C# проекте.

Начало проблем
Для начало вам нужно установить, linux на базе ubuntu или debian, это важно !
Скрипты написанные в оригинальном репозитории не будут корректно работать.
Так же если вы используете Fedora или подобные дистрибутивы, вы вероятно столкнетесь с проблемой связанной с gpg ключами при попытке самостоятельно накатить Intel MKL.
Наилучшим подходом для облегчения задачи будет использование docker образа Kaldiasr, пусть в этом образе и не присутствует ничего кроме оригинального репозитория на базе Ubuntu. Однако это уже предотвратит многие проблемы на нашем тернистом пути.
Установка Kaldi
Так как мы используем docker образ в котором уже есть оригинальный репозиторий, нам не нужно скачивать его, поэтому сразу переходим к установке.
Опускаемся в директорию kaldi/tools
cd kaldi/tools
Первым делом разбираемся с версией OpenFst поскольку та что первоначально установлена в директории несовместима с нужными нам Ngram и Phonetisaurus, более того она несовместима с теми версиями Ngram и Phonetisaurus которые устанавливаются через скрипты находящиеся в папке extras.
Поэтому сразу удаляем папку openfst и openfst-X.X.X находящуюся в папке tools.
Далее открываем через nano Makefile в папке tools , nano не установлен по умолчанию используйте apt, чтобы его установить
nano Makefile
В самом верху можно увидеть переменную с устанавливаемой версией OpenFST, меняем ее с указанной версии на версию ниже 1.8, (я использовал 1.6.7)
make openfst
Запускаем скрипт который проверяет наличие всех необходимых зависимостей
bash extras/check_dependencies.sh
Обратите внимание, что все скрипты мы запускаем из директории tools не опускаясь в директорию exstras ! Связанно это с тем что некоторые скрипты скачивают архивы в директорию из которой их вызывают. А нам как раз таки нужно все скачать в директорию tools.
Скрипт выдаст нам список того что необходимо установить. Устанавливаем так же как и сказано в оригинальной статье. Для всего что нам нужно есть скрипты в директории extras, включая intel mkl.
Ошибка при установке configure: error: fst/fst.h header not found
Ошибка связана с несовместимостью версий openFst, как я и писал выше версия openFst должна быть меньше 1.8.
Так же ошибка может быть связанна с некорректной установкой openFst
Дальше все действия аналогичны оригинальной статье. Просто повторяйте, действия указанные в ней. Если вы столкнулись с проблемами, вот небольшой траблшутинг:
Проблема с установкой Phonetisaurus через pip
Используйте -break-system-packages
при вызове pip, чтобы принудительно установить пакеты в системную среду.
Прочие проблемы с установкой через скрипты
Скорее всего, ваши пути к OpenFst не совпадают с теми что указаны в скриптах. Откройте нужный скрипт и пропишите туда нужный путь.
сделать это можно при конфигурации командой на подобие:
CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure