Streams USB audio with sound effects applied. Sound effect selected by joystick and intensity altered by tilting the mbed. Output to the mbed-application-board phono jack.

Dependencies:   C12832_lcd MMA7660 USBDevice mbed

/media/uploads/bw/img_1293.jpg

/* Uses the mbed LPC1768 and mbed-application-board to create a USB audio device
 * that streams audio from a host computer to headphones or powered speakers. 
 * A couple different sound effects can be applied to the stream in real-time,
 * and tilting the mbed alters intensity of the effect.
 *
 *                                               ECHO
 *       The joystick selects )                   |
 *       one of three effect  )       STRAIGHT -  o  - STRAIGHT
 *       modes.               )                   |
 *                                              REVERB   
 * 
 *
 *
 *                                               \\           ||    
 *       Tilting the mbed     )      ======       \\          ||
 *       determines intensity )                    \\         ||
 *       of the effect.       )
 *                                     0%         50%         100%  
 *
 * The LCD display shows the current effect mode, intesity and buffer level.
*/
Revision:
0:bbf6cf0eab95
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/delay.h	Thu Mar 27 21:27:04 2014 +0000
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Implements delay lines for audio samples.
+ * Bryan Wade
+ * 27 MAR 2014
+ ******************************************************************************/
+#ifndef DELAY_H
+#define DELAY_H
+
+#include <stdint.h>
+#include <stdlib.h>
+
+typedef struct delay_t delay_t; // Opaque type declaration.
+
+// Get a ptr to a new delay struct
+delay_t *Delay_Create(void);
+
+// Configure the delay length and ram location
+bool Delay_Configure(delay_t *delay, void *ram, size_t size);
+
+// Write one sample with feedback to the delay and get one sample out.
+int16_t Delay_WriteWithFeedback(delay_t *delay, int16_t dataIn, uint16_t gain);
+
+#endif