An Evaluation of the Web Audio API

An Evaluation of the Web Audio API

Bachelor Thesis in Computer Science Implementing virtual analog synthesizers with the Web Audio API An evaluation of the Web Audio API Författare: Oskar Eriksson Handledare: Jesper Andersson Termin: VT13 Kurskod: 2DV00E Abstract This thesis in computer science aimed to evaluate the suitability of the Web Audio API to implement virtual analog synthesizers. In order to do so a method for producing a reference architecture for analog synthesizers and a categorization and point system for the evaluation were developed. A reference architecture were made and then implemented with the API and the evaluation were then made based on that implementation. The API were found to cover a lot of the necessary areas, but lacking in a few key components; a noise generator, a native way to automate custom numeric properties and the implementation of the oscillator were deemed too closed to support all use cases. Table of Contents 1. Introduction..................................................................................................................................1 1.1 The Web Audio API and Audio Synthesis.............................................................................1 1.2 Problem formulation............................................................................................................. 1 1.3 Purpose, goal and target reader............................................................................................. 1 1.4 Limitations............................................................................................................................ 2 2 Method.......................................................................................................................................... 3 2.1 Defining a reference architecture.......................................................................................... 3 2.1.1 Level one - Top level.....................................................................................................3 2.1.2 Level two - Section level...............................................................................................3 2.1.3 Level three - Element level............................................................................................3 2.2 Evaluating the Web Audio API............................................................................................. 4 2.3 Reliability..............................................................................................................................4 2.4 Implementation order constraints..........................................................................................4 3 Theory........................................................................................................................................... 5 3.1 Analog synth architecture......................................................................................................5 3.1.1 The Oscillator................................................................................................................ 5 3.1.2 The Filter....................................................................................................................... 6 3.1.2.1 Filter slopes............................................................................................................7 3.1.2.2 Filter resonance......................................................................................................8 3.1.3 The Amplifier................................................................................................................ 8 3.1.4 Modulation.................................................................................................................... 8 3.1.4.1 Envelopes...............................................................................................................9 3.1.4.2 LFO........................................................................................................................9 3.2 Web Audio API architecture................................................................................................10 3.3 Reference Architectures...................................................................................................... 10 4 Results and Analysis................................................................................................................... 11 4.1 A reference architecture for virtual analog synthesizers.....................................................11 4.1.1 Top Level..................................................................................................................... 11 4.1.2 Section Level............................................................................................................... 11 4.1.3 Element Level..............................................................................................................14 4.2 API evaluation results......................................................................................................... 17 4.2.1 Top Level.....................................................................................................................17 4.2.2 Section Level...............................................................................................................17 4.2.3 Element Level..............................................................................................................18 4.3 Miscellaneous findings........................................................................................................21 5 Discussion...................................................................................................................................22 5.1 Implementation................................................................................................................... 22 5.2 Results................................................................................................................................. 23 5.3 Method................................................................................................................................ 23 6 Conclusion.................................................................................................................................. 24 6.1 Summary............................................................................................................................. 24 6.2 Further studies.....................................................................................................................24 7. References...................................................................................................................................... 7.1 Online references.................................................................................................................... 7.2. Published references............................................................................................................... 7.3 Image references and sources.................................................................................................. Appendix............................................................................................................................................ 1. Synthesizer block diagrams........................................................................................................... 1.1 Mini Moog.............................................................................................................................. 1.2 MiniBrute................................................................................................................................ 1.3 Mopho Keyboard.................................................................................................................... 1.4 MicroKORG XL..................................................................................................................... 1.5 Magellan.................................................................................................................................. 1.6 Ableton Analog........................................................................................................................ 1.7 MicroKORG XL filter section routings.................................................................................. 1.8 Magellan filter section routings.............................................................................................. 2. Feature matrix................................................................................................................................ 3. Categorization and point matrix..................................................................................................... Abbreviations and terminology used ADSR - attack, decay, sustain and release Analog Synthesizer - a physical synthesizer made with electronic circuits API – application programming interface Automatization - see ‘tweening’ Formant filter - a filter that gives the signal a human vocal quality LFO - low frequency oscillator, used to generate continuous modulation signals Modulation/control signal - a signal that controls a parameter of a module Native (browser) - something built into the browser by default Native (API) - something provided by the API in the API’s most basic form Octave - a relation between two pitches where one is double or half the frequency of the other, or do to do using the French solfège system Oscillator - an unit, digital or analog, that generates a cyclic audio signal

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    46 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us