Presentation is loading. Please wait.

Presentation is loading. Please wait.

Loop Board ECE 3551 Final Project by Brian Robl. Objectives Use the Blackfin BF533 EZ-KIT to create a 4 track audio looper.  Utilize 32MB of external.

Similar presentations


Presentation on theme: "Loop Board ECE 3551 Final Project by Brian Robl. Objectives Use the Blackfin BF533 EZ-KIT to create a 4 track audio looper.  Utilize 32MB of external."— Presentation transcript:

1 Loop Board ECE 3551 Final Project by Brian Robl

2 Objectives Use the Blackfin BF533 EZ-KIT to create a 4 track audio looper.  Utilize 32MB of external SDRAM.  Push buttons used to toggle recording off and on.  LEDs signify if recording is enabled or disabled.  Pointers used to record and loop audio.

3 Common Uses Musicians use loop pedals to overlay recorded tracks over one another.  Make a fuller sound  Creating songs Djs may use this to mix songs together.

4 Recording to the SDRAM SDRAM split into 4 partitions. One for each track. ///////////Right Channel0 Partition//////////////////////// #define pRAMstartR(volatile unsigned int *)0x800000 #define pRAMendR(volatile unsigned int *)0xFFFFFC ///////////Right Channel1 Partition//////////////////////// #define pRAMstartR1 (volatile unsigned int *)0x1800000 #define pRAMendR1 (volatile unsigned int *)0x1FFFFFC ///////////Left Channel0 Partition//////////////////////// #define pRAMstartL(volatile unsigned int *)0x00000000 #define pRAMendL(volatile unsigned int *)0x7FFFFC ///////////Left Channel1 Partition//////////////////////// #define pRAMstartL1 (volatile unsigned int *)0x1000000 #define pRAMendL1 (volatile unsigned int *)0x17FFFFC

5 Recording Cont. Pointer set to starting address of partition. Stores sample and then address gets incremented. if(channel == 0) { if(pRecordR <= pRAMendR) //if record pointer address is less than ending address for Channel0R partition { iChannel0RightOut = iChannel0RightIn; //output input in real-time *pRecordR = iChannel0RightIn; //input becomes recorded pRecordR++;//increment address for record pointer if(pRecordR > pRAMendR) { pRecordR = pRAMstartR; pF8_LED = 0x00; //turn off LED ucActive = pF8_LED|pF9_LED|pF10_LED|pF11_LED; *pFlashA_PortB_Data = ucActive; } Process_Data(); //output rest

6 Loop Playback Another pointer is used to iterate through the memory partition that contains data and store it in the output. if(channel == 0) { if(playR < pRecordR) //if play pointer address is less than end recording pointer address { iChannel0RightOut = *playR; //output recorded data until end of recording playR++; //increment address for play pointer } else if(playR >= pRecordR) //if end of recording address is reached, { playR = pStopR; //reset pointer to beginning } Process_Data(); //output recording

7 Playback cont. Recorded audio played back from each output channel.  Ichannel0LeftOut  Ichannel0RightOut  Ichannel1LeftOut  Ichannel1RightOut

8 Questions? Thank you for your attention.


Download ppt "Loop Board ECE 3551 Final Project by Brian Robl. Objectives Use the Blackfin BF533 EZ-KIT to create a 4 track audio looper.  Utilize 32MB of external."

Similar presentations


Ads by Google