Я пытаюсь создать легкий дифонный синтезатор речи. Все кажется довольно простым, потому что мой родной язык имеет довольно простые правила произношения и обработки текста. Единственная проблема, на которую я наткнулся, это контроль высоты тона.
Насколько я понимаю, для управления высотой голоса большинство синтезаторов речи используют LPC (кодирование с линейным предсказанием), которое по существу отделяет информацию о высоте звука от записанных образцов голоса, а затем во время синтеза я могу предоставить свою собственную высоту звука как нужный.
Проблема в том, что я не специалист по DSP. Я использовал библиотеку Ooura FFT для извлечения информации об AFR, я немного знаком с использованием окон Hann и Hamming (сам реализовал код C++), но в основном я рассматриваю алгоритмы DSP как черные ящики.
Я надеялся найти какую-нибудь библиотеку с открытым исходным кодом, которая представляет собой просто код LPC с примерами использования, но ничего не нашел. Большая часть доступного кода (например, движок Festival) тесно интегрирована в синтезатор, и было бы довольно сложно отделить его и научиться его использовать.
Существует ли какая-либо библиотека DSP с открытым исходным кодом C/C++/C#/Java с алгоритмом LPC в стиле "черного ящика" и примерами использования, чтобы я мог просто добавить в нее образцы данных PCM и получить закодированный вывод LPC, а затем выбрасывать закодированные данные и синтезировать декодированные речевые данные?