Copyright 2004 Ken Greenebaum Introduction to Interactive Sound Synthesis Lecture 17:Wavetable Synthesis Ken Greenebaum.

Slides:



Advertisements
Similar presentations
QS6 Basics. Type : Sample playback synthesizer keyboard Keys: 61 velocity and aftertouch sensitive, synth action. Polyphony : 64 voices MIDI Channels.
Advertisements

David Meredith Minim David Meredith
Easily extensible unix software for spectral analysis, display modification, and synthesis of musical sounds James W. Beauchamp School of Music Dept.
Audio 1 Subject:T0934 / Multimedia Programming Foundation Session:8 Tahun:2009 Versi:1/0.
1 Acoustic Sampling Of Instruments Dan Starr Capstone Design Project Advisors: Prof. Catravas Prof. Postow.
What makes a musical sound? Pitch n Hz * 2 = n + an octave n Hz * ( …) = n + a semitone The 12-note equal-tempered chromatic scale is customary,
Pitch Shifting and Dynamic Filtering Rossum (1992a) Digital sampling instrument for digital audio data; Rossum (1992b) Dynamic digital IIR audio filter.
EE2F2: Music Technology - Revision Two exam questions Music Recording Technology Mixing & multi-track recording Effects MIDI & Sequencers Virtual Studio.
Nov 30, Fall 2006IAT 4101 Audio Sound Audio synthesis.
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.
TEAM SYNTH: Design Proposal EE 41430, Fall 2007 John Simmons William Andrews Angela McKenzie.
Methods for Tone and Signal Synthesis R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
PH 105 Dr. Cecilia Vogel Lecture 24. OUTLINE  Electronic music  Theramin  Analog vs digital  components in electronic music.
Additional Notes on Wavetable Synthesis R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
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.
Using Sound in Games Alex Baumann Outline 3D Spatialization Getting and Editing Sounds Using Sounds in Games Music in Games Example Videos.
5. Multimedia Data. 2 Multimedia Data Representation  Digital Audio  Sampling/Digitisation  Compression (Details of Compression algorithms – following.
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.
Digital audio. In digital audio, the purpose of binary numbers is to express the values of samples that represent analog sound. (contrasted to MIDI binary.
Thursday 27 th September. Periods Music Technology A2.
School of Informatics CG087 Time-based Multimedia Assets Sampling & SequencingDr Paul Vickers1 Sampling & Sequencing Combining MIDI and audio.
Digital Sound and Video Chapter 10, Exploring the Digital Domain.
Synthesis Basics (1) Analog Synthesis Intro to Digital Oscillators.
MIDI. A protocol that enables computers, synthesizers, keyboards, and other musical devices to communicate with each other. Instead of storing actual.
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.
Beyond the Beep Sequencer-Controlled Music Synthesis for 8-bit Apple II’s Michael Mahon
Audio. Why Audio Essential tool for – Interface – Narrative – Setting & Mood.
CHAPTER SEVEN SOUND. CHAPTER HIGHLIGHTS Nature of sound – Sine waves, amplitude, frequency Traditional sound reproduction Digital sound – Sampled – Synthesized.
AUDIO MEDIA 1 Created } “Borrowed” } Microphone MIDI keyboard CD’s & flash drives Internet Audio Sources 2.
Copyright 2004 Ken Greenebaum Introduction to Interactive Sound Synthesis Lecture 11: Modulation Ken Greenebaum.
Sound on the Web. Using Sound on a Web Site Conveying information  pronounce a word or describe a product Set a mood  music to match the web page scene.
Overview of Multimedia A multimedia presentation might contain: –Text –Animation –Digital Sound Effects –Voices –Video Clips –Photographic Stills –Music.
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
Sound element Week - 11.
November 4th, 1996ICAD Industry Panel1 Audio Taken Seriously; The present and future of audio at Microsoft Ken Greenebaum Internet.
Sound Representation Digitizing Sound Sound waves through Air Different Voltages Voltage converted to numbers.
Copyright 2004 Ken Greenebaum Introduction to Interactive Sound Synthesis Lecture 6: Wrapped I/O Ken Greenebaum.
DATA AND FILE FORMATS. RTF TIFF MIDI JPEG DIB MPEG
Virtual Instruments and Sequencing. Proses Pembuatan Lagu/Musik TrackingMixingMastering.
© 2011 The McGraw-Hill Companies, Inc. All rights reserved Chapter 4: Sound.
Copyright 2004 Ken Greenebaum Introduction to Interactive Sound Synthesis Lecture 18:Noise Ken Greenebaum.
Copyright 2004 Ken Greenebaum Introduction to Interactive Sound Synthesis Lecture 14: Envelopes Ken Greenebaum.
Copyright 2004 Ken Greenebaum Introduction to Interactive Sound Synthesis Lecture 20:Spectral Filtering Ken Greenebaum.
12/8/2010 Scanning FM Demodulator Marc Chiesa. Concept ✤ Use an FFT to find spectral areas of interest in FM broadcast band and attempt to demodulate.
Copyright 2004 Ken Greenebaum Introduction to Interactive Sound Synthesis Lecture 9: Panning/Balance Ken Greenebaum.
1 Lecture 4 Post-Graduate Students Advanced Programming (Introduction to MATLAB) Code: ENG 505 Dr. Basheer M. Nasef Computers & Systems Dept.
Timbre and Memory An experiment for the musical mind Emily Yang Yu Music 151, 2008.
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.
Digital Oscillators. Everything is a Table A table is an indexed list of elements (or values) A digital oscillator or soundfile is no different.
Copyright 2004 Ken Greenebaum Introduction to Interactive Sound Synthesis Lecture 4: Interfaces Ken Greenebaum.
Digital Oscillators. Everything is a Table A table is an indexed list of elements (or values) A digital oscillator or soundfile is no different.
Design of a Guitar Tab Player in MATLAB Summary Lecture Module 1: Modeling a Guitar Signal.
MIDI Musical Instrument Digital Interface Musical sound can be generated, unlike other types of sounds. The Musical Instrument Digital Interface standard.
Lecture # 23 Sound Synthesis & Sound Arithmetic A “ sound font ” dog Jane knows Fred Ralph the loves Jane lovesFred.
XP Practical PC, 3e Chapter 14 1 Recording and Editing Sound.
DATA Unit 2 Topic 2. Different Types of Data ASCII code: ASCII - The American Standard Code for Information Interchange is a standard seven-bit code that.
Chapter 15 Recording and Editing Sound
CS 591 S1 – Computational Audio – Spring 2017
EE2F2: Music Technology - Revision
Multimedia: making it Work
ECE Computer Engineering Design Project
Sampling.
Digital Audio Application of Digital Audio - Selected Examples
Presentation transcript:

Copyright 2004 Ken Greenebaum Introduction to Interactive Sound Synthesis Lecture 17:Wavetable Synthesis Ken Greenebaum

Copyright 2004 Ken Greenebaum Assignment 5b Who attempted this? Who attempted this? What did you think? What did you think? What were the challenges? What were the challenges? Lets play (demos in \pub) Lets play (demos in \pub)

Copyright 2004 Ken Greenebaum Beyond 5b Limitations: Limitations: No polyphony No polyphony (Can’t play chords) (Can’t play chords) How would you specify a polyphonic score? How would you specify a polyphonic score? Any issues on note onset timing? Any issues on note onset timing?

Copyright 2004 Ken Greenebaum Already Discussed Wavetable Synthesis David’s synthesizers used a wavetable: David’s synthesizers used a wavetable: Bass drum Bass drum Sine table Sine table Fuzz Guitar Fuzz Guitar Zero-Page random ‘texture’ Zero-Page random ‘texture’ David advanced pointer David advanced pointer At different rates At different rates To achieve different rates To achieve different rates

Copyright 2004 Ken Greenebaum Wavetable Synthesis for musical synthesis Each instrument is ‘sampled’ Each instrument is ‘sampled’ Typically only some notes are sampled Typically only some notes are sampled Notes between the samples are pitch shifted Notes between the samples are pitch shifted This creates less than perfect fidelity This creates less than perfect fidelity On real instruments timbre changes On real instruments timbre changes Not just frequency Not just frequency Why not sample each note? Why not sample each note?

Copyright 2004 Ken Greenebaum Pitch shifting in General MIDI Results would be superior w/o pitch shifting Results would be superior w/o pitch shifting Pitch shifting still required to ‘bend’ notes Pitch shifting still required to ‘bend’ notes Pitch shifting used to save space Pitch shifting used to save space Typical sound card: Typical sound card: Up to 700 instruments Up to 700 instruments 4MB ROM 4MB ROM Sampling a piano alone Sampling a piano alone 10MB 10MB 7GB of ROM is still expensive… 7GB of ROM is still expensive…

Copyright 2004 Ken Greenebaum General MIDI on Game DVD Situation better for DVD based game? Situation better for DVD based game? Need small subset of 700 instruments Need small subset of 700 instruments Have plenty of space on DVD for samples Have plenty of space on DVD for samples Right? Right?

Copyright 2004 Ken Greenebaum General MIDI on Game DVD Wrong! Wrong! Even if Even if Only need 1/10 th instruments (70) Only need 1/10 th instruments (70) Requires 700MB (reasonable for a DVD) Requires 700MB (reasonable for a DVD) BUT this would have to be resident in memory BUT this would have to be resident in memory Never know when a note will have to be played… Never know when a note will have to be played…

Copyright 2004 Ken Greenebaum Wavetable Synthesis Sound engines like DSound Sound engines like DSound Are really wavetable synthesizers Are really wavetable synthesizers Minus the sequencer Minus the sequencer

Copyright 2004 Ken Greenebaum DSound DSound was created to: DSound was created to: Enable games like Quake Enable games like Quake (Triggered sound) (Triggered sound) Ported from DOS to Windows Ported from DOS to Windows Hence named Direct Hence named Direct Direct to hardware Direct to hardware Since game designers of that era only worked directly with hardware Since game designers of that era only worked directly with hardware

Copyright 2004 Ken Greenebaum Wavetable Synthesizers They: They: Persist samples Persist samples Can start any number of them Can start any number of them

Copyright 2004 Ken Greenebaum Wavetable Synth Primary effects: Primary effects: Pitch shift Pitch shift Amplitude Amplitude Pan Pan Looping Looping

Copyright 2004 Ken Greenebaum Wavetable Synth Secondary effects Secondary effects 3D Spatialization 3D Spatialization Reverb Reverb Ambience Ambience

Copyright 2004 Ken Greenebaum Technologies We have already covered: We have already covered: Pan Pan Amplitude Amplitude Leaves Leaves Looping Looping Pitch shift Pitch shift

Copyright 2004 Ken Greenebaum Looping Samples have loop points Samples have loop points Most often for: Most often for: Attack Attack Sustain Sustain Most difficult (1 st, last samples must align) Most difficult (1 st, last samples must align) Decay Decay

Copyright 2004 Ken Greenebaum Fractional Rate Pointer Index wavetable with a floating pt pointer Index wavetable with a floating pt pointer Advance 1.0 for realtime Advance 1.0 for realtime < 1.0 for fractional rate < 1.0 for fractional rate > 1.0 for faster than realtime > 1.0 for faster than realtime

Copyright 2004 Ken Greenebaum Fraction Rate Pointer Problem: Problem: What happens when pointer is not an integer value? What happens when pointer is not an integer value?

Copyright 2004 Ken Greenebaum Pitch Shift Really re-sampling Really re-sampling Different expense/quality: Different expense/quality: David’s variable rate-pointer David’s variable rate-pointer DSound’s fractional pointer DSound’s fractional pointer With or w/o interpolation With or w/o interpolation True sample rate conversion True sample rate conversion

Copyright 2004 Ken Greenebaum Fractional Rate Pointer For intermediate values can: For intermediate values can: Round pointer Round pointer Interpolate between adjacent values Interpolate between adjacent values Using various order interpolation Using various order interpolation However geometric thinking doesn’t really solve this signal processing task However geometric thinking doesn’t really solve this signal processing task

Copyright 2004 Ken Greenebaum Problems with Fractional Pointer Consider down sampling a sample: Consider down sampling a sample: Samples/Second signal Samples/Second signal Down sampled to 8000 Samples/Second Down sampled to 8000 Samples/Second Easy set pointer to 6.0 Easy set pointer to 6.0 Wahoo an integer value, no interpolation needed Wahoo an integer value, no interpolation needed But… But…

Copyright 2004 Ken Greenebaum Problems with Fractional Pointer Original Sample/Second signal Original Sample/Second signal Could contain frequencies up to 24kHz Could contain frequencies up to 24kHz Resulting 8000 Sample/Second signal Resulting 8000 Sample/Second signal Can only represent signals up to 4kHz Can only represent signals up to 4kHz Incrementing pointer by 6 Incrementing pointer by 6 Essentially decimation Essentially decimation Selecting every sixth sample Selecting every sixth sample Doesn’t filter out the unrepresentable freqs Doesn’t filter out the unrepresentable freqs Results in terrible aliasing! Results in terrible aliasing!

Copyright 2004 Ken Greenebaum Problems with Fractional Pointer Probably could always perform high order interpolation Probably could always perform high order interpolation However better to use signal processing tools and not geometric interpolation! However better to use signal processing tools and not geometric interpolation! Second Semester we will discuss Multirate DSP Second Semester we will discuss Multirate DSP For those curious: For those curious: Nice article in Audio Anecdotes by Tor Ramstad Nice article in Audio Anecdotes by Tor Ramstad

Copyright 2004 Ken Greenebaum Assignment 6 Wavetable Synth Due Thursday March 18th Due Thursday March 18th Must support Mixer’s Synth interface Must support Mixer’s Synth interface Should be demo’d in standalone main.c Should be demo’d in standalone main.c PABLIO, 48kHz, MONO PABLIO, 48kHz, MONO WaveTableSynth additional interfaces: WaveTableSynth additional interfaces: LoadSample(char *FileName) LoadSample(char *FileName) Play(double rate, int sustainCount) Play(double rate, int sustainCount)

Copyright 2004 Ken Greenebaum Assignment 6 Wavetable Synth Main.c’s command line: Main.c’s command line: Filename.smpl pitch sustaincount Filename.smpl pitch sustaincount Filename: name of sample file Filename: name of sample file Pitch: rate of playback Pitch: rate of playback 1.0 nominal 1.0 nominal 0.5 ½ rate 0.5 ½ rate 2.0 2x rate 2.0 2x rate Sustain count: how many times to play sustain section Sustain count: how many times to play sustain section

Copyright 2004 Ken Greenebaum Assignment 6.smpl sample file format ASCII text please!!! ASCII text please!!! Int SampleRate SustainIn SustainOut Int SampleRate SustainIn SustainOut Floating point samples (one per line) Floating point samples (one per line)

Copyright 2004 Ken Greenebaum Assignment 6.smpl sample file format Your choice of Your choice of Samples to create Samples to create Length of sample Length of sample Method to create and loop file Method to create and loop file But should consider downloading free audacity editor But should consider downloading free audacity editor Can also use your previous synthesizers! Can also use your previous synthesizers!

Copyright 2004 Ken Greenebaum Assignment 6 Wavetable Synth Deliverables: Deliverables: makefile makefile main.c main.c WaveTable.c WaveTable.c 3 Test files: 3 Test files: 1. instrument.smpl: musical instrument like 2. sound.smpl: a non-musical sample 3. voice.smpl: human voice-ish (non-voiced)

Copyright 2004 Ken Greenebaum Next Class Noise/subtractive synthesis Noise/subtractive synthesis