aPL – Audio Processing Library
aPL, czyli Audio Processing Library, jest projektem zrealizowanym w ramach SKN WiWav. Celem tego projektu jest opracowanie podstaw pod otwartą bibliotekę programową do analizy oraz syntezy sygnałów akustycznych i telekomunikacyjnych. Projekt ma charakter rozwojowy, głównym jego elementem jest klasa o nazwie aPL, napisana w języku C++, zawierająca implementacje wybranych i powszechnie stosowanych algorytmów z zakresu analizy i syntezy sygnałów, zarówno akustycznych, jak i telekomunikacyjnych.
Opis projektu
Integralną częścią projektu jest przykładowy program komputerowy wykorzystujący wspomnianą wyżej klasę. Program ten ilustruje możliwości biblioteki w kontekście syntezy i analizy sygnałów. W praktyce program składa się dwóch części: programowego syntezatora oraz modułu dydaktycznego realizującego wizualizację działania algorytmów wykorzystanych w bibliotece. Na implementację syntezatora programowego składają się dwa oscylatory niskich częstotliwości, dwa oscylatory główne, filtr wyjściowy oraz generator obwiedni.
Wyzwalaczem dźwięku jest jednooktawowa klawiatura wkomponowana w graficzny interfejs użytkownika programu. Dydaktyczna część programu demonstrującego działanie biblioteki aPL, zawiera narzędzia umożliwiające generowanie, przechowywanie i analizę próbek sygnałów. Wśród tych narzędzi znajduje się np.: analiza widma, badanie autokorelacji, okienkowanie, kluczowanie, modulacja, filtracja.
Do czego można zastosować bibliotekę aPL?
Biblioteka aPL integruje w sobie funkcje przechwytywania i odtwarzania strumienia audio, głównie dzięki integracji z biblioteką RtAudio oraz RtMidi. Z kolei wykorzystanie biblioteki Libsndfile, umożliwia współpracę projektowanej biblioteki aPL z plikami dźwiękowymi w różnych formatach np.: wav, flac.
Projekt biblioteki w zaproponowanej formule umożliwi dalszy jej rozwój i zwiększenie
możliwości praktycznego wykorzystania w konkretnych zadaniach przetwarzania
i wizualizacji sygnałów.