Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Wavetable synthesis
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Table-lookup synthesis == {{Cleanup rewrite|2=section|date=August 2020}} {{multiple image |direction=vertical |width=300 | image1 = Csound's lookup table (f-table), closing up the data at addresses 63 through 67 (based on Figure 2.1 on Nelson 2000).jpg | caption1 = An example of [[lookup table]], where the data at addresses from 63 to 67 are zoomed. <br/>(based on Figure 2.1 on {{harvnb|Nelson|2000}}) <p> On [[Csound]], it is called ''f-table'' (function table), and used for various purposes including: wavetable-lookup synthesis, [[waveshaping]], [[MIDI]] note mapping, and storing ordered [[pitch-class set]]s.<ref> {{cite book | first = Jon Christopher | last = Nelson | date = 2000 | chapter = 2. Understanding and Using Csound's GEN Routines | chapter-url= https://books.google.com/books?id=szwfRU9DqwYC&lpg=PA65&pg=PA65 | title = The Csound book | publisher = [[MIT Press]] | location = Cambridge, MA, USA | isbn = 0-262-52261-6 | pages = 65–97 }}"''Csound uses lookup tables for musical applications as diverse as wavetable synthesis, waveshaping, mapping MIDI note numbers and storing ordered pitch-class sets. These function tables (f-tables) contain everything from periodic waveforms to arbitrary polynomials and randomly generated values. The specific data are created with Csound's f-table generator subroutines, or ''GEN'' routines. ...''" </ref></p> | image2 = CsoundSineTable.png | caption2 = An example of the content of ''f-table'' visually shown: a single-cycle [[sinusoidal wave]]. }} '''Table-lookup synthesis'''<ref> {{harvnb|Roads|1996|loc=Introduction to Digital Sound Synthesis|p=[https://books.google.com/books?id=nZ-TetwzVcIC&pg=PA87&dq=table-lookup 87]}}, "''This chapter outlines the fundamental methods of digital sound production. Following a brief historical overview, we present the theory of '''table-lookup synthesis'''—the core of most synthesis algorithms. ...''" </ref> (or '''Wavetable-lookup synthesis'''<ref> {{harvnb|Roads|1996|loc=Sampling Synthesis|p=[http://courses.cs.washington.edu/courses/cse490s/11au/Readings/SynthesisChapt4a.pdf#page=9 125]}}, "Pitch-shifting ''... variation technique as used in ''''wavetable-lookup synthesis''' described in chapter 3.''" </ref>) {{harv|Roads|1996}} is a class of [[sound synthesis]] methods using the [[waveform]] tables by [[Lookup table|table-lookup]], called "table-lookup oscillator" technique. The length of waveforms or samples <!-- used --> may be varied by each sound synthesis method, from a single-cycle up to several minutes. === Terminologies === The term "''waveform table''" (or "''wave shape table''" as equivalent) is often abbreviated to "wavetable",<ref name=allesgiugno1977> {{cite journal | last1 = Alles | first1 = H.G. | author-link1=Alles Machine | last2 = Giugno| first2 = Pepino di | author-link2=Giuseppe di Giugno | title = A One-Card 64 Channel Digital Synthesizer | jstor = 40731292 | journal = [[Computer Music Journal]] | volume = 1 | issue = 4 | date = November 1977 | pages =7–9 | quote = The samples in the ''wave shape table'' ...", "FIGURE 1 ... 16 K × 14 BIT '''WAVETABLE''' }} </ref> and its derived term "''wavetable oscillator''"<ref name=puckette2002/> seems to be almost the same as "''table-lookup oscillator''" mentioned above, although the word "wave" (or "waveform", "wave shape") may possibly imply a nuance of single-cycle waveform<!-- table -->. However, the derived term "''wavetable synthesis''" seems slightly confused by the later developments of derived algorithm. ;(1) Wavetable synthesis<ref name=puckette2002/>:<!-- — original, generic meaning (i.e. a single-cycle table-lookup synthesis). -->Its original meaning is essentially the same as "''table-lookup synthesis''",<ref name=Boulanger2012> {{cite book | editor-last1 = Boulanger | editor-first1 = Richard | editor-link1 = Richard Boulanger | editor-last2 = Lazzarini | editor-first2 = Victor | editor-link2 = Victor Lazzarini | others = Foreword by [[Max Mathews]] | chapter = 3.2.3 Table-Lookup Oscillators | title = The Audio Programming Book | chapter-url = https://books.google.com/books?id=BsLxCwAAQBAJ&pg=PA335&dq=%22Table-lookup%20synthesis%22 | publisher = MIT Press <!-- publication-date = 2010 --> | isbn = 978-0-262-28860-6 | page = [https://books.google.com/books?id=BsLxCwAAQBAJ&pg=PA335&dq=%22Table-lookup%20synthesis%22 335]–336 | date = 2010-10-22 | quote = ''In this section ...<!-- we will continue to work with audio streams and --> we will be introduce the ''table-lookup method'' for generating waveforms. This method is also called ''wavetable synthesis'' ...<!-- and it can be used for both artificial sounds, generated entirely by computer calculations, and for acoustic sounds, recorded with a microphone. --> / Wavetable synthesis is a technique based on reading data that has been stored in blocks of ''contiguous computer-memory locations'', called ''tables''. This sound-synthesis technique was one of the very first software synthesis methods introduced in the MUSIC I-MUSIC V languages developed by Max Mathews at Bell Labs in the late 1950s and the early 1960s. ...<!-- Back then, computers were slow and reading pre-computed samples from memory was much faster than calculating each sample from scratch (as in the case of previous ''hellosine.c'', in which the sin() function was called for each sample of the synthesizer sound). --> / With table-lookup synthesis, it is sufficient to calculate only a single cycle of a waveform, and then store this small set of samples in the table where it serves as a template. ...<!-- In order to playback the actual sound, this stored single cycle of the waveform must be re-read in a loop at desired frequency. Among other things, this method provided a huge advantage over the analog oscillators used in radio and electronic music studios of early 1960s because analog oscillators were capable of producing but a limited set of wave shapes (sinusoid, triangle, sawtooth, and square), whereas with the table-lookup method virtually any wave shape could be synthesized.-->''"<br/>'''Note''': on the preceding quotation, the authors paraphrased the section title "table-lookup oscillators" as follows: "table-lookup method", "wavetable synthesis", and "table-lookup synthesis". }}</ref><ref name=Hosken2012> {{cite book | author-first = Dan | author-last = Hosken | chapter = The Oscillator | title = Music Technology and the Project Studio: Synthesis and Sampling | chapter-url = https://books.google.com/books?id=YhypAgAAQBAJ&pg=PA72&dq=%22Table-lookup%20synthesis%22 | publisher = Routledge | date = 2012 | isbn = 978-1-136-64435-1 | page = [https://books.google.com/books?id=YhypAgAAQBAJ&pg=PA72&dq=%22Table-lookup%20synthesis%22 72]–73 | quote = ''The '''oscillator''' generates a cycle of some waveform the appropriate number of times per second for the desired fundamental frequency. This is referred to variously as fixed-waveform synthesis, table-lookup synthesis, or wavetable synthesis.<!-- The waveform can be one of the standard waveforms (sine, triangle, sawtooth, etc.) or any other shape that represents a single cycle of a waveform (see Figure 4.2). -->'' }}</ref><ref name=puckette2002> {{cite journal | last = Puckette | first = Miller | author-link= Miller Puckette | year = 2002 | title = Max at seventeen | url = http://msp.ucsd.edu/Publications/dartmouth-reprint.pdf | format = reprint | journal = [[Computer Music Journal]] | volume = 26 | issue = 4 | pages = 31–43 | doi = 10.1162/014892602320991356 }}<br/>"''For example, the '''wavetable oscillator''' used in [http://msp.ucsd.edu/Publications/dartmouth-reprint.dir/img1.png Fig. 1] made its first appearance in Mathews's '''Music II''' (two, not eleven) '''in the late 1950s'''. Music II was only one in a long sequence of MUSIC N programs, but the idea of wavetable synthesis has had a pervasive influence throughout the computer music discipline.''" </ref><ref> {{harvnb|Cullen|Howell|2006}}, "''SOS contributor Steve Howell replies: Wavetable synthesis is actually quite easy to understand. In the early days of synthesis, (analogue) oscillators provided a limited range of waveforms, such as sine, triangle, sawtooth and square/pulse, normally selected from a rotary switch. This gave the user a surprisingly wide range of basic sounds to play with, especially when '''different waveforms were combined in various ways'''.''<br/>([http://msp.ucsd.edu/Publications/dartmouth-reprint.dir/ HTML] version available) </ref> and possibly several actions on waveform(s) may be expected. ⇒''See'' (2), (3) ;(2) Wavetable-modification algorithm<ref name=usapp5212334/>:<!-- — including [[digital waveguide synthesis]].<br/> -->For example, [[Karplus–Strong string synthesis]]<ref name=karplusstrong1983> {{cite journal | last1 = Karplus | first1 = Kevin | author-link1=Kevin Karplus | last2 = Strong | first2 = Alex | date = Summer 1983 | title = Digital Synthesis of Plucked-String and Drum Timbres | url = http://compbio.soe.ucsc.edu/~Karplus/papers/digitar.pdf | journal = [[Computer Music Journal]] | volume = 7 | issue = 2 | doi = 10.2307/3680062 | jstor = 3680062 | pages = 45–55 | quote = Wavetable Synthesis: ''One standard synthesis technique is the ''wavetable synthesis'' algorithm. ... The wavetable-synthesis technique is very simple but rather dull musically, since it produces purely periodic tones. ... All the algorithms described in this paper '''produce the variation in sound by modifying the wavetable itself'''.'' }} </ref> is a simple class of "''wavetable-modification algorithm''" known as [[digital waveguide synthesis]].<ref name=usapp5212334> {{cite patent | country = US | number = 5212334 | status = application | title = [https://www.google.co.jp/patents/US5212334 Digital signal processing using closed waveguide networks] | pubdate = 1993-05-18 | fdate = 1990-08-16 | pridate = 1986-05-02 | inventor = [[Julius O. Smith III]] | assign1 = [[Yamaha Corporation]] }}.<br/>(See also the Wikipedia article [[Digital waveguide synthesis]]: "''The term "[[digital waveguide synthesis]]" was coined by [[Julius O. Smith III]] who helped develop it and eventually filed the patent. It represents an extension of the [[Karplus–Strong algorithm]]. [[Stanford University]] owns the patent rights for digital waveguide synthesis and signed an agreement in 1989 to develop the technology with [[Yamaha Corporation|Yamaha]].''") </ref> ;(3) Multiple wavetable synthesis<ref name=beauchamp1993/>:<!-- — developed by McNabb and Palm, typically used on [[PPG Wave]]s.<br/> -->In the late-1970s, Michael McNabb<ref name="History of Digital Synthesis"/><ref name="Dreamsong: The Composition"/> and [[Wolfgang Palm]]{{sfn|Andresen|1979}} independently developed the multiple wavetable extension on the table-lookup synthesis<ref group=note> "Multiple wavetable synthesis" {{harv|Horner|Beauchamp|Haken|1993}} developed by Michael McNabb and [[Wolfgang Palm]] in the late-1970s, is merely one of the techniques employed to realize dynamically-changing waveforms, by using an array of single-cycle waveforms in table-lookup synthesis. With this synthesis technique, the waveform can be animated in a similar manner as a [[flip book]]. </ref> which was typically used on [[PPG Wave]] and known as ''wavetable sweeping''.<ref name=sosfeb06b> {{harvnb|Cullen|Howell|2006}}, "''However, in the late '70s, Wolfgang Palm used 'wavetable' digital oscillators in his innovative PPG Wave synths. Instead of having just three or four waveforms, a wavetable oscillator can have many more — say, 64 — because they are digitally created and stored in a 'look-up table' ... Now, if the waveforms are sensibly arranged, we can begin to create harmonic movement in the sound. ... you approach something not unlike a traditional filter sweep. ...''" </ref> Later, it was referred as "''multiple wavetable synthesis''" by {{harvnb|Horner|Beauchamp|Haken|1993}}.<ref name=beauchamp1993> {{cite journal | last1 = Horner | first1 = Andrew | last2 = Beauchamp | first2 = James | last3 = Haken | first3 = Lippold | year = 1993 | title = Methods for multiple wavetable synthesis of musical instrument tones | url = http://ems.music.uiuc.edu/beaucham/papers/JAES.05.93.pdf | journal = J. Audio Eng. Soc. | volume = 41 | issue = 5 | publication-date = May 1993 | pages = 336–356 | quote = '''Multiple wavetable synthesis''', the subject of this paper, is based on a '''sum of fixed waveforms or periodic basis functions with time-varying weights'''. }} </ref> ;(4) [[Sample-based synthesis]]:Simultaneously, since the late-1970s, [[sample-based synthesis]] using relatively long samples instead of single-cycle waveforms has become pervasive due to the introduction of the [[Fairlight CMI]] and [[E-mu Systems|E-mu]] [[Emulator]]. ===Background=== On the above four terminologies for the classes of sound synthesis methods — ''i.e.'', (1) ''Wavetable synthesis'', (2) ''Wavetable-modification algorithm'', (3) ''Multiple wavetable synthesis'', and (4) ''Sample-based synthesis'' — if these had been appropriately used to distinguish each other, any confusions could be avoided, but it seems failed historically. In the 1990s at the latest, several influential [[sample-based synthesis]] products were marketed under the [[trade name]]s similar to "wavetable synthesis" (including [[Gravis Ultrasound]] wavetable card<!-- derived from [[Ensoniq ES-5506 OTTO|Ensoniq OTTO]] chip -->, [[Creative Wave Blaster]] wavetable [[daughterboard]]<!-- derived from [[E-mu Systems]] -->, and [[Microsoft GS Wavetable SW Synth]]<!-- derived from [[Roland Sound Canvas]] -->), and these confusions have further affected industry standards (including [[MPEG-4 Structured Audio]] ''algorithmic and wavetable synthesis'',<ref name=scheirerray1998> {{cite journal | last1 = Scheirer | first1 = Eric D. (MIT Media Lab) | last2 = Ray | first2 = Lee (Joint E-Mu/Creative Technology Center) | year = 1998 | title = Algorithmic and Wavetable Synthesis in the MPEG-4 Multimedia Standard | periodical= 105th Audio Engineering Society (AES) Convention (San Francisco, California) | publisher = <!-- Audio Engineering Society (AES) --> | publication-date = <!-- September 1998 --> | quote = 2.2 Wavetable synthesis with SASBF: ''The SASBF '''wavetable-bank format''' had a somewhat complex history of development. The original specification was contributed by E-Mu Systems and was based on their "SoundFont" format [15]. After integration of this component in the MPEG-4 reference software was complete, the MIDI Manufacturers Association (MMA) approached MPEG requesting that MPEG-4 SASBF be compatible with their "Downloaded Sounds" format [13]. E-Mu agreed that this compatibility was desirable, and so a new format was negotiated and designed collaboratively by all parties.'' | citeseerx = 10.1.1.35.2773 }} </ref> and [[AC97]] ''optional hw acceleration wavetable synth''<ref name=ac97r2.3> {{cite book | chapter = 1.4 Integrating AC '97 into the System | title = AC '97 Component Specification Revision 2.3 Rev 1.0 | chapter-url = http://download.intel.com/support/motherboards/desktop/sb/ac97_r23.pdf | date = April 2002 | publisher = Intel Corporation | page = [http://download.intel.com/support/motherboards/desktop/sb/ac97_r23.pdf#page=11 11] | quote = Figure 2. AC '97 System Diagram: ''AC '97 Digital Controller / Optional hw acceleration / SRC*, mix*, 3D positional*, '''wavetable synth'''*'' }} </ref>). In the mid-2000s, confusion in terminology cropped up yet-again. A subclass of generic wavetable synthesis, ''i.e.'' McNabb and Palm's multiple wavetable synthesis, tends to be erroneously referred as if it was a generic class of whole wavetable synthesis family, exclusively.<ref name=sosfeb06c> {{harvnb|Cullen|Howell|2006}}, "''Other synths have employed wavetable synthesis in one guise or another since then, and there are several software synths available today which incorporate wavetable synthesis capabilities.''"<br/> '''Note''': Regarding the previous quotation, a specific wavetable synthesis developed by Wolfgang Palm, known as "multiple wavetable synthesis", is ambiguously referred as "wavetable synthesis". </ref> As a result, the difficulty of maintaining consistency between concepts and terminology during rapid technological development is noteworthy. For this reason the term "Table-lookup synthesis" is explained at length in this article.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)