INTRODUCTION TO COMPUTER MUSIC. Roger B. Dannenberg Professor of Computer Science, Art, and Music. Copyright by Roger B.

Similar documents
Linear Frequency Modulation (FM) Chirp Signal. Chirp Signal cont. CMPT 468: Lecture 7 Frequency Modulation (FM) Synthesis

CMPT 468: Frequency Modulation (FM) Synthesis

Spectrum. Additive Synthesis. Additive Synthesis Caveat. Music 270a: Modulation

Music 270a: Modulation

Combining granular synthesis with frequency modulation.

INTRODUCTION TO COMPUTER MUSIC PHYSICAL MODELS. Professor of Computer Science, Art, and Music. Copyright by Roger B.

YAMAHA. Modifying Preset Voices. IlU FD/D SUPPLEMENTAL BOOKLET DIGITAL PROGRAMMABLE ALGORITHM SYNTHESIZER

Digitalising sound. Sound Design for Moving Images. Overview of the audio digital recording and playback chain

Between physics and perception signal models for high level audio processing. Axel Röbel. Analysis / synthesis team, IRCAM. DAFx 2010 iem Graz

Sound Synthesis Methods

SAMPLING THEORY. Representing continuous signals with discrete numbers

SuperCollider Tutorial

What is Sound? Simple Harmonic Motion -- a Pendulum

Synthesis Techniques. Juan P Bello

Professorial Inaugural Lecture, 26 April 2001 DIGITAL SYNTHESIS OF MUSICAL SOUNDS. B.T.G. Tan Department of Physics National University of Singapore

Final Exam Study Guide: Introduction to Computer Music Course Staff April 24, 2015

Principles of Musical Acoustics

Chapter 5: Music Synthesis Technologies

COMP 546, Winter 2017 lecture 20 - sound 2

Computer Audio. An Overview. (Material freely adapted from sources far too numerous to mention )

Developing a Versatile Audio Synthesizer TJHSST Senior Research Project Computer Systems Lab

Musical Acoustics, C. Bertulani. Musical Acoustics. Lecture 14 Timbre / Tone quality II

A-110 VCO. 1. Introduction. doepfer System A VCO A-110. Module A-110 (VCO) is a voltage-controlled oscillator.

Vibrato and Tremolo Analysis. Antonio DiCristofano Amanda Manaster May 13, 2016 Physics 406 L1

Fundamentals of Music Technology

Structure of Speech. Physical acoustics Time-domain representation Frequency domain representation Sound shaping

Advanced Audiovisual Processing Expected Background

Teaching the descriptive physics of string instruments at the undergraduate level

Music 171: Amplitude Modulation

Implementing whistler sound by using sound synthesis. Physics 406 Oral Presentation Project. Dongryul Lee

CS 591 S1 Midterm Exam

THE CITADEL THE MILITARY COLLEGE OF SOUTH CAROLINA. Department of Electrical and Computer Engineering. ELEC 423 Digital Signal Processing

Subtractive Synthesis & Formant Synthesis

the blooo VST Software Synthesizer Version by Björn Full Bucket Music

Musical Acoustics, C. Bertulani. Musical Acoustics. Lecture 13 Timbre / Tone quality I

the blooo VST Software Synthesizer Version by Björn Full Bucket Music

Sound Synthesis. A review of some techniques. Synthesis

Main Panel Manual Ample Guitar 12

Waveshaping Synthesis. Indexing. Waveshaper. CMPT 468: Waveshaping Synthesis

Music and Engineering: Musical Instrument Synthesis

INTRODUCTION TO COMPUTER MUSIC SAMPLING SYNTHESIS AND FILTERS. Professor of Computer Science, Art, and Music

DR BRIAN BRIDGES SOUND SYNTHESIS IN LOGIC II

Converting Speaking Voice into Singing Voice

Reading: Johnson Ch , Ch.5.5 (today); Liljencrants & Lindblom; Stevens (Tues) reminder: no class on Thursday.

Complex Sounds. Reading: Yost Ch. 4

The Resource-Instance Model of Music Representation 1

2. Experiment with your basic ring modulator by tuning the oscillators to see and hear the output change as the sound is modulated.

Plaits. Macro-oscillator

MMO-4 User Documentation

Ample China Pipa User Manual

Three Modeling Approaches to Instrument Design

Lab 9 Fourier Synthesis and Analysis

Interpolation Error in Waveform Table Lookup

The included VST Instruments

SPEECH AND SPECTRAL ANALYSIS

What is Sound? Part II

Basic MSP Synthesis. Figure 1.

Dept. of Computer Science, University of Copenhagen Universitetsparken 1, DK-2100 Copenhagen Ø, Denmark

Chapter 18. Superposition and Standing Waves

16.3 Standing Waves on a String.notebook February 16, 2018

Psychology of Language

Main Panel Manual Ample China Pipa

SOUND SOURCE RECOGNITION AND MODELING

WaveSurfer. Basic acoustics part 2 Spectrograms, resonance, vowels. Spectrogram. See Rogers chapter 7 8

Sound, acoustics Slides based on: Rossing, The science of sound, 1990.

Copyright 2010 Pearson Education, Inc.

TURN2ON BLACKPOLE STATION POLYPHONIC SYNTHESIZER MANUAL. version device by Turn2on Software

Singing Expression Transfer from One Voice to Another for a Given Song

P. Moog Synthesizer I

BoomTschak User s Guide

UNIVERSITY OF TORONTO Faculty of Arts and Science MOCK EXAMINATION PHY207H1S. Duration 3 hours NO AIDS ALLOWED

Interference & Superposition. Creating Complex Wave Forms

Music and Engineering: Just and Equal Temperament

DOEPFER System A-100 Synthesizer Voice A Introduction. Fig. 1: A sketch

Non-stationary Analysis/Synthesis using Spectrum Peak Shape Distortion, Phase and Reassignment

Resonant Self-Destruction

Laboratory Assignment 4. Fourier Sound Synthesis

Sound/Audio. Slides courtesy of Tay Vaughan Making Multimedia Work

Music. Sound Part II

EC 6501 DIGITAL COMMUNICATION UNIT - II PART A

Digital Signalbehandling i Audio/Video

Acoustic Resonance Lab

Waves are generated by an oscillator which has to be powered.

2. When is an overtone harmonic? a. never c. when it is an integer multiple of the fundamental frequency b. always d.

Source-Filter Theory 1

8.3 Basic Parameters for Audio

E40M Sound and Music. M. Horowitz, J. Plummer, R. Howe 1

Synthesizer. Team Members- Abhinav Prakash Avinash Prem Kumar Koyya Neeraj Kulkarni

Chapter 17. The Principle of Linear Superposition and Interference Phenomena

GEN/MDM INTERFACE USER GUIDE 1.00

the blooo Software Synthesizer Version by Björn Full Bucket Music

Lecture Presentation Chapter 16 Superposition and Standing Waves

E40M Sound and Music. M. Horowitz, J. Plummer, R. Howe 1

VK-1 Viking Synthesizer

How to use the. AutoStrobe 490. for Tap Tuning. by Roger H. Siminoff PO Box 2992 Atascadero, CA USA

I have been playing banjo for some time now, so it was only natural to want to understand its

MKII. Tipt p + + Z3000. FREQUENCY Smart VC-Oscillator PULSE WIDTH PWM PWM FM 1. Linear FM FM 2 FREQUENCY/NOTE/OCTAVE WAVE SHAPER INPUT.

RENT Combined Guitar Details

ETHERA EVI MANUAL VERSION 1.0

Fitur YAMAHA ELS-02C. An improved and superbly expressive STAGEA. AWM Tone Generator. Super Articulation Voices

Transcription:

INTRODUCTION TO COMPUTER MUSIC FM SYNTHESIS A classic synthesis algorithm Roger B. Dannenberg Professor of Computer Science, Art, and Music ICM Week 4 Copyright 2002-2013 by Roger B. Dannenberg 1 Frequency Modulation Frequency modulation occurs naturally: Voice inflection, natural jitter, and vibrato in singing Vibrato in instruments Instrumental effects, e.g. electric guitar Many tones begin low and come up to pitch Loose vibrating strings go sharp as they go louder Slide trombone, Theremin, voice, violin, etc. create melodies by FM (as opposed to, say, pianos) 2 1

Frequency Modulation with Nyquist fmosc(basic-pitch, fm-control [, table [, phase]]) fm-control is expressed as deviation in Hz hzosc(fm-control) fm-control is absolute frequency in Hz snd-compose(f, g) Computes f(g(t)) if g is non-linear, frequency changes occur 3 FM EXAMPLES Exploring the sound world of FM synthesis 4 2

Examples See Code 4 (code_4.sal) 5 Why FM Synthesis? We ve already seen wavetable or table-lookup synthesis: Very efficient Create any harmonic spectrum Simple frequency and amplitude control What s missing? Time-varying control over the spectrum Inharmonic spectra Various Approaches: Synthesize each sinusoid separately tedious, costly Filter the output of table useful, but only harmonic output FM Synthesis 6 3

FM Synthesis When modulation frequency is in the audio range, interesting things happen. Number of significant partials is roughly the ratio of modulation amp (freq dev, D) to modulation freq. Modulation Frequency (M) Bandwidth~2(D+M) Carrier Frequency (C) 7 Mathematics of FM The exact amplitudes of the partials generated by FM are described by Bessel functions These functions are messy, their evolution is messier, and there is no simple way to invert the functions Many lives of FM: 1967-1968 Invented by John Chowning, patented 1975 1983-1986: Yamaha DX7 160,000 sold 1990-1995: IBM PC-compatible Sound Cards 2000 s: FM synthesis provides polyphonic ring tones 8 4

FM and Harmonics Generated frequencies are: C ± nm Where C = Carrier and M = Modulator Simplest case: C = M Generated frequencies are: C+nM gives us C, 2C, 3C, 4C, What about negative frequencies? 9 FM and Harmonics (2) Bandwidth~2(D+M) C C 10 5

FM and Harmonics (3) Bandwidth~2(D+M) C C 11 Classic FM brass sound Characterized by a rise in upper partials Generated by increasing depth of modulation Uses 1:1 Carrier:Modulation frequency More partials over time See example in code_4.htm 12 6

Odd Harmonics C ± nm Let M = 2C Resulting frequencies are C, 3C, 5C, Negative frequencies are -C, -3C, -5C, Try it 13 Other Harmonic Schemes C ± nm Let M = i/j x C, for small integers i and j Let F = C/j, then M = if C = jf, C+M = (i+j)f, C+2M = (2i+j)F, etc. All frequencies are harmonics (integer multiples) of F Try it 14 7

Inharmonic Partials C ± nm Let M = not i/j x C Resulting frequencies are not harmonics Negative frequencies are not harmonics Try it 15 Formants Resonances (especially in the vocal tract) emphasize frequencies around the resonant frequency We can simulate resonances (and voice) by placing a carrier near the desired resonant frequency and modulating it to create nearby harmonics: M C 16 8

Summary FM Synthesis Time varying spectra Low cost (simplest case is only 2 oscillators) Simple parametric control Musically useful results FM Control Carrier:Modulator ratio Harmonic or inharmonic spectra Odd or all harmonics Formants Depth of modulation Number of partials See examples in code_4.sal 17 BEHAVIORAL ABSTRACTION A sound event can behave differently according to the context in which it is instantiated. 18 9

Temporal Semantics and Behavioral Abstraction Extensions to ordinary (Lisp, SAL) semantics: Behaviors Evaluation environment Transformations Temporal combination: SEQ and SIM 19 Behaviors Nyquist sound expressions denote a whole class of behaviors The specific sound computed by the expression depends upon the environment Transformations like STRETCH and TRANSPOSE alter the behavior. Behaviors vs. linear transformation: when you play a longer note, you don t simply stretch the signal! The behavior concept is critical for music. 20 10

Evaluation Environment To implement behavior concept, all Nyquist expressions evaluate within an environment. Nyquist environment includes: starting time, stretch factor, transposition, legato factor, loudness, sample rates, and more. Environment is hidden and changed or accessed using special function-like constructs. 21 Manipulating the Environment Example: osc(c4) ~ 3 Within STRETCH, all expressions see altered environment and behave accordingly Scoping is dynamic: function tone() return osc(c4) play tone() ~ 3 <? second sound> Transformations can be nested: function tone() return osc(c4) ~ 2 play tone() ~ 3 <? second sound> 22 11

Manipulating the Environment Example: osc(c4) ~ 3 Within STRETCH, all expressions see altered environment and behave accordingly Scoping is dynamic: function tone() return osc(c4) play tone() ~ 3 <3 second sound> Transformations can be nested: function tone() return osc(c4) ~ 2 play tone() ~ 3 <6 second sound> 23 Absolute Transformations You can override the inherited environment: function tone2() return osc(c4) ~~ 2 play tone2() ~ 100 <2 second tone> Even though TONE2 is called with a stretch factor of 100, its STRETCH-ABS transformation overrides the environment and sets it to 2 Once sound is computed by OSC(C4), the sound is immutable, i.e. not subject to transformation!!!!! 24 12

The SOUND Type osc(c4) ~~ 2 this is an expression When evaluated, osc() uses the environment (especially start time and stretch factor) and returns a SOUND: Start time Sample Rate Terminate time Logical stop time 25 Example begin with x = osc(c4) play x ~ 3 <? second tone> end function x() return osc(c4) play x() ~ 3 <? second tone>! 26 13

Example begin with x = osc(c4) play x ~ 3 <1 second tone> end function x() return osc(c4) play x() ~ 3 <3 second tone>! 27 Transformations STRETCH, STRETCH-ABS (~, ~~) AT, AT-ABS (@, @@) LOUD, LOUD-ABS SUSTAIN, SUSTAIN-ABS ABS-ENV use default environment See manual for others. Maybe we ll talk about time-varying transformations later in semester. 28 14

Practical Notes In practice, the most critical transformations are AT (@) and STRETCH (~), which control when sounds are computed and how long they are. Technically, transformations are not functions because they do not evaluate their arguments in the normal order: instead, they manipulate the environment, evaluate the behavior, then restore the environment. Implemented as macros in XLISP 29 SEQ A construct for sequential behavior 30 15

SEQ How do we make a sequence of sounds: seq(osc(c4), osc(d4)) Semantics: Evaluate osc(c4) at default time (t=0) Resulting sound has logical stop time of 1.0 Evaluate osc(d4) at start time t=1.0 Return the sum of the results 31 Counterexample You MUST use seq with behavior expressions, not sound values: set x = osc(c4) ; compute sounds set y = osc(d4) ; play seq(x, y) ; WRONG!! function x() return osc(c4) ; define function y() return osc(d4) ; behaviors play seq(x(), y()) ; RIGHT!! 32 16

SIM A construct for simultaneous behavior 33 SIM SIM is exactly the same as SUM and + SIM evaluates a list of behaviors and forms their sum (equivalent to audio mixing) sim(osc(c4), osc(g4)) 34 17

Example Using @ play sim(osc(c4), osc(e4) @ 0.1, osc(g4) @ 0.2, osc(b4) @ 0.3), osc(d5) @ 0.4)) 35 LOGICAL STOP TIME Decoupling the logical end of a sound (its duration) from the physical end of a sound (its articulation) 36 18

Overlap With Logical Stop Times play seq(set-logical-stop(osc(c4), 0.1), set-logical-stop(osc(e4), 0.1), set-logical-stop(osc(g4), 0.1), set-logical-stop(osc(b4), 0.1), set-logical-stop(osc(d5), 0.1)) Logical stop time Physical stop time Start times 37 Scores We ve seen scores already To evaluate a score, evaluate each sound expression with the start time and stretch factor: {{start dur {instr parameters}} instr(parameters) ~ dur @ start Note: instr() ~ dur @ start instr() @ (start / dur) ~ dur 38 19

Summary SOUNDS Start time Logical stop time Physical stop time Functions evaluated in an environment Dynamically scoped inherited across calls Modified by transformations Stretch (~) Shift (@) Results of functions (SOUNDS) are immutable Sim and Seq control constructs 39 20