Spring 2002EECS150 - Lec13-proj Page 1 EECS150 - Digital Design Lecture 13 - Final Project...
-
date post
20-Dec-2015 -
Category
Documents
-
view
219 -
download
2
Transcript of Spring 2002EECS150 - Lec13-proj Page 1 EECS150 - Digital Design Lecture 13 - Final Project...
Spring 2002 EECS150 - Lec13-proj Page 1
EECS150 - Digital DesignLecture 13 - Final Project Description
March 7, 2002
John Wawrzynek
Spring 2002 EECS150 - Lec13-proj Page 2
Project• Everyone will design, debug, and demonstrate a Music Synthesizer
• Operation based on principle of waveform synthesis or sampling.– Sounds from recordings of real musical instruments are stored in memory then pitch-shifted and played back in response to note commands.
• 1 or 2 partners/group
Spring 2002 EECS150 - Lec13-proj Page 3
Digital Waveforms• In digital systems waveforms are represented as a series of
numbers, rather than a voltage or current, as in analog systems.– Example: sound waveform
– Sound can be produced by sending series of numbers to Digital to Analog converter, then to Amplifier, then to speaker.
– In principle any sound can be produced.
Sampling rate: 31.25KHz16-bits per sample
Spring 2002 EECS150 - Lec13-proj Page 4
Interfaces
• MIDI: Musical Instrument Digital Interface.– Commands are sent
from a keyboard (or computer) to control the synthesizer.
• Waveforms are stored in the ROM (read only memory).
• Monophonic: one voice at a time.
Spring 2002 EECS150 - Lec13-proj Page 5
Theory of Sound and Music
• Air vibrating in the frequency range of 20Hz to 20KHz is perceived as sound.
• The three important characteristics of perceived sound are:– loudness (relates to amplitude)– pitch (relates to frequency)– timbre (relates to shape)
• Human hearing is approximately logarithmic in perceiving loudness and pitch:– we perceive the loudness as being prop to the log of the sound
wave amplitude
Spring 2002 EECS150 - Lec13-proj Page 6
Timbre• tone quality or “color”
• Different instruments have different timbres.
• We perceive timbre based on how a note begins, repeats, and ends.
• For many instruments a simple model can be used to represent the shape of the waveform.– Attack, sustain, release (decay)
• Works best for “driven” instruments: woodwinds, brass, bowed strings.
• Pluck and struck instruments don’t have the “sustain”
[picture]
Spring 2002 EECS150 - Lec13-proj Page 7
Pitch
• Middle C has frequency of 261.63Hz.– MIDI encoding of “60”
• High C (an octave above middle C) has frequency 523.25Hz– MIDI encoding of “72”
• Other tones can be produced by multiplying and dividing the frequency by factors of 12th root of 2.
• Pitch:– 12 semi-tones form the chromatic
scale of the western scale.
– To move from one up to the next:
• freqnext = freq * 12th root of 2.
– After 12 such multiplications we will have doubled the freq and reached the octave.
• Most people can detect pitch differences as small as a few hundreds of a semi-tone (or a few times the 1200th root of 2)!
Spring 2002 EECS150 - Lec13-proj Page 9
Playing Notes• ROM used to store notes has limited capacity.• For notes with “sustain” portion, would like to vary note duration
Spring 2002 EECS150 - Lec13-proj Page 13
ROM (EEPROM) Layout• One stored note per instrument is
never enough.– Timbre varies from note to note
over the range of the instrument.
• ROM holds directory with one entry per MIDI note number.
• Entry holds pointer to note “template” and “step size”.
• Note step sizes are precomputed (synthesizer does not need to do 12th root of 2 calculation.
• One instrument per ROM (might change this later).
Spring 2002 EECS150 - Lec13-proj Page 14
Directory Entry Layout• 20-bit template pointer • 12 bits of “step size”
Spring 2002 EECS150 - Lec13-proj Page 16
Instrument Template Files
• We will provide you with template files and a program for converting these to EPROM format.
• We also have programs for taking instrument samples from standard file formats and converting them to our template format. You are encouraged to generate your own template files and EPROMs.
• We might extend the format (and project) to allow for more than one instrument per EPROM.– Switch among the instruments either through dip switches or MIDI
commands.
Spring 2002 EECS150 - Lec13-proj Page 17
High-level Block Diagram
This is only a suggestion. Your organization is up to you.
FSM and datapathfor each block.
Spring 2002 EECS150 - Lec13-proj Page 18
Checkpoints3/11 UART Design and Test
3/18 ROM Interfacing
3/25 Recess
4/1 MIDI Interface
4/1 Audio Stage
4/8 Monotone Notes
4/15 Notes of Arbitrary Frequency
4/22 Velocity Sensitivity
4/29 Spare
5/6 Final Checkoff
• Your are strongly suggested to work ahead.
• These are only minimum requirements.
• Completion of checkpoints are part of your project grade.
• Project spec document online today.
• All checkpoint write-ups available in next couple days (in draft form).
Spring 2002 EECS150 - Lec13-proj Page 19
Extra Credit• Early Final Checkoff.
– 1 week or more
• Low CLB Count.– “low” quantified later
• Interpolation– add linear interpolation for sample
lookup
• Polyphony.– The ability to play multiple keys at
once
• Velocity Sensitive Template Lookup.– Index templates not only on key
number but also velocity.
• Extra credit only considered for fully functional designs.
• Point assignment announced later. Usually in the 15% range.
Spring 2002 EECS150 - Lec13-proj Page 28
“Running Status”
• The MIDI standard convention allows a transmitter to compress the data stream by dropping status bytes.
• A command without a status byte implicitly uses whatever status byte was most recently sent.
• Therefore a keyboard can send a sequence of note-on and note-off commands only the first of which having a status byte.
• Your synthesizer must conform to the running status convention.