MIDI. What is MIDI? MIDI stands for Musical Instrument Digital Interface MIDI stands for Musical Instrument Digital Interface Some Clarification: MIDI.

Slides:



Advertisements
Similar presentations
Basic Tools for Understanding Synthesis. Synthesizer A musical instrument that produces waveforms, typically in the audio range of about 20 to 20,000.
Advertisements

QS6 Basics. Type : Sample playback synthesizer keyboard Keys: 61 velocity and aftertouch sensitive, synth action. Polyphony : 64 voices MIDI Channels.
MUSC1010 – WEEK 4 MIDI. MIDI (Musical Instrument Digital Interface) MIDI is associated with cheap and nasty sounds due to the fact that most computer.
Tamara Berg Advanced Multimedia
Sound in multimedia How many of you like the use of audio in The Universal Machine? What about The Universal Computer? Why or why not? Does your preference.
Musical Instrument Digital Interface. MIDI Basics First introduced in 1983.
Higher Music Technology Effects and Processes Effects Chorus - A chorus (or ensemble) is a modulation effect used to create a richer, thicker sound and.
I Power Higher Computing Multimedia technology Audio.
SWE 423: Multimedia Systems Chapter 3: Audio Technology (2)
Melbourne PC User Group Music Technology Workshop Roland/Edirol October 2002.
MIDI. Musical Instrument Digital Interface Specification for physically connecting different devices, and for communicating between them. Designed for.
EE2F2: Music Technology - Revision Two exam questions Music Recording Technology Mixing & multi-track recording Effects MIDI & Sequencers Virtual Studio.
1 Digital Audio Storage Formats. 2 Formats  There are many different formats for storing and communicating digital audio:  CD audio  Wav  Aiff  Au.
Musical Instrument Digital Interface. MIDI Musical Instrument Digital Interface Enables electronic musical instruments, such as keyboard controllers,
CSE466 Autumn ‘00- 1 System Functional Requirements  Children’s toy…comes with PC software. Child plays notes on the screen and the device makes corresponding.
Spring 2002EECS150 - Lec13-proj Page 1 EECS150 - Digital Design Lecture 13 - Final Project Description March 7, 2002 John Wawrzynek.
1 PC Audio 2 Sound Card  An expansion board that enables a computer to receive, manipulate and output sounds.
Guitar Effects Processor Critical Design Review October, 07, 2003 Groups Members: Adam Bernstein Hosam Ghaith Jasenko Alagic Matthew Iyer Yousef Alyousef.
EE2F2 - Music Technology 10. Sampling Early Sampling It’s not a real orchestra, it’s a Mellotron It works by playing tape recordings of a real orchestra.
Music Processing Roger B. Dannenberg. Overview  Music Representation  MIDI and Synthesizers  Synthesis Techniques  Music Understanding.
EE2F2 - Music Technology 8. Subtractive Synthesis.
EE2F2 - Music Technology 5. MIDI. A Musical Interface Early synthesisers were often modular designs Sounds were built up by patching together several.
UFCEXR-20-1Multimedia Sound Production An Introduction to Using Logic Studio.
Joshua “Rock Star” Jenkins Jeff “Tremolo” Smith Jairo “the boss” Rojas
Sound Chapter Types of Sound Waveforms MIDI Sound is related to many things in computers but only Wav and MIDI exist in PCs.
Digital Audio Multimedia Systems (Module 1 Lesson 1)
6. Sound/Audio. 2   How computers process sound   How computers synthesize sound   The differences between the two major kinds of audio, namely.
2 Outline Digital music The power of FPGA The “DigitalSynth” project –Hardware –Software Conclusion Demo.
Seminar on Sound Card Presented by:- Guided by:-
MIDI One choice for adding sounds to multimedia applications is the use of digital audio soundfiles This can become very memory intensive, however, for.
M I D I Musical Instrument Digital Interface The MIDI protocol — a “language” that lets synthesizers, computers and other devices talk to each other.
A Brief Exploration of Electronic Music and its Theory By: Zac Changnon.
Midi files Here we look at another way of dealing with sound on a computer the use of Midi files. The the Midi file differs from the “wav” file, because.
Thursday 27 th September. Periods Music Technology A2.
MIDI. A protocol that enables computers, synthesizers, keyboards, and other musical devices to communicate with each other. Instead of storing actual.
Copyright 2004 Ken Greenebaum Introduction to Interactive Sound Synthesis Lecture 17:Wavetable Synthesis Ken Greenebaum.
Multimedia Technology Digital Sound Krich Sintanakul Multimedia and Hypermedia Department of Computer Education KMITNB.
MIDI and YOU Orchestra in a Box. What is MIDI?  Musical Instrument Digital Interface  MIDI is a protocol - a standard by which two electronic instruments.
Synthesis advanced techniques. Other modules Synthesis would be fairly dull if we were limited to mixing together and filtering a few standard waveforms.
A Breath in an Electronic World: Experiments in Musical Expression using a Midi Wind Controller Matthew Ahrens Mentor: Dr. James Bohn Bridgewater State.
Multimedia Technology and Applications Chapter 2. Digital Audio
Chapter 15 Recording and Editing Sound. 2Practical PC 5 th Edition Chapter 15 Getting Started In this Chapter, you will learn: − How sound capability.
CMSCDHN1114/CMSCD1011 Introduction to Computer Audio
Digital Audio IV MIDI Overview. Sending MIDI Information I. Serial Transmission A. Single cable to move data B. Slower than parallel, but is less expensive.
Audio / Sound INTRODUCTION TO MULTIMEDIA SYSTEMS Lect. No 3: AUDIO TECHNOLOGY.
MIDI Musical Instrument Digital Interface. MIDI A data communications protocol that describes a means for music systems and related equipment to exchange.
Sound Representation Digitizing Sound Sound waves through Air Different Voltages Voltage converted to numbers.
Unit 01- setting up and operate a digital audio workstation By Alfie fennemore.
Virtual Instruments and Sequencing. Proses Pembuatan Lagu/Musik TrackingMixingMastering.
Audio Technology introduction Iwan Sonjaya,MT What is sound? Sound is a physical phenomenon caused by vibration of material (ex.: violin). As the matter.
James Hornsby Connor Bradshaw 1168 Unit 1. Unit Unit  I will use Garageband because it has simple user interface, it is easy to use.
By Cheyenne Morgan Unit 1- Set up and operate a DAW.
Theme: Multimedia Sound ProductionUFCFY Multimedia Sound Production.
Sound. Sound Capture We capture, or record, sound by a process called sampling: “measuring” the sound some number of times per second. Sampling rate is.
Final Year Project Eoin Culhane. MIDI Guitar Guitar with 6 outputs 1 output for each string Each individual string output will be converted to MIDI.
MIDI. MIDI, which means: Musical Instrument Digital Interface, is a digital communications protocol. In August of 1983, music manufacturers agreed on.
27656 (v1) Demonstrate and apply introductory knowledge of music technology equipment and techniques MUSIC Level 1Credits 4.
Types of Synthesizers and How They Work
MIDI Musical Instrument Digital Interface Musical sound can be generated, unlike other types of sounds. The Musical Instrument Digital Interface standard.
Understanding Midi Audio Processing Describe the Midi Audio Processing.
Lecture # 23 Sound Synthesis & Sound Arithmetic A “ sound font ” dog Jane knows Fred Ralph the loves Jane lovesFred.
Garage Band For MAC. What is it? A digital audio workstation that can record and play back multiple tracks of audio. Is a software application for OS.
XP Practical PC, 3e Chapter 14 1 Recording and Editing Sound.
MIDI Musical Instrument Digital Interface A digital communication protocol allowing devices to send and/or respond to instructions.
 Derived from the word “Multi” and “Media” ◦ Multi  Many, Multiple, ◦ Media  Tools that is used to represent or do a certain things, delivery medium,
Chapter 15 Recording and Editing Sound
EE2F2: Music Technology - Revision
CSC 320 – Music Instrument Digital Interface (MIDI) and Digital Audio, Spring 2017 April 2017 Dr. Dale Parson.
The MIDI Standard A.
Presentation transcript:

MIDI

What is MIDI? MIDI stands for Musical Instrument Digital Interface MIDI stands for Musical Instrument Digital Interface Some Clarification: MIDI doesn’t directly describe musical sound MIDI doesn’t directly describe musical sound MIDI is not a language MIDI is not a language It is a data communications protocol It is a data communications protocol

History of MIDI 1900s: electronic synthesizers developed 1900s: electronic synthesizers developed 1970s: digital synthesizers developed 1970s: digital synthesizers developed Each manufacturer used different design scheme, with their own keyboard / panel Each manufacturer used different design scheme, with their own keyboard / panel At that time, synthesizers were monophonic At that time, synthesizers were monophonic With a particular input device, each player can only run one or two synthesizers at the same time With a particular input device, each player can only run one or two synthesizers at the same time To use a wide range of synthesized sounds, many players were needed To use a wide range of synthesized sounds, many players were needed

History of MIDI People decided to do something about it. People decided to do something about it. 1981, 3 synthesizer companies 1981, 3 synthesizer companies Sequential Circuits Sequential Circuits Roland Roland Oberheim Electronics Oberheim Electronics met in to start to discuss the issue 1982, synthesizer companies such as Yamaha, Korg, Kawai joined. 1982, synthesizer companies such as Yamaha, Korg, Kawai joined. 1983, full MIDI 1.0 Detailed Specification released 1983, full MIDI 1.0 Detailed Specification released It standardized the control signal and inter-machine communication between synthesizer devices It standardized the control signal and inter-machine communication between synthesizer devices The last official edition incorporated everything through 1996 (still 1.0, version 96.1)-- an updated edition is expected in 2004 The last official edition incorporated everything through 1996 (still 1.0, version 96.1)-- an updated edition is expected in 2004

MIDI Ports It use a five-pin DIN connector It use a five-pin DIN connector Inexpensive and readily available Inexpensive and readily available Only 3 pins among 5 are used until now Only 3 pins among 5 are used until now Both ends of MIDI line are the same. Both ends of MIDI line are the same.

MIDI Ports Serial transfer, data are sent bit by bit Serial transfer, data are sent bit by bitHence: - transmission rate is slow at only 31,250 bits/sec. - Too slow to transmit samples in real-time - have to do off-line sample dump

MIDI Interface MIDI In MIDI data enters each item of MIDI equipment through the MIDI In port. MIDI data enters each item of MIDI equipment through the MIDI In port. MIDI Out All the MIDI data generated by individual pieces of equipment are sent out through the MIDI Out port. All the MIDI data generated by individual pieces of equipment are sent out through the MIDI Out port.  A common error for MIDI setup is: inverted connection of MIDI IN/OUT MIDI Thru These are used to re-transmit all information received at the MIDI In port using the MIDI Thru port connections. These are used to re-transmit all information received at the MIDI In port using the MIDI Thru port connections. Often these ports are used to create a chain of connected devices in a single MIDI data path, called a 'daisy chain'. Often these ports are used to create a chain of connected devices in a single MIDI data path, called a 'daisy chain'.

Limitations of MIDI 1. Slow -- Serial transfer When there have too much continuous data transfer (e.g. a lot of control data)  MIDI choke When there have too much continuous data transfer (e.g. a lot of control data)  MIDI choke Solution: can be solved by EVENT FILTERING Solution: can be solved by EVENT FILTERING e.g., discard less important messages (esp., system exclusive messages) e.g., discard less important messages (esp., system exclusive messages)

Limitations of MIDI 2. Slow -- MIDI is only control information (like Csound score), and time is needed to synthesize the sound computation time  MIDI lag computation time  MIDI lag Solution: users have to avoid using patch (instrument) which uses a lot of memory Solution: users have to avoid using patch (instrument) which uses a lot of memory e.g. Cymbal in channel 10 of Nokia Cellular phone e.g. Cymbal in channel 10 of Nokia Cellular phone

Limitations of MIDI 3. Sound quality varies It depends on which synthesizer you use It depends on which synthesizer you useSolution: users have to judge by ear, to see which sound is good users have to judge by ear, to see which sound is good Standardized with General MIDI (GM) (discussed later) Standardized with General MIDI (GM) (discussed later)

Limitations of MIDI 3. Sound quality varies the size of MIDI file is very small! the size of MIDI file is very small! e.g. : e.g. : a three minutes wav file, 48kHz, stereo: a three minutes wav file, 48kHz, stereo: size of 40MB size of 40MB a three minutes MIDI file, with 10 channels: a three minutes MIDI file, with 10 channels: size of 40kb size of 40kb It is because MIDI file doesn’t actually contain audio data, but only control information (like Csound score) It is because MIDI file doesn’t actually contain audio data, but only control information (like Csound score)

MIDI Transmission Protocol Each message begin with ONE start bit (logical 0) Each message begin with ONE start bit (logical 0) Then followed by EIGHT message bits Then followed by EIGHT message bits End with ONE stop bit (logical 1) End with ONE stop bit (logical 1) Each 8-bit MIDI message byte, specifies either a status value, or data value Each 8-bit MIDI message byte, specifies either a status value, or data value 10 LST  MST

MIDI message types MIDI Messages Channel Mode Voice System Real Time Common System Exclusive

MIDI message types 1. channel messages: MIDI channel messages have 4 modes: MIDI channel messages have 4 modes: Mode 1: Omni On + Poly, usually for testing devices Mode 1: Omni On + Poly, usually for testing devices Mode 2: Omni On + Mono, has little purpose Mode 2: Omni On + Mono, has little purpose Mode 3: Omni Off + Poly, for general purpose Mode 3: Omni Off + Poly, for general purpose Mode 4: Omni Off + Mono, for general purpose Mode 4: Omni Off + Mono, for general purpose where: where: i. Omni On/Off: i. Omni On/Off: respond to all messages regardless of their channel respond to all messages regardless of their channel ii. Poly/Mono: ii. Poly/Mono: respond to multiple/single notes per channel respond to multiple/single notes per channel

MIDI message types 2. channel voice messages Carries the MUSICAL COMPONENT of a piece Carries the MUSICAL COMPONENT of a piece usually has 2 types: usually has 2 types: i. status byte: i. status byte: the first 4 most significant bits identify the message type, the first 4 most significant bits identify the message type, the 4 least significant bits identify which channel is to be affected the 4 least significant bits identify which channel is to be affected ii. data byte: ii. data byte: the most significant bit is 0, indicating a data byte. the most significant bit is 0, indicating a data byte. The rest are data bits The rest are data bits 0ddddddd mmmmcccc

1st byte: Status byte 1st byte: Status byte 1001 means “note on”, cccc is the binary representation of the message channel MIDI message types: channel voice messages a. Note On To start a note, with particular pitch and velocity, on a particular channel To start a note, with particular pitch and velocity, on a particular channel 1001cccc

MIDI message types: channel voice messages a. Note On 2nd byte: Pitch Data byte 2nd byte: Pitch Data byte 0 means “it is a data byte” 0 means “it is a data byte” ddddddd is the binary representation of the pitch. (decimal 0-127). ddddddd is the binary representation of the pitch. (decimal 0-127). A particular MIDI note number does not designate a particular pitch. A particular MIDI note number does not designate a particular pitch. But most commonly, for example, for GM, 60 = Middle C (C4), then 59 = B just below middle C (B3), 62 = D just above middle C (D4). But most commonly, for example, for GM, 60 = Middle C (C4), then 59 = B just below middle C (B3), 62 = D just above middle C (D4). 0ddddddd

MIDI message types: channel voice messages a. Note On 3rd byte: Velocity Data byte 3rd byte: Velocity Data byte vvvvvvv is the binary representation of velocity (loudness) of the note (decimal ). vvvvvvv is the binary representation of velocity (loudness) of the note (decimal ). The velocity value does not specify a particular loudness. It depends on velocity map of the synthesizer/sampler, but 0 is typically silence and 127 is typically loudest. The velocity value does not specify a particular loudness. It depends on velocity map of the synthesizer/sampler, but 0 is typically silence and 127 is typically loudest. 0vvvvvvv

MIDI message types: channel voice messages b. Note Off To end a note, with particular pitch, on a particular channel To end a note, with particular pitch, on a particular channel Its structure is very similar to Note On, except that the 1st byte (status byte) is 1000cccc. Its structure is very similar to Note On, except that the 1st byte (status byte) is 1000cccc. Note off message will stop a presently playing note of the same pitch. Note off message will stop a presently playing note of the same pitch. The velocity data byte of note off, however, does not mean “to end a note with a particular velocity”. The velocity data byte of note off, however, does not mean “to end a note with a particular velocity”. It describes how to release a note instead. It describes how to release a note instead. For example, end velocity = 127, means to release the note immediately. End velocity = 0 means to die away slowly. For example, end velocity = 127, means to release the note immediately. End velocity = 0 means to die away slowly. “End velocity” is not implemented on many synthesizers “End velocity” is not implemented on many synthesizers

MIDI message types: channel voice messages c. Program Change Assign particular patch (instrument) to a channel Assign particular patch (instrument) to a channel Usually, synthesizers have assigned “program numbers” to each patch Usually, synthesizers have assigned “program numbers” to each patch The manufacturer decides how to assign which number to which patch (GM has a table to standardize this) The manufacturer decides how to assign which number to which patch (GM has a table to standardize this) 1st byte: Status byte  1100cccc 1st byte: Status byte  1100cccc 2nd byte: program number data byte  0ddddddd 2nd byte: program number data byte  0ddddddd

MIDI message types: channel voice messages c. Program Change Some synthesizer have less than 128 patches Some synthesizer have less than 128 patches They will ignore the program number assigned, which are too large They will ignore the program number assigned, which are too large Some synthesizers have more than 128 possible patches. Some synthesizers have more than 128 possible patches. User can use any of the 128 patches at the same time User can use any of the 128 patches at the same time But not more than that 128 patches at the same time But not more than that 128 patches at the same time They can choose a different setting by selecting a different BANK. They can choose a different setting by selecting a different BANK.

MIDI message types: channel voice messages d. Control Change Assigns some effect to the sound in the channel Assigns some effect to the sound in the channel 1st byte: Status byte  1011cccc 1st byte: Status byte  1011cccc 2nd byte: control change type  0ddddddd 2nd byte: control change type  0ddddddd 3rd/4th byte: control change value  0ddddddd 3rd/4th byte: control change value  0ddddddd We can use a different controller hardware to input control changes We can use a different controller hardware to input control changes for example, modulation wheel, foot pedal for example, modulation wheel, foot pedal

MIDI message types: channel voice messages e. Pitch Bend 1st byte: Status byte  1110cccc 1st byte: Status byte  1110cccc 2nd byte: pitch bend value 2nd byte: pitch bend value (least significant 7 bits)  0ddddddd 3nd byte: pitch bend value 3nd byte: pitch bend value (most significant 7 bits)  0ddddddd data bytes usually of have14 bits of resolution data bytes usually of have14 bits of resolution describes the pitch bend of a played note describes the pitch bend of a played note e.g. while playing a middle C note e.g. while playing a middle C note a Pitch bend message, of data “-100” will bend the middle C a bit downward, toward B The amount of bending, depends of different synthesizer settings The amount of bending, depends of different synthesizer settings

MIDI message types: System messages System messages affect the entire device, regardless of the channel. System messages affect the entire device, regardless of the channel. For system message: For system message: the most significant 4 bits are always 1111, the most significant 4 bits are always 1111, the least significant 4 bits will identify the TYPE of the message. the least significant 4 bits will identify the TYPE of the message. Since system messages affect all channels. Since system messages affect all channels. (No need to use 4 bits to specify which channel is affected.) (No need to use 4 bits to specify which channel is affected.) 1111tttt t = type

MIDI message types: System messages 1. real-time system messages co-ordinate and synchronize the timing of clock-based MIDI devices co-ordinate and synchronize the timing of clock-based MIDI devices Usually sent at regular intervals, to ensure that every device in a MIDI system marches to the same beat Usually sent at regular intervals, to ensure that every device in a MIDI system marches to the same beat

MIDI message types: System messages 1. real-time system messages a. Timing Clock 1st byte: Status byte  st byte: Status byte  sent at regular intervals (e.g. 24 per quarter note for tpq=24) sent at regular intervals (e.g. 24 per quarter note for tpq=24) sent by master clock, to the other slave devices sent by master clock, to the other slave devices provides timing reference for the slave devices provides timing reference for the slave devices

MIDI message types: System messages 1. real-time system messages b. Start 1st byte: Status byte  st byte: Status byte  Direct slave devices to start playback from time 0 Direct slave devices to start playback from time 0 c. Stop 1st byte: Status byte  st byte: Status byte  direct slave devices to stop playback direct slave devices to stop playback song position value doesn’t change song position value doesn’t change  can restore the playback at the place where it stops with the “continue message” d. Continue 1st byte: Status byte  st byte: Status byte  direct slave devices to start playback from the present “song position value” direct slave devices to start playback from the present “song position value”

MIDI message types: System messages 1. real-time system messages e. System Reset 1st byte: Status byte  st byte: Status byte  devices will return the control value to default setting. devices will return the control value to default setting. e.g. reset MIDI mode / program number assigned to patch e.g. reset MIDI mode / program number assigned to patch

MIDI message types: System messages 2. System Exclusive messages MIDI specification can’t address every unique need of each MIDI device MIDI specification can’t address every unique need of each MIDI device leave room for “device-specific data” leave room for “device-specific data” sysEx message are unique to a specific manufacturer sysEx message are unique to a specific manufacturer 1st byte: Status byte  st byte: Status byte  nd byte: manufacturer ID, 2nd byte: manufacturer ID, e.g. 1 = sequential, 67=Yamaha e.g. 1 = sequential, 67=Yamaha 3rd byte ( onwards ) : data byte(s) 3rd byte ( onwards ) : data byte(s)

MIDI message types: System messages 3. common system messages d. End of Exclusive (EOX) System Exclusive message can carries any number of bytes System Exclusive message can carries any number of bytes No other message can arrive until it ends No other message can arrive until it ends EOX will be used to indicate that a sysEx message is ended EOX will be used to indicate that a sysEx message is ended 1st byte: Status byte  st byte: Status byte 

Running Status Not a type of MIDI message Not a type of MIDI message It is a short-cut technique It is a short-cut technique A series of notes are represented with a single status byte A series of notes are represented with a single status byte Better transfer efficiency Better transfer efficiency e.g. very useful for drum-set patterns…etc e.g. very useful for drum-set patterns…etc

Running Status Series of messages with Status Bytes Running Status 1st message, C note on, velocity= 39 2nd message, E note on, velocity= 43 3rd message, G note on, velocity= 37 1st message, C note on, velocity= 39 2nd message, E note on, velocity= 43 3rd message, G note on, velocity= 37

General MIDI Optional to manufacturer Optional to manufacturer But it is a good addendum But it is a good addendum to the MIDI 1.0 Detailed Specification MIDI itself doesn’t specify message or data MIDI itself doesn’t specify message or data Program number 1  What does it mean? Program number 1  What does it mean? Piano? Flute? It is up to Manufacturer’s decision! Piano? Flute? It is up to Manufacturer’s decision! Program number 3 can be “flute” on synthesizer A, but can be “horn” on synthesizer B! Program number 3 can be “flute” on synthesizer A, but can be “horn” on synthesizer B!

What is General MIDI So, we have GM So, we have GM Define a set of available sound patches, with their program numbers fixed Define a set of available sound patches, with their program numbers fixed Sequence recorded on one GM synthesizer is then recognizable on other synthesizers. Sequence recorded on one GM synthesizer is then recognizable on other synthesizers.

General MIDI specification 1. Instrument Patch Map a list of 128 sounds, with assigned program numbers a list of 128 sounds, with assigned program numbers Loosely grouped into 16 families, each with 8 variations Loosely grouped into 16 families, each with 8 variations 2. Percussion Key Map 3. Other specification generally follow MIDI simultaneous notes 32 simultaneous notes MIDI Channels: 16 MIDI Channels: = Middle C 60 = Middle C

General MIDI specification Instrument Patch Map Family Classification Instrument Patch Map Family Classification 1-8 Piano 1-8 Piano 9-16 Pitched Percussion 9-16 Pitched Percussion Organ Organ Guitar Guitar Bass Bass Strings Strings Ensemble Ensemble Brass Brass Reed Reed Pipe Pipe Synth Lead Synth Lead Synth Pad Synth Pad Synth Effects Synth Effects Ethnic Ethnic Percussive Percussive Sound Effects Sound Effects

General MIDI 2 Now we have GM2 already Now we have GM2 already Increases: Increases: number of available sounds number of available sounds amount of control available for sound editing / musical performance. amount of control available for sound editing / musical performance. For example: For example: control number 75 = Decay Time control number 75 = Decay Time control number 76 = Vibrato Rate (cc#76) control number 76 = Vibrato Rate (cc#76) All GM2 devices are also fully compatible with GM1. All GM2 devices are also fully compatible with GM1.

Other General MIDI standards 1. GM Lite Based on the assumption that the reduced performance may be acceptable Based on the assumption that the reduced performance may be acceptable - For example, different in specification compared with GM1: 16 (half GM1) simultaneous notes 16 (half GM1) simultaneous notes 1 Simultaneous Percussion Kits 1 Simultaneous Percussion Kits (GM1 has two – channel 11 can be set as percussion kit if necessary) (GM1 has two – channel 11 can be set as percussion kit if necessary)

Other General MIDI standards 2. Scalable Polyphony MIDI (SP-MIDI) composers can indicate how MIDI data should be performed by devices, with different polyphony. composers can indicate how MIDI data should be performed by devices, with different polyphony. by eliminating certain instrument parts, chosen by the composer. by eliminating certain instrument parts, chosen by the composer. Widely used for mobile cellular phones Widely used for mobile cellular phones e.g. for a SP-4 polyphony can be preset for a Nokia 3200 phone: it have 4 channel polyphony it have 4 channel polyphony with melody line be the 1st priority with melody line be the 1st priority channel 10 be the 2nd priority channel 10 be the 2nd priority and the rest be the 3rd priority and the rest be the 3rd priority

Limitations of GM 1. Dynamics How should a note of “pressure 120” on program number 1 be performed? How should a note of “pressure 120” on program number 1 be performed? Different samplers use different voice samples Different samplers use different voice samples what if manufacturer A uses a Steinway piano, manufacturer B uses a Yamaha piano? what if manufacturer A uses a Steinway piano, manufacturer B uses a Yamaha piano? The dynamics can be very different! The dynamics can be very different!

Limitations of GM 2. Instrument definition We know what is a “flute” We know what is a “flute” But, what is “FX2 (sound track)” ? But, what is “FX2 (sound track)” ? ?

MIDI Hardware a. Pure Musical Input Devices Most common: Keyboard Most common: Keyboard Optional Features i. Note Polyphony: Nowadays, most keyboard have polyphony (a $200 keyboard made in the Mainland, can have 10 polyphony) Nowadays, most keyboard have polyphony (a $200 keyboard made in the Mainland, can have 10 polyphony) ii. Touch response A keyboard can sense different levels of input pressure A keyboard can sense different levels of input pressure

MIDI Hardware Other possible pure input MIDI I/O devices: Other possible pure input MIDI I/O devices: Guitar, Flute, Violin, Drumset Guitar, Flute, Violin, Drumset

MIDI Hardware b. Other Musical Input Devices Keyboard + synthesizer Keyboard + synthesizer = keyboard synthesizer = keyboard synthesizer have real-time audio output have real-time audio output Some keyboard synthesizers support DSP (Digital Signal Processing) Some keyboard synthesizers support DSP (Digital Signal Processing) Which gives more available effects Which gives more available effects e.g. phaser, chorus e.g. phaser, chorus Keyboard + synthesizer + sequencer /sampler/effects processors…. Keyboard + synthesizer + sequencer /sampler/effects processors…. = keyboard workstation = keyboard workstation you can then compose and make music, you can then compose and make music, just with a keyboard just with a keyboard

MIDI Hardware c. Controllers Numbered controllers Numbered controllers e.g. volume panel e.g. volume panel Continuous Controllers Continuous Controllers You can roll the controller to get a particular value You can roll the controller to get a particular value e.g. modulation wheel e.g. modulation wheel On/Off controllers On/Off controllers can send two different values (e.g. 0/127) can send two different values (e.g. 0/127) e.g. foot pedal (sustain pedal) e.g. foot pedal (sustain pedal)

MIDI Hardware c. Controllers bidirectional controllers bidirectional controllers it will jump back to the center it will jump back to the center when released when released e.g.. pitch wheel e.g.. pitch wheel universal MIDI controller universal MIDI controller Can control all types of control events Can control all types of control events In some products, the panel can synchronize with the software: the panel will move if you adjust parameters in the software. In some products, the panel can synchronize with the software: the panel will move if you adjust parameters in the software.

MIDI Hardware d. Synthesizer Generates sound from scratch Generates sound from scratch Method: Method: 1. Wavetable/direct synthesis. store the series of numbers the represent the amplitude values of a waveform, at each sample interval, then recall the stored value to produce sound store the series of numbers the represent the amplitude values of a waveform, at each sample interval, then recall the stored value to produce sound 2. frequency modulation (FM) synthesis Simple waveforms change the frequencies of other simple waveform, produce a new waveform. Simple waveforms change the frequencies of other simple waveform, produce a new waveform. 3. additive synthesis add together a number of harmonics at different frequency add together a number of harmonics at different frequency 4. subtractive synthesis starts with a waveform that is already rich in harmonics, then filter out unwanted harmonics to produce a desired sound starts with a waveform that is already rich in harmonics, then filter out unwanted harmonics to produce a desired sound 5, phase distortion a simple waveform is altered to produce a more complex one a simple waveform is altered to produce a more complex one

MIDI Hardware Example: Yamaha SY85 Synthesizer Example: Yamaha SY85 Synthesizer What synthesis technique does it use? What synthesis technique does it use? Plays back samples in attack, and then begins looping one period of samples for sustain and decay. Plays back samples in attack, and then begins looping one period of samples for sustain and decay. Uses LPF with decreasing cutoff frequency to make wavetable output gradually become less bright. Uses LPF with decreasing cutoff frequency to make wavetable output gradually become less bright. Uses 5-segment amplitude envelopes for wavetable synthesis. Uses 5-segment amplitude envelopes for wavetable synthesis. Sampling for attack wavetable for sus/decay lowpass filter out

MIDI Hardware e. Sequencer replay a sequence of MIDI messages replay a sequence of MIDI messages f. MIDI interface connect a group of MIDI devices together connect a group of MIDI devices together g. sound sampler record sound, then replay it on request record sound, then replay it on request Can perform transposition shift of one base sample, to produce different pitches Can perform transposition shift of one base sample, to produce different pitches Can take average Can take average of several samples, then produce a timbre interpolated output sound

MIDI Software a. Software Sampler e.g. Gigastudio, Kontakt e.g. Gigastudio, Kontakt P.S. now, most studio use software samplers for pop song, instead of hardware sampler. WHY? WHY? Since it is more economical, and more efficient to update Since it is more economical, and more efficient to update For example, the hardware sampler Roland XV5080, cost HK$ For example, the hardware sampler Roland XV5080, cost HK$ Its additional sound sample sub-cards are very expensive ($2000 for 100 samples) Its additional sound sample sub-cards are very expensive ($2000 for 100 samples) Also, the model of samplers are updated very quickly. For example, the last model XV5050 already cannot use the latest Roland SRX sub-card already Also, the model of samplers are updated very quickly. For example, the last model XV5050 already cannot use the latest Roland SRX sub-card already

MIDI Software a. Software Samplers However, for example, Gigastudio costs around $4000 for the software However, for example, Gigastudio costs around $4000 for the software A 3GB of additional sound samples only costs around HK$1000. A 3GB of additional sound samples only costs around HK$1000. All new samples are compatible to latest version since version 2.5 All new samples are compatible to latest version since version 2.5 As you can hear in the later section, you will find that the software synthesizer is actually performing MUCH BETTER than hardware synthesizer OF SIMILAR PRICE RANGE. As you can hear in the later section, you will find that the software synthesizer is actually performing MUCH BETTER than hardware synthesizer OF SIMILAR PRICE RANGE.

MIDI Software b. Recording software e.g cakewalk sonar, cool edit pro, CUbase, logic, protools e.g cakewalk sonar, cool edit pro, CUbase, logic, protools Much more efficient than using tape recording Much more efficient than using tape recording Can redo recording process Can redo recording process Can easily do editing Can easily do editing Also allows effects (reverb, echo, etc) Also allows effects (reverb, echo, etc)

MIDI Software c. Score editor : e.g. Finale, cakewalk overture e.g. Finale, cakewalk overture you can “listen to the score” by playback option you can “listen to the score” by playback option neat and tidy neat and tidy can do transposition/chord identification….etc, more easily than using handwritten score can do transposition/chord identification….etc, more easily than using handwritten score Can input a score with real instruments, then tidy it up by quantization Can input a score with real instruments, then tidy it up by quantization

Example of a recording process This is a “Daisy-chain network”, where device are connected serially This is a “Daisy-chain network”, where device are connected serially

Example of Comparing different sampler performance You can hear the difference between different synthesizers/modules, for playing the same MIDI file. You can hear the difference between different synthesizers/modules, for playing the same MIDI file. 1. Yamaha PCI FM Synthesizer 2. Roland XV-5050 (JV series) 3. Gigastudio And one more demo for Gigastudio:

Applications of MIDI 1. Studio Production recording, playback, cut-and-splice editing recording, playback, cut-and-splice editing creative control/effect can be added creative control/effect can be added 2. Making score with score editing software, MIDI is excellent in making score with score editing software, MIDI is excellent in making score some MIDI software provide function of auto accompaniment/intelligent chord arrangement some MIDI software provide function of auto accompaniment/intelligent chord arrangement 3. Learning You can write a MIDI orchestra, who are always eager to practice with you! You can write a MIDI orchestra, who are always eager to practice with you!

Applications of MIDI 4. Commercial products mobile phone ring tones, music box music….. mobile phone ring tones, music box music….. 5. Musical Analysis MIDI has detailed parameters for every input note MIDI has detailed parameters for every input note It is useful for doing research It is useful for doing research For example, a pianist can input his performance with a MIDI keyboard, then we can analyze his performance style by the parameters For example, a pianist can input his performance with a MIDI keyboard, then we can analyze his performance style by the parameters