+ All Categories
Home > Documents > Spring 2002EECS150 - Lec13-proj Page 1 EECS150 - Digital Design Lecture 13 - Final Project...

Spring 2002EECS150 - Lec13-proj Page 1 EECS150 - Digital Design Lecture 13 - Final Project...

Date post: 20-Dec-2015
Category:
View: 219 times
Download: 2 times
Share this document with a friend
28
Spring 2002 EECS150 - Lec13-proj Page 1 EECS150 - Digital Design Lecture 13 - Final Project Description March 7, 2002 John Wawrzynek
Transcript

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 8

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 10

Pitch Shifting

Spring 2002 EECS150 - Lec13-proj Page 11

Pitch Shifting

Spring 2002 EECS150 - Lec13-proj Page 12

Linear Interpolation

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 15

Template Layout

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 20

Spring 2002 EECS150 - Lec13-proj Page 21

Connections

Spring 2002 EECS150 - Lec13-proj Page 22

Spring 2002 EECS150 - Lec13-proj Page 23

Spring 2002 EECS150 - Lec13-proj Page 24

Note On

Spring 2002 EECS150 - Lec13-proj Page 25

Note off

Spring 2002 EECS150 - Lec13-proj Page 26

Keyboard Mapping

Spring 2002 EECS150 - Lec13-proj Page 27

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.


Recommended