Freescale H.I.T. Project #1:  MonkeyJam - A DIY Guitar Stomp Box

Document created by Eli Hughes on Mar 17, 2014Last modified by Eli Hughes on Sep 15, 2014
Version 15Show Document
  • View in full screen mode



Project Summary

 

SheldonJam.pngMonkeyJam will use the FRDM-K20D50 board (which has a Cortex M4 core with DSP instructions) along with the FRDM-JAM shield so you can  make your very

own guitar /bass  stomp box.  The end result will be a functional DSP system that will allow you to do high quality amplifier simulation and effects.

The FRDM-JAM does not limit you to DSP on musical instruments!  There are 3.5mm stereo jacks to DSP filtering any type of audio signal.    You could even use the USB interface to create a USB-MIDI Synthesizer!  Lastly,  no need to bring the house down.....  a headphone amplifier circuit is provided so you can jam out without bothering the neighbors.

 

MBED Support coming *very soon*

 

 

 

 

 

Skills Developed:

 

  • Real Time Processing
  • DSP Algorithms
  • Fixed Point Mathematics
  • 24-bit I2S Data Converter Interfacing
  • Soldering SOIC8 and 1206 Surface mount devices
  • Cortex CMSIS DSP Library

 

Materials:

 

 

 

Step 0: Prerequisite Videos


The videos are organized into a nice YouTube playlist:


H.I.T 1: Monkey Jam - YouTube


https://www.youtube.com/playlist?list=PLWM8NW5LEukgM-D5eRMtKZ8R2WfXnqKGp

 

  • MonkeyJam Watch Me 1st
  • FRDM-JAM Hardware Overview
  • MonkeyJam Software Overview
  • Introduction to Fixed Point Math for Embedded Systems - Part 1 of 3
  • Introduction to Fixed Point Math for Embedded Systems - Part 2 of 3
  • Introduction to Fixed Point Math for Embedded Systems - Part 3 of 3
  • Real Time Signal Processing Part 1 of 3
  • Real Time Signal Processing Part 2 of 3
  • Real Time Signal Processing Part 3 of 3
  • q31_t (Q0.31) Number Format for the CMSIS DSP Libraries and the MonkeyJam Software
  • Guitar physics in a nutshell
  • Ideas for hacking the MonkeyJam

 


Step 1: Get a FRDM-JAM

 

MonkeyJam Build Package on the FRDM-JAM site.    Please let us know if you are interested in a pre-assembled version.  If there is enough demand we will get some preassembled for purchase, I will get a Kickstarter going!   Don't be afraid to build it yourself,  Soldering is fun!  There is plenty of good stuff on the web on how to do SMT soldering.  All of the parts on the board are fairly simply once you get the hang of it and everything can be hand soldered  The key is having some decent tools.

 

Step 2: Put it Together


Attach the FRDM-JAM to the FRDM-K20D50.  The FRDM-K20D50 comes with female headers that you can solder on so the boards can be easily separated.  Note that as of Rev Gamma (current version),   it is possible to connect to a K64F.    The software isn't quite there but it hardware connections are available.   If you are unsure,  stick with the FRDM-K20D50

 

Step 3: Download


Download the Example Software from Github.  The video "Loading and Configuring the MonkeyJam Example Software" will step you though downloading the program and doing some basic configuration.

 

Step 4: Hack and Slash!


Plug In and jam!

 

Sound Samples


Each sound sample was my Carvin Ultra-V guitar plugged direct into the MonkeyJam Board.  The output was fed to a Zoom Handy Recorder H4n (Thanks to Brandin Claar of Remodulate LLC for the recorder).  The H4N recorded the signal at 44.1KHz Sample rate @16-bit.  The sound files were converted to mono format via Goldwave.  No processing (other than a  volume boost on the files) was performed.   I listen to the recording in real-time via a line out on the H4N. 



TestSetup.jpg



File (See Attachments)PatchNotes
STE-003-Neck-a12b12g12-mlike.wav

PATCH_TUBEY_CLEAN

Neck Pickup

 

Alpha Pot - 12 O'Cock

Beta Pot - 12 O'Cock

Gamma Pot - 12 O'Cock

 

Pattern Similar to Metallica Sanitarium

STE-005-Neck-a7b5g5-mlike.wav

PATCH_TUBEY_CLEAN

Neck Pickup

 

Alpha Pot - 7 O'Cock

Beta Pot - 5 O'Cock

Gamma Pot - 5 O'Cock

 

Pattern Similar to Metallica Sanitarium

STE-006-Neck-a12b7g5-mlike.wav

PATCH_TUBEY_CLEAN

Neck Pickup

 

 

 

Alpha Pot - 12 O'Cock

Beta Pot - 7 O'Cock

Gamma Pot - 5 O'Cock

 

 

 

Pattern Similar to Metallica Sanitarium

STE-007-Neck-VariousSettings-d-g-em_strum.wav

PATCH_TUBEY_CLEAN

Neck Pickup

 

The pots were moved around throughout the file

 

Strummed D-Major, G-Major and E-Minor

STE-008-Neck+Bridge-VariousSettings-d-g-em_strum.wav

PATCH_TUBEY_CLEAN

Neck + Bridge Pickup

 

The pots were moved around throughout the file

 

Strummed D-Major, G-Major and E-Minor

STE-009-Bridge-VariousSettings-d-g-em_strum.wav

PATCH_TUBEY_CLEAN

Bridge + Bridge Pickup

 

The pots were moved around throughout the file

 

Strummed D-Major, G-Major and E-Minor

STE-010-Neck-VariousSettings-Jammy.wav

PATCH_TUBEY_CLEAN

Neck + Bridge Pickup

 

The pots were moved around throughout the file

 

B-Minor Type Jam

STE-011- Bridge - Various Settings - On-Off Demo-RandomDroppedD.wav

PATCH_OVERDRIVE

Bridge Pickup

 

Alpha Pot - 5 O'Cock

Beta Pot - 12 O'Cock

Gamma Pot - 12 O'Cock

 

Random Dropped D twiddling

STE-012- Neck - Various Settings - On-Off Demo-Jammy.wav

PATCH_OVERDRIVE

Neck Pickup

 

Alpha Pot - 5 O'Cock

Beta Pot - 7 O'Cock

Gamma Pot - 7 O'Cock

 

Random B-Minor twiddles (bluesy)



PATCH_OVERDRIVE

 

 

            +––––––––––––––––––+      +––––––––––––––––––––––––––+      +–––––––––––––––––––––+                 
             |                  |      |                          |      |                     |                 
  Signal In  |    IIR BiQuad    |      |      Hard Overdrive      |      |      IIR BiQuad     |  Signal Out     
 +–––––––––+>|                  +––––+>|                          +––––+>|                     +–––––––––––––+>  
             |   [Peaking EQ]   |      | [atan24pi Look Up Table] |      |  [Low Pass Filter]  |                 
             |                  |      |                          |      |                     |                 
             +––––––––––––––––––+      +––––––––––––––––––––––––––+      +–––––––––––––––––––––+                 
                                                                                                                 
                 0.1 < Q < 1.5    [Pot Alpha]                                     Q = 0                          
                                                                                                                 
                 50 < Fs < 750    [Pot Gamma]                                   Fs = 2000                        
                                                                                                                 
               -20 < dbGain < 20  [Pot Beta]                                                                     
                                                                                                                 




























 

PATCH_TUBEY_CLEAN


             +––––––––––––––––––+      +––––––––––––––––––––––––––+      +–––––––––––––––––––––+                 
             |                  |      |                          |      |                     |                 
  Signal In  |    IIR BiQuad    |      |      Soft Overdrive      |      |      IIR BiQuad     |  Signal Out     
 +–––––––––+>|                  +––––+>|                          +––––+>|                     +–––––––––––––+>  
             |     [LowShelf]   |      | [atan4pi Look Up Table]  |      |  [Low Pass Filter]  |                 
             |                  |      |                          |      |                     |                 
             +––––––––––––––––––+      +––––––––––––––––––––––––––+      +–––––––––––––––––––––+                 
                                                                                                                 
                 0.05 < Q < 2.58   [Pot Alpha]                                     Q = 2.0                          
                                                                                                                 
                1000 < Fs < 4000    [Pot Beta]                                   Fs = 2500                        
                                                                                                             
               -15 < dbGain < 15  [Pot Gamma]                                                                     
                                                                                                             

























 

 

Utilities, etc:

 

 

Biquad Filter View - A IIR Biquad Filter Design & Visualization Tool

Outcomes