Responsive image

Real time tube guitar amplifier simulation using WebAudio

Michel Buffa, Jérôme Lebrun
This paper presents a tube guitar amplifier simulation made with the WebAudio API, that reproduces the main parts of the Marshall JCM 800 amplifier schematics. Each stage of the real amp has been recreated (preamp, tone stack, reverb, power amp and speaker simulation, and we added an extra multiband EQ). The “classic rock” amp simulation we built has been used in real gigs and can be compared with some native amp simulation both in terms of latency, sound quality, dynamics and comfort of the guitar play. Unfortunately, as of today, low latency can be achieved only with certain configurations, due to audio driver limitations of current browsers on certain operating systems. The paper discusses the latency problems encountered with WebAudio, common traps, current limitations, and proposes some solutions. The final web based simulation has been compared with native recreations of the same amp model (including commercial products such as GuitarRig, the JCM800 amp included in GarageBand or the open source Guitarix amp sim that runs on Linux), and with a real amp: the Yamaha THR10 that comes with a model of a Marshall amp. We conducted both quantitative evaluations (measure of the “guitar-to-speaker” latency, group delay, frequency response analysis) and qualitative evaluations with real guitar players who compared, guitar in hands, the different simulations in terms of sound quality and dynamics, and more generally “how they feel playing guitar with these simulations”. The amp is open source1 and can be tested online2, even without a guitar (it comes with an audio player, dry guitar samples and a wave generator that can be used at input). The Web page contains links to the source code repository, tutorial videos and a complete report of the measures we made, with different configurations (various soundcard, operating system, browsers), that is summarized in this paper. Figure 1 shows the current GUI (with optional frequency analyzers and oscilloscopes we used to probe the signal at different stages of the simulation). Our initial goal was to evaluate the limits of the WebAudio API and see if it was possible to design a web based guitar amp simulator that could compete with native simulations.
            
@inproceedings{2017_26,
  abstract = {This paper presents a tube guitar amplifier simulation made with the WebAudio API, that reproduces the main parts of the Marshall JCM 800 amplifier schematics. Each stage of the real amp has been recreated (preamp, tone stack, reverb, power amp and speaker simulation, and we added an extra multiband EQ). The “classic rock” amp simulation we built has been used in real gigs and can be compared with some native amp simulation both in terms of latency, sound quality, dynamics and comfort of the guitar play. Unfortunately, as of today, low latency can be achieved only with certain configurations, due to audio driver limitations of current browsers on certain operating systems. The paper discusses the latency problems encountered with WebAudio, common traps, current limitations, and proposes some solutions. The final web based simulation has been compared with native recreations of the same amp model (including commercial products such as GuitarRig, the JCM800 amp included in GarageBand or the open source Guitarix amp sim that runs on Linux), and with a real amp: the Yamaha THR10 that comes with a model of a Marshall amp. We conducted both quantitative evaluations (measure of the “guitar-to-speaker” latency, group delay, frequency response analysis) and qualitative evaluations with real guitar players who compared, guitar in hands, the different simulations in terms of sound quality and dynamics, and more generally “how they feel playing guitar with these simulations”. The amp is open source1 and can be tested online2, even without a guitar (it comes with an audio player, dry guitar samples and a wave generator that can be used at input). The Web page contains links to the source code repository, tutorial videos and a complete report of the measures we made, with different configurations (various soundcard, operating system, browsers), that is summarized in this paper. Figure 1 shows the current GUI (with optional frequency analyzers and oscilloscopes we used to probe the signal at different stages of the simulation). Our initial goal was to evaluate the limits of the WebAudio API and see if it was possible to design a web based guitar amp simulator that could compete with native simulations.},
  address = {London},
  author = {Buffa, Michel and Lebrun, Jérôme},
  booktitle = {Proceedings of the International Web Audio Conference},
  editor = {Thalmann, Florian and Ewert, Sebastian},
  month = {August},
  pages = {},
  publisher = {Queen Mary University of London},
  series = {WAC '17},
  title = {Real time tube guitar amplifier simulation using WebAudio},
  year = {2017},
  ISSN = {2663-5844}
}