Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    portaudiopublic

    portaudio

    Node wrapper around PortAudio

    Note: This module has not been tested on windows. If you would like to submit a pull request that would be great.

    Note: You must install PortAudio libs first.

    Example

    var portAudio = require('portaudio');
     
    // create a sine wave lookup table 
    var sampleRate = 44100;
    var tableSize = 200;
    var buffer = new Buffer(tableSize);
    for (var i = 0; i < tableSize; i++) {
      buffer[i] = (Math.sin((/ tableSize) * 3.1415 * 2.0) * 127) + 127;
    }
     
    portAudio.getDevices(function(err, devices) {
      console.log(devices);
    });
     
    portAudio.open({
      channelCount: 1,
      sampleFormat: portAudio.SampleFormat8Bit,
      sampleRate: sampleRate
    }, function (err, pa) {
      // send samples to be played 
      for (var i = 0; i < 5 * sampleRate / tableSize; i++) {
        pa.write(buffer);
      }
     
      // start playing 
      pa.start();
     
      // stop playing 1 second later 
      setTimeout(function () {
        pa.stop();
      }, 1 * 1000);
    });

    Troubleshooting

    error: 'PaStreamCallbackFlags' has not been declared

    Try installing "libasound-dev" package. See (http://portaudio.com/docs/v19-doxydocs/compile_linux.html). Then try rebuilding.

    If that doesn't fix it try building and installing portaudio from source (http://www.portaudio.com/download.html). I've compiled node-portaudio with pa_stable_v19_20111121.tgz and was successful on Ubunutu.

    No Default Device Found

    Ensure that when you compile portaudio that the configure scripts says "ALSA" yes.

    Keywords

    none

    install

    npm i portaudio

    Downloadsweekly downloads

    4

    version

    0.0.3

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar