- From: Chris Wilson <cwilso@google.com>
- Date: Mon, 21 May 2012 10:40:10 -0700
- To: Marcus Geelnard <mage@opera.com>
- Cc: public-audio@w3.org, Alistair MacDonald <al@signedon.com>
- Message-ID: <CAJK2wqXO9gPp7OEa-G-kv0Tf3-z+-wSfnqvpBjsrHci+bq8QbQ@mail.gmail.com>
On Mon, May 21, 2012 at 4:44 AM, Marcus Geelnard <mage@opera.com> wrote: > However, a large part of the API seems to come into good use mostly for > "Musical Applications". I'm not sure I agree with this. I think you'll find that a lot of environmental effects are easily replicated ("voice on a telephone", etc) are easily done by using filters and convolution. It's certainly true that there are a few areas that this is the case - e.g. Oscillator and DynamicsCompressor - but a lot of the other effects can make immersive sound environments in games a lot easier to create. This leads me to believe that the JavaScript processing node will be very > important (for implementing custom effects and instruments, and possibly > even for creating effect libraries), while some native nodes (such as the > Oscillator, BiquadFilterNode, DynamicsCompressorNode and DelayNode nodes) > will not be used as much. > Actually, I have to disagree there - I think you'll find a TREMENDOUS amount of the processing to create custom processing and effects can be easily built on top of the primitives in the Web Audio proposal today; I think filters, delays and convolution will remove a lot of the needs for JavaScript nodes. As an example - for Google IO, I'm building a demo that does vocoding using the Web Audio API. In order to implement this, I've had to use bandpass filters, lowpass filters, waveshapers, gain nodes in interesting ways, Oscillators (including a WaveTable oscillator, since those work incredibly well as carrier sources for vocoders). I went into the project fairly naively (I own a vocoder rack unit, I understand the basic concept, but I had a lot of learning to do). This has prompted me - and I am NOT an audio engineer, FWIW - to consider a bunch of the cases I find interesting to think through, like AutoTune-like effects and harmonizers, and distortion effects to build guitar amp simulators, etc. - even aside from my original passion, which is software synthesizers. I'm fairly convinced that most of the building blocks are there, and JavaScript nodes will be needed only in a few cases. That doesn't mean that JavaScriptNodes are not definitely a critical case, and should work well - and I think the first time I met Chris in person (we work in different offices) I asked if he would add Worker-based JavaScriptNode support. I really would not expect developers to use it first, though - it's a great tool, but it's not the best tool for the job a lot of the time. -Chris
Received on Monday, 21 May 2012 17:40:55 UTC