Digital Oscillators. Everything is a Table A table is an indexed list of elements (or values) A digital oscillator or soundfile is no different.

Slides:



Advertisements
Similar presentations
Design of Digital IIR Filter
Advertisements

Sound Synthesis Part II: Oscillators, Additive Synthesis & Modulation.
Programming and Data Structure
Y. C. Jenq1 Non-uniform Sampling Signals and Systems (A/D & D/A Converters) Y. C. Jenq Department of Electrical & Computer Engineering Portland State University.
IntroductionIntroduction Most musical sounds are periodic, and are composed of a collection of harmonic sine waves.Most musical sounds are periodic, and.
Digital Coding of Analog Signal Prepared By: Amit Degada Teaching Assistant Electronics Engineering Department, Sardar Vallabhbhai National Institute of.
Digital Control Systems INTRODUCTION. Introduction What is a control system? Objective: To make the system OUTPUT and the desired REFERENCE as close as.
Unit Generators and V.I.s Patches are configurations of V.I.s Both Patches & Virtual Instruments can be broken down into separate components called Unit.
Speech Compression. Introduction Use of multimedia in personal computers Requirement of more disk space Also telephone system requires compression Topics.
0 - 1 © 2010 Texas Instruments Inc Practical Audio Experiments using the TMS320C5505 USB Stick “Sine Waves” Texas Instruments University Programme Teaching.
This lesson covers the following outcomes Unit 54 P1, P7, P8 Unit 6 P10, P11.
CMP206 – Introduction to Data Communication & Networks Lecture 2 – Signals.
BASICS OF DIRECT DIGITAL SYNTHESIS Calen Carabajal EECS /3/2013.
Oscillator Algorithm. L-1 SI PHS Sampling Increment (determines frequency) Phase Count (0 ≤ PHS < L) Waveform Table 0 Output.
Classical Analog Synthesis. Analog Synthesis Overview Sound is created by controlling electrical current within synthesizer, and amplifying result. Basic.
DIGITAL COMMUNICATIONS.  The modern world is dependent on digital communications.  Radio, television and telephone systems were essentially analog in.
Analogue to Digital Conversion
CEN352, Dr. Ghulam Muhammad King Saud University
School of Computing Science Simon Fraser University
Copyright © 2011 by Denny Lin1 Simple Synthesizer Part 2 Based on Floss Manuals (Pure Data) “Building a Simple Synthesizer” By Derek Holzer Slides by Denny.
Ira Fulton School of Engineering Intro to Sinusoids What is a sinusoid? » Mathematical equation : Function of the time variable : Amplitude : Frequency.
SWE 423: Multimedia Systems Chapter 3: Audio Technology (3)
Effective Bits. An ideal model of a digital waveform recorder OffsetGain Sampling Timebase oscillator Fs ADC Waveform Memory Address counter Compute Engine.
Methods for Tone and Signal Synthesis R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
Additional Notes on Wavetable Synthesis R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
Chapter 2 : Business Information Business Data Communications, 4e.
Transmitting Signals First Meeting. Signal Processing: Sinewaves Sinewave is a fundamental tool in many areas of science, engineering and mathematics.
Fundamentals of Digital Audio. The Central Problem n Waves in nature, including sound waves, are continuous: Between any two points on the curve, no matter.
Basics of Signal Processing. frequency = 1/T  speed of sound × T, where T is a period sine wave period (frequency) amplitude phase.
Digital Communication Techniques
Computer Sound Synthesis 2 MUS_TECH 335 Selected Topics.
Vibrationdata 1 Unit 5 The Fourier Transform. Vibrationdata 2 Courtesy of Professor Alan M. Nathan, University of Illinois at Urbana-Champaign.
DSP Techniques for Software Radio DSP Front End Processing Dr. Jamil Ahmad.
Lab #8 Follow-Up: Sounds and Signals* * Figures from Kaplan, D. (2003) Introduction to Scientific Computation and Programming CLI Engineering.
Synthesis Basics (1) Analog Synthesis Intro to Digital Oscillators.
Basics of Signal Processing. SIGNALSOURCE RECEIVER describe waves in terms of their significant features understand the way the waves originate effect.
Introduction.
Created by Jimmie Fouts Houston County Career Academy for.
Multirate Signal Processing
Digital Signal Processing
CIS-325: Data Communications1 CIS-325 Data Communications Dr. L. G. Williams, Instructor.
Vibrationdata 1 Unit 5 The Fourier Transform. Vibrationdata 2 Courtesy of Professor Alan M. Nathan, University of Illinois at Urbana-Champaign.
Subtractive Sound Synthesis. Subtractive Synthesis Involves subtracting frequency components from a complex tone to produce a desired sound Why is it.
Software Three Main Functions Records/Monitors Zero Detection Points Gives our PWM a starting point Data used to dynamically adjust carrier frequency Detects.
Chapter 12 The Principles of Computer Music Contents Digital Audio Processing Noise Reduction Audio Compression Digital Rights Management (DRM)
Quiz 1 Review. Analog Synthesis Overview Sound is created by controlling electrical current within synthesizer, and amplifying result. Basic components:
Vibrationdata 1 Unit 6a The Fourier Transform. Vibrationdata 2 Courtesy of Professor Alan M. Nathan, University of Illinois at Urbana-Champaign.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
The Digital Revolution Changing information. What is Digital?  Discrete values used for  Input  Processing  Transmission  Storage  Display  Derived.
Digital Oscillators. Everything is a Table A table is an indexed list of elements (or values) A digital oscillator or soundfile is no different.
Circular Buffer Audio Generation Using the Karplus-Strong String Synthesis Algorithm.
Audio sampling as an example of analogue to digital Mr S McIntosh.
Data and Signals & Analouge Signaling
EC1358 – DIGITAL SIGNAL PROCESSING
Digital Signal Processing
Measurement and Instrumentation
INTRODUCTION. Electrical and Computer Engineering  Concerned with solving problems of two types:  Production or transmission of power.  Transmission.
Software Defined Radio PhD Program on Electrical Engineering
Unit 5 The Fourier Transform.
Digital Control Systems
Direct Digital Synthesis: Applications to Radar
Fundamentals Data.
Generating Sinusoidal Signals
Graphs of Sine and Cosine
Developing a Versatile Audio Synthesizer TJHSST Computer Systems Lab
Lesson 4C Basic Wave Concepts
Wavetable Synthesis.
DEPARTMENT OF INFORMATION TECHNOLOGY DIGITAL SIGNAL PROCESSING UNIT 4
DEPARTMENT OF INFORMATION TECHNOLOGY DIGITAL SIGNAL PROCESSING UNIT 4
Presentation transcript:

Digital Oscillators

Everything is a Table A table is an indexed list of elements (or values) A digital oscillator or soundfile is no different

Two Ways to Generate a Sine Tone: Compute as Needed Compute the sine in real time, every time it is needed. equation: Advantages: It’s the perfect sine tone. Every value that you need will be the exact value from the unit circle. Disadvantages: must generate every sample of every oscillator present in a synthesis patch from an algorithm. This is very expensive computationally, and most of the calculation is redundant.

Table Lookup Compute the sine tone once, store it in a table, and have all oscillators look in the table for needed values. Advantages: Much more efficient, hence faster, for the computer. You are not, literally, re-inventing the wheel every time. Disadvantages: Table values are discrete points in time. Most times you will need a value that falls somewhere in between two already computed values.

Table Lookup Synthesis Sound waves are very repetitive. For an oscillator, compute and store one cycle (period) of a waveform. Read through the wavetable repeatedly to generate a periodic sound. Example

Changing Frequency The Sample Rate doesn’t change within a synthesis algorithm. You can change the speed that the table is scanned by skipping samples. Example skip size is the increment, better known as the phase increment***. ***very important concept***

Algorithm for a Digital Oscillator Basic, two-step program: phase_index = mod L (previous_phase + increment) output = amplitude x wavetable[phase_index] from Roads, p. 93 increment = (L x freq)/samplingFrequency

If You’re Wrong, it’s Noise What happens when the phase increment doesn’t land exactly at an index location in the table? It simply looks at the last index location passed for a value. In other words, the phase increment is truncated to the integer. Quantization Noise The greater the error, the more the noise.

Interpolation Rather than truncate the phase location… look at the values stored before and after the calculated phase location calculate what the value would have been at the calculated phase location if it had been generated and stored. Interpolate More calculations, but a much cleaner signal.

Homework Roads, ch. 1 cont’d: pp Roads, ch. 10, Digital Filters: pp