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

    opusscriptpublic

    opusscript

    JS bindings for libopus 1.2.1, ported with emscripten

    var opusscript = require("opusscript");
     
    // 48kHz sampling rate, 20ms frame duration, stereo audio (2 channels)
    var samplingRate = 48000;
    var frameDuration = 20;
    var channels = 2;
     
    // Optimize encoding for audio. Available applications are VOIP, AUDIO, and RESTRICTED_LOWDELAY
    var encoder = new opusscript(samplingRate, channels, opusscript.Application.AUDIO);
     
    var frameSize = samplingRate * frameDuration / 1000;
     
    // Get PCM data from somewhere and encode it into opus
    var pcmData = new Buffer(pcmSource);
    var encodedPacket = encoder.encode(pcmData, frameSize);
     
    // Decode the opus packet back into PCM
    var decodedPacket = encoder.decode(encodedPacket);
     
    // Delete the encoder when finished with it (Emscripten does not automatically call C++ object destructors)
    encoder.delete();

    TypeScript

    Since this module wasn't written for TypeScript, you need to use import = require syntax.

    // Import using:
    import OpusScript = require('opusscript');
     
    // and NOT:
    import OpusScript from 'opusscript';

    install

    npm i opusscript

    Downloadslast 7 days

    1,890

    version

    0.0.6

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar