Band-Limited Simulation of Analog Synthesizer Modules by Additive Synthesis

Similar documents
Subtractive Synthesis without Filters

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

Music 270a: Modulation

Convention Paper Presented at the 126th Convention 2009 May 7 10 Munich, Germany

MUSC 316 Sound & Digital Audio Basics Worksheet

On Minimizing the Look-up Table Size in Quasi Bandlimited Classical Waveform Oscillators

Modulation is the process of impressing a low-frequency information signal (baseband signal) onto a higher frequency carrier signal

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

Mono/Fury. VST Software Synthesizer. Version by Björn Full Bucket Music

Sound Synthesis. A review of some techniques. Synthesis

Signal Processing Libraries for FAUST

Laboratory Assignment 5 Amplitude Modulation

Table of Contents: Limited Warranty:

Station X/Y. User Manual. Analogue solutions 2010

CMPT 468: Frequency Modulation (FM) Synthesis

Outline. Discrete time signals. Impulse sampling z-transform Frequency response Stability INF4420. Jørgen Andreas Michaelsen Spring / 37 2 / 37

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

What is Sound? Simple Harmonic Motion -- a Pendulum

Synthesis Techniques. Juan P Bello

Instruction Manual for Concept Simulators. Signals and Systems. M. J. Roberts

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

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

DIRECT UP-CONVERSION USING AN FPGA-BASED POLYPHASE MODEM

Analog-Digital Hybrid Synthesizer

Window Functions And Time-Domain Plotting In HFSS And SIwave

IMPROVED POLYNOMIAL TRANSITION REGIONS ALGORITHM FOR ALIAS-SUPPRESSED SIGNAL SYNTHESIS

Audible Aliasing Distortion in Digital Audio Synthesis

Introduction. TUNE Explained:

Laboratory Assignment 4. Fourier Sound Synthesis

Anyware Instruments MOODULATOR. User s Manual

OCS-2 User Documentation

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

Sound Synthesis Methods

ADDITIVE SYNTHESIS BASED ON THE CONTINUOUS WAVELET TRANSFORM: A SINUSOIDAL PLUS TRANSIENT MODEL

Angle Modulation, II. Lecture topics. FM bandwidth and Carson s rule. Spectral analysis of FM. Narrowband FM Modulation. Wideband FM Modulation

Complex Sounds. Reading: Yost Ch. 4

Lecture 6. Angle Modulation and Demodulation

Variable Fractional Delay Filters in Bandlimited Oscillator Algorithms for Music Synthesis

NOZORI 84 modules documentation

Sampling and Reconstruction of Analog Signals

Interpolation Error in Waveform Table Lookup

P. Moog Synthesizer I

JUNO-106. PLUG-OUT Software Synthesizer Owner s Manual 01A. Copyright 2017 ROLAND CORPORATION

Q179 Envelope++ Q179 Envelope++ Specifications. Mar 20, 2017

Audio Engineering Society Convention Paper Presented at the 110th Convention 2001 May Amsterdam, The Netherlands

ALTERNATING CURRENT (AC)

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

Lauren Gresko, Elliott Williams, Elaine McVay Final Project Proposal 9. April Analog Synthesizer. Motivation

MMO-3 User Documentation

The University of Texas at Austin Dept. of Electrical and Computer Engineering Final Exam

BANDPASS delta sigma ( ) modulators are used to digitize

SYSTEM-100 PLUG-OUT Software Synthesizer Owner s Manual

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

Get t ing Started. Adaptive latency compensation: Audio Interface:

Computer Music in Undergraduate Digital Signal Processing

HARDWARE IMPLEMENTATION OF LOCK-IN AMPLIFIER FOR NOISY SIGNALS

Spectrum Analysis - Elektronikpraktikum

Analog Synthesizer: Functional Description

NON-UNIFORM SIGNALING OVER BAND-LIMITED CHANNELS: A Multirate Signal Processing Approach. Omid Jahromi, ID:

Signals and Systems Using MATLAB

A-147 VCLFO. 1. Introduction. doepfer System A VCLFO A-147

pittsburgh modular synthesizers microvolt 3900 manual

Chapter 3. Meeting 3, Foundations: Envelopes, Filters, Modulation, and Mixing

Plaits. Macro-oscillator

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

AN-348(1) OBTAINING SINUSOIDAL WAVEFORMS

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

Quick Start. Overview Blamsoft, Inc. All rights reserved.

What is Sound? Part II

PRODUCT DEMODULATION - SYNCHRONOUS & ASYNCHRONOUS

Contents. Getting Started. Programming the Gigmate v2. Gigmate v2 Control panel. Appendices. Introduction...3. Installation...4

Modulation. Digital Data Transmission. COMP476 Networked Computer Systems. Analog and Digital Signals. Analog and Digital Examples.

Chapter 1 INTRODUCTION TO DIGITAL SIGNAL PROCESSING 1.6 Analog Filters 1.7 Applications of Analog Filters

Lecture 7 Frequency Modulation

Audio Engineering Society. Convention Paper. Presented at the 117th Convention 2004 October San Francisco, CA, USA

IEEE pc-00/11. IEEE Broadband Wireless Access Working Group <

Optimization of an OTA Based Sine Waveshaper

TiaR c-x-f synth rev 09. complex X filter synthesizer. A brief user guide

f o Fig ECE 6440 Frequency Synthesizers P.E. Allen Frequency Magnitude Spectral impurity Frequency Fig010-03

Notes on Fourier transforms

Lecture 7: Superposition and Fourier Theorem

CMPT 368: Lecture 4 Amplitude Modulation (AM) Synthesis

Chapter 6 CONTINUOUS-TIME, IMPULSE-MODULATED, AND DISCRETE-TIME SIGNALS. 6.6 Sampling Theorem 6.7 Aliasing 6.8 Interrelations

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

EE 422G - Signals and Systems Laboratory

CSC475 Music Information Retrieval

Music 171: Amplitude Modulation

A Parametric Model for Spectral Sound Synthesis of Musical Sounds

Signal Characteristics

The Brief History of Virtual Analog Synthesis

Twelve voice signals, each band-limited to 3 khz, are frequency -multiplexed using 1 khz guard bands between channels and between the main carrier

The Logic Pro ES1 Synth vs. a Simple Synth

Lecture 17: BJT/FET Mixers/Mixer Noise

12HP. Frequency Modulation, signal input and depth control scaled in V/octave.

Mixer Section. Sample & Hold (S\H) Section MIXER S\H

DSP First Lab 03: AM and FM Sinusoidal Signals. We have spent a lot of time learning about the properties of sinusoidal waveforms of the form: k=1

Music 171: Sinusoids. Tamara Smyth, Department of Music, University of California, San Diego (UCSD) January 10, 2019

PRELIMINARY USER S MANUAL OCTOBER 2012

EXCLUSIVELY ANALOGUE THE ANALOGUE SYNTHESIZER SPECIALISTS (UNIT 1) 18 THE MEADOWS, CHESTERFIELD, DERBYSHIRE, S42 7JY, ENGLAND

D O C U M E N T A T I O N

Transcription:

Band-Limited Simulation of Analog Synthesizer Modules by Additive Synthesis Amar Chaudhary Center for New Music and Audio Technologies University of California, Berkeley amar@cnmat.berkeley.edu March 12, 2001 Abstract Analog synthesizers continue to be used by many musicians because of their distinctive timbres, intuitive real-time control and flexible patching. There has been recent interest in simulating the analog signal chain with digital techniques. However, a literal time-domain translation of analog VCOs and VCFs is surprisingly challenging. This paper presents a new strategy for digital simulation based on s of analog modules and additive synthesis techniques. A real-time software analog synthesizer has been implemented based on this strategy. Audio output is qualitatively close to that of analog synthesizers. 1 Introduction Analog synthesizers continue to be used by many musicians because of their distinctive timbres, intuitive real-time control and flexible patching. Since digital synthesizers are cheaper to make and don t suffer from the tuning problems of their analog counterparts, there has been recent interest in simulating the analog signal chain with digital techniques. A literal time-domain translation of each analog functional module into digital form is surprisingly challenging. Creating band-limited sawtooth and square waves over a wide 1

variety of pitches is computationally expensive. Some filter topologies used in VCFs are not realizable digitally. When they are realizable, the accurate transformation of frequency and Q parameters to digital filter coefficients is very expensive. We introduce a new strategy to avoid these problems based on operations on s of analog modules and additive synthesis techniques. This new approach avoids aliasing and filter design problems and preserves the control parameters of analog implementations (i.e., pitch, loudness, center frequency and bandwidth) without the need to convert to the problematic parameter space for digital filters. This strategy is also used to simulate analog noise generation. Our implementation supports dynamic reconfiguration (i.e., patching ) of modules. Audio output is qualitatively close to that of analog synthesizers. The implementation runs in real time and responds to external controllers via MIDI or Open Sound Control [1]. The remainder of this paper is organized as follows: Section 2 explains why digital simulations of analog synthesizers are difficult. Section 3 describes our method based on additive synthesis. Section 4 discusses the application of this method to analog noise generation. Section 5 describes our implementation, and section 6 concludes the paper. 2 Why Digital Simulations of Analog Synthesizers are Difficult Analog synthesizers typically use subtractive synthesis. In subtractive synthesis, sounds are produced by passing broadband signals through time-varying filters [2]. Analog synthesizers consist of modules that implement the steps of subtractive synthesis: Voltage-controlled oscillators (VCOs) produce broadband excitation signals at a given pitch. Voltage-controlled filters (VCFs) modify the timbre of signals. VCFs usually have controls for center frequency and Q (i.e., resonance). 2

Voltage-controlled amplifiers (VCAs) scale the amplitudes of signals by a given gain. The pitch, center frequency, Q and gain controls of these modules can be controlled directly or by using piecewise linear functions called envelopes, or low-frequency oscillators (s). Figure 1 illustrates a typical chain of analog synthesizer modules. VCOs generally produce a few types of waveforms, such as sawtooths, squares, triangles and pulse trains. Each of these waveforms can be described as an infinite sum of sinusoidal components, as shown in Table 1. As such signals are not band-limited, aliasing will occur producing unwanted frequency components in the output signal [3]. In order to prevent aliasing, the source signals must be band-limited, or contain only partials between the fundamental and the Nyquist frequency. For example, a band-limited square wave can be expressed using the following formula 1 : 1 π N i=1 1 cos(2(2i 1)πft) (1) 2i 1 where f is the fundamental frequency of the square wave, and N is the number of partials. The number of partials is a function of the fundamental and the sampling rate: N R 2f where R is the sampling rate. Because the fundamental varies while the Nyquist frequency R/2 remains constant, the number of partials in the bandlimited spectrum changes. A time-domain implementation based on sampleplayback or wavetable synthesis must store different versions of the waveform for different frequency ranges. This requires large amounts of dynamic storage [2]. Difficulties also arise when converting analog VCFs to equivalent digital filters. The distinctive timbres of analog synthesizers are often a result of the 1 All time-varying functions in this paper are expressed as continuous functions of time for clarity and convenience. However, it should be noted that time is a discrete value in the digital domain. Digital-domain time is expressed as t = n/r where R is the sampling rate and n = 0, 1, 2,... (2) 3

strongly non-linear response characteristics of the particular VCF topology used, so these functions should be modeled as accurately as possible. We also want to preserve for musicians the familiar analog parameters, such as center frequency and Q. Traditional conversion techniques use an isomorphism, such as the bilinear transformation to map between the analog and digital domains [4]. These techniques often preserve the parameterization but not the frequency response characteristics of the original analog filter [5]. VCF topologies that include feedback may not be realizable at all using these techniques. For example, the Moog four-pole VCF [6] is unrealizable using the bilinear transform unless a unit delay is added to the resulting digital filter [7]. Such hand-tweaking of converted filters complicates or, in some cases, destroys the relationship between the analog control parameters and filter behavior [7]. Designing a digital filter directly from the impulse response or frequency response of a VCF[8] will likely result in a filter with a nontrivial mapping between analog parameters and filter coefficients that is too expensive to compute in real time. In the following section, we present a method which overcomes or avoids the problems described above. 3 Simulation Using Additive Synthesis Many of the difficulties discussed in the previous section can be avoided by operating on s used in additive synthesis. In additive synthesis, sounds are modeled as a sum of sinusoid functions whose amplitude, frequency and phase change over time: N x(t) = A i (t) cos(ω i (t)t + φ i (t)) (3) i=1 where N is the number of sinusoids in the sound, A i (t), ω i (t) and φ i (t) represent the amplitude, frequency and phase, respectively, of the ith sinusoid at time t. The of the sound at time t is the set of all instantaneous frequency, amplitude and phase values {ω i (t), A i (t), φ i (t)}. A discription may contain hundreds of sinusoids in order to accurately model a sound. The is converted to a digital waveform 4

using inverse-transform or oscillator additive synthesis [9]. Analog synthesizer modules can be simulated using a sequence of domain functions, as illustrated in figure 2. This simulation method requires an efficient implementation of additive synthesis that can handle hundreds of partials in real time [9]. The -domain VCO is a function that outputs the of band-limited excitation waveforms. The of a particular waveform is the band-limited subset of the frequency, amplitude and phase coefficients used in its summation formula, as listed in table 1. For example, the of a square wave of pitch f would be {{f, 1, 0}, {3f, 1/3, 0}, {5f, 1/5, 0},..., {(2N 1)f, 1/(2N 1), 0}}, where N is the total number of partials, as described in equation 2. The -domain VCF is a function which scales the amplitudes of the discription according to the frequency-response function of the analog filter. For example, the Moog four-pole VCF has the following frequencyresponse function: H(jω) = (4) (jω ω c ) 4 + kωc 4 where ω c is the center frequency and k is the Q control. Each partial in the output has the same frequency and phase values as the corresponding input partial, but its amplitude value has been scaled according to frequency-resonpose function: ω 4 c {ω i, A i H(jω i ), φ i } (5) By operating in the domain, the center frequency and Q controls are applied directly to the signal without the need for an intermediate calculation of digital filter coefficients. The filter conversion problem has been avoided. This method can be applied to other VCF designs. The frequency and phase responses of the filter are analyzed at different values of its control parameters. The collected data can be used to construct a table-lookup function that takes frequency, phase and the control parameters as inputs and produces an appropriate amplitude-scaling value. 5

The -domain VCA is trivial. The amplitude of each sinusoid is scaled by the gain control of the VCA. 4 Simulation of Noise The additive synthesis strategy can also be used to simulate analog noise generation. The VCO noise signal is represented as a set of noise bands, each with a center frequency and an amplitude. White noise is generated by using a constant amplitude over all frequency bands, and pink noise is generated by setting the amplitude of each band to be inversely proportional to its center frequency. The frequency response function of the simulated VCF is then used to scale the amplitude of the noise band. The scaled noise bands can then be converted to a digital waveform using an inverse transform method for generating broad-band signals [10]. 5 Implementation We have implemented an analog synthesizer simulation using the method described in this paper. It consists of two voices, each with its own VCO, Moog-style VCF and VCA. The VCO has a pitch control, the VCF has controls for center frequency and Q, and the VCA has a gain control. Each of these controls has an indepedent (i.e., attack, decay, sustain and release) envelope and as well as a slider for direct control. The VCO uses a maximum of 100 sinusoids to generate s for sine waves, sawtooths, square waves, triangle waves, pulse trains and white and pink noise. The VCF applies a Moog transfer function to the source spectrum. The s from the two voices are merged together and the resulting spectrum is converted to an output audio signal using the inverse transform method of additive synthesis [9]. The signal chain of this software analog synthsizer is illustrated in figure 3. The modules were written as portable C++ objects that support dynamic patching. The user interface was written using Tcl [11], a multi-platform scripting language and user interface toolkit. A screen capture of the user interface is shown in figure 4. 6

Our implementation has been tested on an Intel Pentium Pro 200Mhz running Windows NT 4.0, and an SGI O2 running Irix 6.3. Both implementations run in real time and respond to external controllers via MIDI or Open Sound Control. The external control messages can be mapped to any of the analog module parameters on either or both voices. Listeners find this implementation qualitatively close to analog Moog synthesizers and confirm that the real-time controls agree with their intuition and experience with analog instruments. 6 Future Work Our results have been very encouraging, both computationally and perceptually. Future work includes the analysis of additional VCF topologies, controls based on non-linear functions (e.g., the hyperbolic tangent), an improved user interface for dynamically adding and patching modules and optimization of transform code for very large patches. Some additional types of analog modules, such as ring modulators, can be more efficiently implemented as time-domain transforms. Such modules can easily be added at the end of a -domain signal chain after the inverse transform operation, but require additional domain conversions if used in the middle of a signal chain. Acknowledgements I am grateful to Silicon Graphics Inc., the NSF Graduate Research Fellowship program and Gibson Music Inc. for their support of this research. References [1] M. Wright and A. Freed. Open Sound Control: A New Protocol for Communicating with Sound Synthesizers. In Proceedings of the 23rd International Computer Music Conference, Thessoloniki, Greece, 1997. This paper can be found at http://cnmat.cnmat.berkeley.edu/research. 7

[2] F.R. Moore. Elements of Computer Music. P T R Prentice Hall, Englewood Cliffs, NJ, 1990. [3] T. Stilson and J. O. Smith. Alias-free Digital Synthisis of Classic Analog Waveforms. Technical report, CCRMA, Stanford University, 1996. This paper can be found at http://www-ccrma.stanford.edu/ stilti/papers. [4] K. Steiglitz. The Equivalence of Digital and Analog Signal Processing. Information and Control, 8:455 467, 1965. Reprinted in Digital Signal Processing, IEEE Press, New York, 1972. [5] S. J Orfandis. Digital Parametric Equalizer Design with Prescribed Nyqyust-frequency Gain. Journal of the Audio Engineering Society, 45(6), June 1997. [6] R. A. Moog. A Voltage-controlled Low-pass High-pass Filter for Audio Signal Processing. processing. In Audio Engineering Society Convention, volume Preprint 413, October 1965. [7] T. Stilson and J. O. Smith. Analyzing the Moog VCF with Considerations for Digital Implementation. Technical report, CCRMA, Stanford University, 1996. This paper can be found at http://www-ccrma.stanford.edu/ stilti/papers. [8] L. B. Jackson. Digital Filters and Signal Processing, Second Edition. Kluwer Academic Publishers, Boston, 1989. [9] A. Freed. Real-time Inverse Transform Additive Synthesis for Additive and Pitch Synchronous Noise and Sound Spatialization. AES 104th Convention, San Francisco, CA, 1998. This paper can be found at http://cnmat.cnmat.berkeley.edu/research. [10] A. Freed. Bring Your Own Control to Additive Synthisis. In Proceedings of the International Computer Music Conference, Banff, Canada, 1995. This paper can be found at http://cnmat.cnmat.berkeley.edu/research. [11] B. B. Welch. Practical Programming in Tcl & Tk, 2nd Edition. Prentice Hall, Upper Saddle River, NJ, 1997. 8

Waveform Summation 1 Sawtooth i=1 ( 1) i π i cos(2πif t) 1 Square i=1 1 π 2i 1 cos(2(2i 1)πft) 4 Triangle i=1 ( 1) i π 2 (2i 1) cos(2πift) 2 Pulse Train i=1 cos(2πift) Table 1: Common VCO waveforms as infinite sums of sinusoidal components 9

Excitation VCO VCF Filtered VCA signal signal Figure 1: An analog signal chain. Throughout this paper, circles represent functional units, and rectangles represent signals or data. VCO Excitation VCF Filtered VCA scaled IFFT Figure 2: A -domain version of the analog signal chain from figure 1. The signals have been replaced by s. The last is converted to an audio signal using an Inverse Fast Fourier Transform (IFFT). 10

Pitch Pitch VCO VCO Center Excitation Center Excitation VCF VCF Q Q Filtered Filtered Gain VCA Gain VCA scaled scaled Mixer IFFT Figure 3: The signal chain and control structure of the two-voice analog synthesizer implementation. Each control parameter has its own envelope and. 11

Figure 4: The main interface panel of the analog synthesizer. Controls for pitch, center frequency, Q, gain and oscillator waveform are included for each voice. Buttons are included to pop up an or envelope editing panel for each control parameter. 12