Possible to create an AudioBuffer from memory ie an Int8Array
html, html5-audio, javascript, web-audio-api
Solution
It is neither very intuitive, nor explicitly documented in the specs and also not really easy to find on the net:
but, you can simply modify the `Float32Array` which is returned by `getChannelData(<idx of channel>)` on any buffer.
don't forget to scale your samples to the range [-1, 1]
for your example you would scale and copy the values in the intArray to the floatArray obtained by calling:
floatArray = buffer.getChannelData(0)
Problem
Is there a way to add raw data from memory as a sample to the Web Audio Api? I would like to add a Int8Array (or Int16Array) as a buffer, the buffer just have the samples and no format as WAV or MP3. I have tried the audioContext.createBuffer and such without succes. Something like this: ``` var buffer = audioContext.createBuffer(1,8192, 22000); var intArray = new Int8Array(....); // -- fill intarray buffer.buffer = intArray; ... var source = context.createBufferSource(); source.buffer = buffer; source.connect(context.destination); ``` If that is not possible is there a sound format compatible with contetx.decodeAudio() which is easy to "emulate" in memory? Ie just a header or something.