ECE497 Project Chronos Controlled Audio Effects

Team members: Joel Carlson, Brian Hulette

Description
Using the BeagleBoard audio drivers and the DSP, we will apply various effects to an audio input, and then output the result. We will interface a TI Chronos watch with the BeagleBoard and use it to control the parameters of the audio effects (for example - rotating the watch could adjust the center frequency of a band-pass filter).

Git Repository
For write access, email Joel Carlson to ask to be added to contributers list.

Read+Write Access: git@github.com:JoelsonCarl/Chronos-BeagleBoard-Audio.git

Read+Write Access: https://JoelsonCarl@github.com/JoelsonCarl/Chronos-BeagleBoard-Audio.git

Read Only Access: git://github.com/JoelsonCarl/Chronos-BeagleBoard-Audio.git

Tasks

 * Create adjustable audio effects (potentially using TI DSPLIB)
 * Low-Pass Filter
 * Band-Pass Filter
 * High-Pass Filter
 * Reverb
 * Flanger
 * Create a simple interface to test audio effects (either CLI or Qt)
 * Interface TI Chronos watch with BeagleBoard
 * Access accelerometer data
 * Register button presses

TI Chronos Watch
At the moment, we're using the default firmware that came with the watch. We will be using the "PowerPoint" (ppt) mode on the watch, which when activated and synced with the RF access point can register three different button presses on the watch.

At this point in time, we found a Python script that pulls button presses (found here). We're working to convert it to C code, but it is not yet working (and not yet in the repository).

BeagleBoard Linux Kernel Drivers
With the original kernel I had, after I plugged in the RF Access Point the  command showed me that the device was found, but it did not assign it. With the changes I outlined below to the kernel build, plugging in the RF Access Point and checking  shows that the device gets registered to.

The kernel I'm using is the version pulled via the OpenEmbedded bitbake process (linux-omap-psp-2.6.32-r100a+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155). After I had that kernel, I did the following.

Clean up the kernel $ make mrproper

Setup the config file to have the default settings $ make omap3_beagle_defconfig

Make the kernel $ make

After the kernel has compiled, I ran. In the configuration options, I went into. Within there, I put a "Y" on the following: Exit menuconfig and save the changes.
 * USB Modem (CDC ACM) Support
 * USB Serial Converter Support
 * USB TI 3410/5052 Serial Driver

Compile these changes and then build the uImage to boot from. $ make $ make uImage