Skip to content

wwagner4/doctus-webaudio-tryout

Repository files navigation

Experiments with the webaudio api

Trying out the components of the webaudio api and how they work together

click here to see how it works. http://entelijan.net/webaudio/

build and run doctus-webaudio-tryout

Prerequisites
  • Have SBT 0.13.x installed on your computer
  • Clone doctus on your computer and publish it locally on your computer
Build
  • Clone doctus-webaudio-tryout on your computer
  • Run 'sbt' in the base directory of doctus-webaudio-tryout
    • Use the following sbt commands to build a running version of doctus-webaudio-tryout. 'test', 'fastOptJS'.
    • Use the following sbt command to be able to import doctus-webaudio-tryout into eclipse. 'eclipse'
Run
  • When successfully built open doctuswebaudiotryout-scalajs/index.html in chrome.

Ideas

  • Modal Synthesis
  • Digital waveguide synthesis
  • Tryout some modulated delay. Do this differently on the left and right output to widen the sound.
  • Make some waveforms using AudioBuffers. (shall we really implement waveforms)
  • Make the ADSR ramping and decay logarithmic

Implemented Ideas

  • Karplus-Strong-Algorithmus
  • Added some wha wha effect
  • Ring modulation synthesi
  • Make an Oscilator with a square wave. Filter works with square wave
  • FM-Synth
  • Make an example using delay
  • Synchronize a new sequence of of notes with another already plying sequence (melody)
  • Make a panning Example
  • Implement some sound filters where the cutoff frequency is controlled by the pitch, an envelope and/or a modulator
  • Make a metallic sound using inharmonic partials. 'metallic'
  • Design a sound with a reusable ADSR envelope. 'ADSR'
  • Make a reusable noise AudioNode. 'noise'
  • Create some kind of 'Tremolo Controller'. 'noise's

Sound synthesis libraries

TODOs

  • Check why noise has delay on portable devices
  • Fix the 'mouse leave canvas' bug in doctus.

Implemented TODOs

  • Check why ADSR sounds unstable during sustain
  • Check why melody does not work any longer
  • Switch to latest version of scalaJS
  • Fix the 'wrong point when scaled' bug in doctus. On mobile devices if the screen is zoomed in, the points created during point events are not correct. To fix this make an automatic deployment of the doctus showcase.

About

Experiments around webaudio

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published