Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Record Sounds from AudioContext (Web Audio API)

Is there a way to record the audio data that's being sent to webkitAudioContext.destination?

The data that the nodes are sending there is being played by the browser, so there should be some way to store that data into a (.wav) file.

like image 228
kennysong Avatar asked Jan 19 '13 20:01

kennysong


2 Answers

Currently, there's not a native way to do that, but as Max said in the comment above, Recorderjs does essentially this (it doesn't chain onto the destination, but is a ScriptProcessorNode you can connect other nodes to, and have its input recorded. I built on Recorderjs to do a simple audio file recorder - https://github.com/cwilso/AudioRecorder.

like image 74
cwilso Avatar answered Jan 02 '23 22:01

cwilso


Sine to opus file: https://developer.mozilla.org/de/docs/Web/API/AudioContext/createMediaStreamDestination

In the following simple example, we create a MediaStreamAudioDestinationNode, an OscillatorNode and a MediaRecorder (the example will therefore only work in Firefox at this time.) The MediaRecorder is set up to record information from the MediaStreamDestinationNode.

Chrome supports it, too: https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder

like image 40
handle Avatar answered Jan 02 '23 23:01

handle