Digital Effects Box for Guitar Design...

20
Digital Effects Box for Guitar Design Overview Matthew Moskwa and Schuyler Senft-Grupp 6.111 Final Project

Transcript of Digital Effects Box for Guitar Design...

Page 1: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Digital Effects Box for GuitarDesign Overview

Matthew Moskwa and Schuyler Senft-Grupp

6.111 Final Project

Page 2: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Design Goals

• Real-time processing of audio signal • Create effects in the frequency domain• Visual interface for effect manipulation• Visualization of effect on spectrum

Page 3: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Block Diagram

Page 4: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

FFT

Page 5: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

FFT Module

• FFT module is defined by two parameters: sample rate and number of samples

• Output is magnitude of frequency band, where: bandwidth = Sample Rate/(2 * Number of Samples)

• Use 8 instances of Xilinx 128-pt FFT • Each instance takes in 128 samples from AC97 module at

a different sampling rate, from 384 Hz - 48 kHz• Each FFT corresponds to one octave of tones

Page 6: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

FFT Module con’t• Musical pitch is logarithmic in

frequency• Resolution of frequency bands

needs to be much higher at lower frequencies, on the order of 3 Hz

• At higher frequencies, resolution only needs to be on the order of 500Hz

Frequency Vs. Octave

0

2000

4000

6000

8000

10000

12000

0 1 2 3 4 5 6 7 8 9 10

OctaveFr

eque

ncy

(Hz)

Page 7: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Buffer

Page 8: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Buffers

• Data is fed into buffers from AC97 module• Buffers control sampling rate of data• Send control signal to FFT

Page 9: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Note Array

Page 10: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Note Array• 96 value array, corresponding to all notes over 8

octaves• Will receive magnitude information for each

possible note, in order from highest to lowest, from each FFT

• Serves as a “pitch-corrector”• Records how long a certain pitch has been active• Outputs magnitudes and timing information for a

specified order of frequencies

Page 11: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

FX

Page 12: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

FX

• Performs arithmetic on magnitude and frequency• Outputs to Function Generator• Exact frequency values for notes read from

BRAM• Controlled by user through GUI

– effect– intensity – speed

Page 13: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Effect Options

• Vibrato • Pitch Bend• Arpeggiator• Harmonizer• Delay

Page 14: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Function Generator

Page 15: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Function Generator

• Calculates Asin(ωn), where A is the magnitude received from the FX module

• Receives values for sin(ωn) from LUT

Output from function generator is sampled at 48kHz, so to create different frequencies, a 48000/N Hz sine function is sampled at N/ƒ points, where N is the number of samples and ƒ is the desired frequency.

Page 16: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Adder and Delay

Page 17: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Adder and Delay

• Sums together outputs from Function Generator and any delayed signals

• Delay length determined by user in GUI• Maximum delay is 4 seconds• Outputs to AC97 module @ 48 kHz

Page 18: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

GUI

Page 19: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

GUI

• Visualize effect options• Input from labkit buttons• Outputs parameters to FX module• Displays wet and dry spectra

Page 20: Digital Effects Box for Guitar Design Overviewweb.mit.edu/6.111/www/f2005/projects/skysg_Project_Design_Prese… · FFT Module • FFT module is defined by two parameters: sample

Tying it all together

Digital Effects