Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Call SPEEX Audio Decode/Encode in HTML5 / JavaScript (Without Flash)

I'm working on a project that requires audio data to be streamed via HTTP to/from server.

We need to compress the audio data using SPEEX.

In Flash, we can use Alchemy and LibSpeex, but how can we do it in JavaScript. HTML5 can be used.

Thanks.

Peter

like image 879
Peter Lee Avatar asked Feb 03 '12 20:02

Peter Lee


2 Answers

I recently implemented a successful HTML5/VOIP client using the following JS port of Speex, truly awesome stuff:

https://github.com/jpemartins/speex.js

For now you'll need to either wait for MediaStreamRecorder or jump the gun like I did, and make use of this:

https://github.com/jwagener/recorder.js/

As for how you piece the whole lot together into a slick system, your call :)

Hope i've helped

like image 159
jahilldev Avatar answered Nov 03 '22 02:11

jahilldev


I am working on a project called AudioRecorder that exactly fits your needs. You can find it here. https://github.com/dbieber/audiorecorder.

This builds upon the already mentioned emscripten compiled speex codec: jpemartins/speex.js.

If you already have the audio and just want to encode it, call Codec.encode(samples). You can also use AudioRecorder to record the audio -- there's an example on Github here: http://dbieber.github.io/audiorecorder/examples/recorder.html

The implementation currently assumes 1-channel audio and if you want two channel you can just encode or decode twice.

like image 1
David Avatar answered Nov 03 '22 00:11

David