6

My team has been using the Web Audio API/Getusermedia in a product and we are going really well with our chrome and firefox users. But we still have a large base of users that we would love to reach, but due to technology barriers, we still can't (mostly, those are IE users), as their main browser does not support the technology, and they do not or can not change to a modern browser.

We are planning to get to those users, but we don't want to go to Flash, Flex, Silverlight or anything similar.

So, thinking about solutions, I thought that maybe I could pass by this difficulty if I moved the audio manipulation, from the browser to the server. NodeJS was the first answer when trying to figure out how to do it.

Would it be possible to be done using NodeJS? Are there any libraries available that would help us accomplish this? Are there any other technologies that would allow me to do this?

Thanks anyone that could help.

user3288673
  • 71
  • 1
  • 5
  • 1
    What kind of manipulation? Does it need to be real-time? There are several FFT JavaScript libraries out there, but without knowing more about your particular use case it's impossible to say whether FFT would help. – candu Nov 14 '14 at 23:02
  • 1
    check out https://www.npmjs.org/package/web-audio-api and this near-duplicate question: http://stackoverflow.com/questions/25197708/using-webaudio-api-from-nodejs also think about possibly using phantomjs – markasoftware Nov 16 '14 at 21:40
  • Are you set on using WebAudio? There are other libraries for processing/manipulating audio. What exactly are you trying to accomplish with the audio? Is it streaming audio? Is it an audio file? – tsturzl Nov 18 '14 at 18:16

2 Answers2

3

It could easily be done. Node is simply an IO engine designed for rapid response. If it needs to happen in real time then I imagine latency would be a usability-breaking issue due to networking restraints. If it doesn't, then I think it would be a great solution! :)

Either way here are a couple related resources

https://www.npmjs.org/package/webrtc.io <- latency optimization library intended for work with media streams

http://wac.ircam.fr/ an upcoming conference (Jan 2015) dedicated to the types of problems you are dealing with.

http://www.sitepoint.com/5-libraries-html5-audio-api/ A few web libraries for use with audio. #3 and #4 look like they are related to what you are trying to do

mattLummus
  • 565
  • 4
  • 12
2

You can try using this (is in development):

Node Web Audio API

https://github.com/sebpiq/node-web-audio-api

Installation

npm install web-audio-api

Demo

node test/manual-testing/AudioContext-sound-output.js
Leandro Bardelli
  • 10,561
  • 15
  • 79
  • 116