aPL project

aPL – Audio Processing Library. 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.

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. Biblioteka aPL integruje w sobie funkcje przechwytywania i odtwarzania strumienia audio, głownie 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.
Kody źródłowe biblioteki będą niebawem dostępne jako otwarte repozytorium, postępy prac nad tym projektem będzie można obserwować  bezpośrednio na stronie projektu: http://www.wiwav.zut.edu.pl/apl/