Author Topic: HTML 5 - JS DSP  (Read 4171 times)

rotylee

HTML 5 - JS DSP
« on: June 11, 2015, 02:48:02 PM »
continued research into cheap and easy DSP approach 
has lead me to the new
WEB AUDIO API, Web MIDI API and WebRTC
and the idea that an entire show can be done with people connected little devices with touch screens  doesnt have to be i-Crack any phone tablet pc or mac raspberry pie like devices, set top boxes with all the be processing done in html5, Java Script and some libraries.
need to figure out the best low price platform with high quality audio

https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
http://webaudiodemos.appspot.com/

http://webaudio.github.io/web-midi-api/
WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high quality, RTC applications to be developed  for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
http://www.webrtc.org/
http://www.html5rocks.com/en/tutorials/webrtc/basics/
Pedalboard.js
http://dashersw.github.io/pedalboard.js/
Open-source JavaScript framework for developing audio effects with Web Audio API
Pedalboard.js is a ground-breaking, first of its kind, novel open-source JavaScript framework for developing audio effects and applying them to sound sources–and it's particularly good at guitar effects.
The API and all the abstraction is built around the concept of guitar effects — pedals and stomp boxes, pots and switches.
You design your pedal with the powerful Web Audio API, attach pots and switches to it, style it via CSS3 and voila.
Bring multiple pedals together to create a pedal board, easily adjust their settings and routing. Prepare as many pedal boards as you'd like, e.g. for your favorite styles. Easily switch pedal boards for a completely different sound.
Finally, a complete guitar effects stack, completely customizable, in your hands.
SoundTouch Audio Processing Library
SoundTouch is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or audio files. The library additionally supports estimating stable beats-per-minute rates for audio tracks.
Tempo (time stretch): Changes the sound to play at faster or slower tempo than originally without affecting the sound pitch.
Pitch (key) : Changes the sound pitch or key while keeping the original tempo (speed).
Playback Rate : Changes both tempo and pitch together as if a vinyl disc was played at different RPM rate.
http://www.surina.net/soundtouch/
http://www.surina.net/soundtouch/soundstretch.html
Gibberish
Gibberish - HTML5 Audio
charlieroberts/Gibberish - Fast, JavaScript DSP library that creates JIT optimized audio callbacks using code generation techniques
https://github.com/charlieroberts/Gibberish
https://github.com/charlieroberts/Gibber
Gibberish Tests
charlieroberts/Gibber - An audiovisual live coding environment for the browser by Mr. Charlie Roberts
Gibber Demo - The Web Browser As Synthesizer And Interface (pdf)
Sound processing / Web audio API
General
Web audio API libraries
 WAAX, Web Audio API eXtension,
 https://github.com/hoch/waax
 Gibberish, a fast audio API for browser based audio content (JIT), https://github.com/charlieroberts/Gibberish
 Flocking, SuperCollider-like declarative synthesis toolkit, https://github.com/colinbdclark/flocking
 SubCollider, SuperCollider-like functional synthesis toolkit, http://mohayonao.github.io/subcollider.js
 Timbre, JS library for Sound Programming (SubCollider.js underneath), http://mohayonao.github.io/timbre.js
 Audiolib, audio tools library,
https://github.com/jussi-kalliokoski/audiolib.js
 Audiolet, JS library for real-time audio synthesis and composition, https://github.com/oampo/Audiolet
 Audiolet2, clarifications on current implementation regarding WA use https://github.com/oampo/Audiolet/wiki/Audiolet-2
 KievII, GUI and audio/DSP JS library for web and mobile applications,
http://kievii.net
 http://buzz.jaysalvat.com/documentation/buzz/
 https://github.com/JensNockert/fft.js
Web audio API utilities
WAAClock.js, A comprehensive event scheduling tool for Web Audio API, https://github.com/sebpiq/WAAClock
 WebAudioX, Web audio API helpers (start point code?), https://github.com/jeromeetienne/webaudiox
 Allen, Utilities for the Web Audio API (js methods),
https://npmjs.org/package/allen
AudioContext-MonkeyPatch, polyfill for web audio API, https://github.com/cwilso/AudioContext-MonkeyPatch/blob/master/AudioContextMonkeyPatch.js
Web audio API Server Side
 A server side implementation on web audio api with node.js,
https://github.com/sebpiq/node-web-audio-api
Non Web Audio API libraries
DSP.js, a (old Mozilla) comprehensive DSP library for javascript, https://github.com/corbanbrook/dsp.js
Hyacinth, interface specification for plugins,
http://hya.io/hyacinth.html
Faust to Web Audio API JS
 https://ccrma.stanford.edu/\~mborins/420b
https://github.com/TheAlphaNerd/faust2webaudio-paper
https://github.com/TheAlphaNerd/faust2webaudio
Video JS
http://www.videojs.com/
SooperLooper
http://www.essej.net/sooperlooper/
SooperLooper is a live looping sampler capable of immediate loop recording, overdubbing, multiplying, reversing and more. It allows for multiple simultaneous multi-channel loops limited only by your computer's available memory.
« Last Edit: June 12, 2015, 09:13:44 AM by rotylee »

potul

Re: HTML 5 - JS DSP
« Reply #1 on: September 04, 2015, 10:47:00 AM »
Wow,

lots of things to read.

I love the concept of Pedalboard.js, .... do you think it would run on a Raspberry pi?



uer

Re: HTML 5 - JS DSP
« Reply #3 on: April 22, 2016, 02:08:17 AM »
any updates on this
continued research into cheap and easy DSP approach 
has lead me to the new
WEB AUDIO API, Web MIDI API and WebRTC
and the idea that an entire show can be done with people connected little devices with touch screens  doesnt have to be i-Crack any phone tablet pc or mac raspberry pie like devices, set top boxes with all the be processing done in html5, Java Script and some libraries.
need to figure out the best low price platform with high quality audio

https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
http://webaudiodemos.appspot.com/

http://webaudio.github.io/web-midi-api/
WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high quality, RTC applications to be developed  for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
http://www.webrtc.org/
http://www.html5rocks.com/en/tutorials/webrtc/basics/
Pedalboard.js
http://dashersw.github.io/pedalboard.js/
Open-source JavaScript framework for developing audio effects with Web Audio API
Pedalboard.js is a ground-breaking, first of its kind, novel open-source JavaScript framework for developing audio effects and applying them to sound sources–and it's particularly good at guitar effects.
The API and all the abstraction is built around the concept of guitar effects — pedals and stomp boxes, pots and switches.
You design your pedal with the powerful Web Audio API, attach pots and switches to it, style it via CSS3 and voila.
Bring multiple pedals together to create a pedal board, easily adjust their settings and routing. Prepare as many pedal boards as you'd like, e.g. for your favorite styles. Easily switch pedal boards for a completely different sound.
Finally, a complete guitar effects stack, completely customizable, in your hands.
SoundTouch Audio Processing Library
SoundTouch is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or audio files. The library additionally supports estimating stable beats-per-minute rates for audio tracks.
Tempo (time stretch): Changes the sound to play at faster or slower tempo than originally without affecting the sound pitch.
Pitch (key) : Changes the sound pitch or key while keeping the original tempo (speed).
Playback Rate : Changes both tempo and pitch together as if a vinyl disc was played at different RPM rate.
http://www.surina.net/soundtouch/
http://www.surina.net/soundtouch/soundstretch.html
Gibberish
Gibberish - HTML5 Audio
charlieroberts/Gibberish - Fast, JavaScript DSP library that creates JIT optimized audio callbacks using code generation techniques
https://github.com/charlieroberts/Gibberish
https://github.com/charlieroberts/Gibber
Gibberish Tests
charlieroberts/Gibber - An audiovisual live coding environment for the browser by Mr. Charlie Roberts
Gibber Demo - The Web Browser As Synthesizer And Interface (pdf)
Sound processing / Web audio API
General
Web audio API libraries
 WAAX, Web Audio API eXtension,
 https://github.com/hoch/waax
 Gibberish, a fast audio API for browser based audio content (JIT), https://github.com/charlieroberts/Gibberish
 Flocking, SuperCollider-like declarative synthesis toolkit, https://github.com/colinbdclark/flocking
 SubCollider, SuperCollider-like functional synthesis toolkit, http://mohayonao.github.io/subcollider.js
 Timbre, JS library for Sound Programming (SubCollider.js underneath), http://mohayonao.github.io/timbre.js
 Audiolib, audio tools library,
https://github.com/jussi-kalliokoski/audiolib.js
 Audiolet, JS library for real-time audio synthesis and composition, https://github.com/oampo/Audiolet
 Audiolet2, clarifications on current implementation regarding WA use https://github.com/oampo/Audiolet/wiki/Audiolet-2
 KievII, GUI and audio/DSP JS library for web and mobile applications,
http://kievii.net
 http://buzz.jaysalvat.com/documentation/buzz/
 https://github.com/JensNockert/fft.js
Web audio API utilities
WAAClock.js, A comprehensive event scheduling tool for Web Audio API, https://github.com/sebpiq/WAAClock
 WebAudioX, Web audio API helpers (start point code?), https://github.com/jeromeetienne/webaudiox
 Allen, Utilities for the Web Audio API (js methods),
https://npmjs.org/package/allen
AudioContext-MonkeyPatch, polyfill for web audio API, https://github.com/cwilso/AudioContext-MonkeyPatch/blob/master/AudioContextMonkeyPatch.js
Web audio API Server Side
 A server side implementation on web audio api with node.js,
https://github.com/sebpiq/node-web-audio-api
Non Web Audio API libraries
DSP.js, a (old Mozilla) comprehensive DSP library for javascript, https://github.com/corbanbrook/dsp.js
Hyacinth, interface specification for plugins,
http://hya.io/hyacinth.html
Faust to Web Audio API JS
 https://ccrma.stanford.edu/\~mborins/420b
https://github.com/TheAlphaNerd/faust2webaudio-paper
https://github.com/TheAlphaNerd/faust2webaudio
Video JS
http://www.videojs.com/
SooperLooper
http://www.essej.net/sooperlooper/
SooperLooper is a live looping sampler capable of immediate loop recording, overdubbing, multiplying, reversing and more. It allows for multiple simultaneous multi-channel loops limited only by your computer's available memory.


any updates on this? I'm also looking for a DSP library for a web app/android app