Embedded System Digital Audio Loop Station
Write an audio looping application for an Embedded System. In this project, you will be writing an application for an embedded processor, such as ARM Cortex M4 processor to record, select, and playback audio clips in real-time, modeled loosely on a subset of features of the defunct Electrix Repeater. http://www.radie.us/literature/electrix/repeater/repeater_manual_BETA.pdf
Note: Student will purchase hardware. COE may be able to reimburse costs.
Objectives
Definitions:
- Loop: a repeating musical figure. When we hit the end of a loop, it immediately starts playing again from the beginning
- Track: a unique place to record audio within a loop with level, pan controls
Objectives Create an application for any available MCU Development Board, such as Arduino, Teensy, STM32F4-Discovery that satisfies the following requirements:
- Store and access an arbitrarily large number of loops
- Can play at least one loop at a time
- A loop can be comprised of at least 4 mono or two stereo tracks. (The maximum number of concurrent tracks in a loop may be limited by your processor choice)
- Can playback and record at the same time.
- Immediately upon ending the record state, the recorded track plays back in time.
Includes at least three of the following features:
- Time Stretching: change tempo without affective pitch of loop
- Pitch Shifting: change pitch or key of each track independently
- Loop trimming: Auto-trim a track to match start and end points of a loop, tracking and matching the BPM in use
- Reverse Play: set a track to play backward within a loop
- Overdub: Sets record mode. When in Overdub recording will be mixed with any existing material on a given track. Replace mode over-writes the content of a selected track.
- Slip: offset the start point of a given track or combination of selected tracks.
- Pan: control relative signal left and right
Consider user-interaction. An audio looper is designed for playback and recording to happen concurrently. What controls and features make real-time recording and playback of loops very easy and straight forward? For example, how do you present punch in and punch out of recording as a loop is playing?
Example Parts List:
- Teensy USB board with pins: https://www.amazon.com/PJRC-Teensy-3-6-with-pins/dp/B01MG2PYYP/ref=sr_1_2?dchild=1&keywords=teensy+3.6+with+pins&qid=1600207500&sr=8-2
- Teensy 3 Audio Adapter Board: https://www.amazon.com/Audio-Adaptor-Board-Teensy-3-0/dp/B013V0ZK1E/ref=sr_1_3?dchild=1&keywords=teensy+3.6&qid=1600207431&sr=8-3
- Breadboard accessories (Note, this will include some things you don’t need, and the breadboard is pretty short, so you need a larger breadboard.) https://www.amazon.com/EL-CK-002-Electronic-Breadboard-Capacitor-Potentiometer/dp/B01ERP6WL4/ref=sr_1_5?dchild=1&keywords=LEDs+and+resistors&qid=1600208438&sr=8-5
- You will also likely need another large breadboard.
- San Disk Ultra memory card <= 32GB for the audio shield.
- Input Connection is sort of up to you: A nice mic preamp or a simple electret mic will do. Here’s such a mic that comes with a custom cut washer for the audio shield: https://www.pjrc.com/store/microphone.html
- Possibly also a 7-seg LED display for selecting files and setting numeric values?
Motivations
Work with the ARM processor. Learn audio processing. Be awesome.
Qualifications
Minimum Qualifications:
Beginner knowledge of electronics. Some experience with components, breadboarding and soldering. Maybe messed around with a Raspberry PI. That kind of thing.
Preferred Qualifications:None Listed
Details
Project Partner:
William Pfeil
NDA/IPA:No Agreement Required
Number Groups:1
Project Status:Accepting Applicants
Website:http://www.radie.us/literature/electrix/repeater/repeater_manual_BETA.pdf
Keywords:
Embedded SystemsIoTAudioARMEmbedded