Алгоритм обработки сигналов Psola или Wsola в Delphi - PullRequest
1 голос
/ 31 августа 2011

Я давно пытаюсь найти алгоритм PSOLA (Pitch Synchronous Overlap Add) или WSOLA (Waveform Подобие перекрытия Add), которые являются алгоритмами обработки звука или сигналов.

Я нашел это в c ++, но у меня нет опыта в c ++, и мне трудно передать его на Pascal. У кого-нибудь есть этот код на Паскале или вы знаете, где его можно скопировать?

Примерно такой пример, который есть в C ++ http://sourceforge.net/projects/mffmtimescale/files/v3%20stable/v3.9/WSOLA.v.3.9.zip/download?use_mirror=ufpr

Ответы [ 2 ]

3 голосов
/ 31 августа 2011

Попробуйте SoundTouch DLL , он поставляется с модулем импорта Delphi, поэтому вы можете напрямую использовать DLL. Не должно быть слишком сложно его скомпилировать. Просто скачайте бесплатный VC ++ Express с сайта загрузки MS и скомпилируйте его с этим или попросите кого-нибудь с VC ++ скомпилировать его для вас.

FWIW, который знает, с некоторыми изменениями, может также скомпилироваться с C ++ Builder.

1 голос
/ 31 августа 2011

Около десяти лет назад я использовал praat в FSeqEdit (программа Delphi) для выполнения таких вычислений, но я думаю, что тот же подход все еще будет работать сегодня.

Я написал несколько скриптов praat и выполняю их через praatcons.exe (консольная версия praat).Вы можете скачать консольную версию с этой страницы: http://www.fon.hum.uva.nl/praat/download_win.html

Это работает довольно хорошо.

Я обычно использую этот подход: я вручную проверяю, какой тип преобразований и вычислений необходимо выполнить с помощьюGUI версия Praat.Как только я найду то, что мне нужно, я создаю для него скрипт и запускаю его с консольной версией.

Praat очень мощный, поэтому, если вы еще не знали об этом, обязательно проверьте его.

Здесь есть страница, которая показывает, как работать с ресинтезом PSOLA: http://www.ling.ohio -state.edu / ~ kyoon / praat-tut / praat-tut2.html

Дайте мне знать, если вы хотите увидеть пример кода о том, как интегрировать его в ваше приложение Delphi (на самом деле это довольно просто).

...