В настоящее время я использую Klatt для создания гласных, и он был написан и скомпилирован с C http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/speech/systems/klatt/. Я автоматически создаю гласные с помощью программы Python, вызывая команды терминала, которые выводят WAV-файл. Этот wavefile затем считывается с диска программой Python. Я либо смотрел на создание кода Klatt на Python, либо было легко расширить код Klatt, чтобы он возвращал WAV-файл в массив numpy, у меня тоже есть доступ. Любые предложения о том, как это сделать или как лучше всего это сделать.Расширение в настоящее время программы Klatt C для взаимодействия со скриптом с использованием numpy
Расширение в настоящее время программы Klatt C для взаимодействия со скриптом с использованием numpy
ответ
Я пытаюсь найти пример кода для вокодера LPC, а именно LPC-декодера, который точно синтезирует речь с использованием коэффициентов LPC и сигнала возбуждения. Это все так прекрасно, но трудно найти пример исходного кода. Klatt работает над очень похожим, если не то же, механизмом. Если кто-то знает что-то полезное о синтезе LPC, пожалуйста, помогите.
Хорошая реализация декодера LPC в Python может полностью заменить Klatt для вашей цели. Но вы можете связать его, если вы скомпилируете его в качестве объекта общей библиотеки или библиотеки DLL или используете конвейер для вывода вывода.
В общие/динамические библиотеки, которые вы можете связать с помощью модуля ctypes. Чтобы запустить его и прочитать его stdout, я предлагаю модуль подпроцесса. Но вы можете сделать это с os.popen как welll. Затем вы можете поймать вывод и сохранить его в массив numpy и делать с ним все, что захотите.
Но переписывание Klatt в Python - неплохая идея. Если вы этого не сделаете, я, вероятно, буду.