-
Notifications
You must be signed in to change notification settings - Fork 4
Project Overview
Of course all project parts can be built manually which is explained on the Build Instructions page. For a quick setup and easy usage a SD-Card image for BeagleBoard-X15 has been created which includes all project components ready for testing and experimenting. The git repo with all components is located in ~/git/libdsp-x15 directory of user debian. A short description of the project components can be found below. For more details checkout the single wiki pages.
Before Google Summer of Code the CTAG face2|4 Audio Card could be only used with a BeagleBone Black/Green. In my GSoC project I successfully ported the audio card driver to BeagleBoard-X15. The new (modified) driver can be used with both the BeagleBone Black/Green and BeagleBoard-X15 and supports all features of the AD1938 audio codec. For development the official BeagleBoard Linux kernel has been forked. For more details check out the CTAG face2 page.
To improve the CTAG face2|4 Audio System a user-space library (libdsp-x15) has been created which offers the following often required signal operations for digital audio applications:
- Fast Fourier Transformation (FFT) - Transforms signal in time domain to frequency domain (spectrum)
- Inverse Fast Fourier Transformation (IFFT) - Transforms signal in frequency domain to time domain
- Biquad Filter - Often used filter type in audio applications (can be high-pass, low-pass, band-pass, notch, ...)
For more details checkout the DSP Library (libdsp-x15) page.
For demonstration purposes of FFT operation and CTAG face2|4 Audio Card driver a realtime plot app has been created which uses JACK Audio Connection Kit (JACK) for audio input and SDL1 for the GUI. Everytime when JACK callback is executed with new audio data, the data is copied to input buffer of FFT and operation is executed on C66x DSPs. When DSP callback is called with resulting data, the data is displayed via SDL1. For more details check out the Realtime Spectrum Plot Demo page.
In the end of GSoC an additional idea came up to create a multichannel crossover which uses biquad filter operation with different coefficients applied to all audio input channels of CTAG face2|4 Audio Card. Unfortunately the Multichannel Crossover Demo App couldn't be finished in my Google Summer of Code project due to problems when using realtime audio input via JACK (with a generated sine the biquad filter operation works fine as you can see here). After GSoC I want to finish the application as mentioned on Future Work page.