Wondering what’s next for npm?Check out our public roadmap! »

    simple-mp3
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published

    simple-mp3

    npm i simple-mp3

    A simple helper to encode audio file to mp3, hide all the complicated detail of calling lamejs.

    type and parameters

    simpleMp3(param: {
        channelData: Float32Array[];
        sampleRate: number;
        bytePerSample?: number;
        quality?: number;
    }, onProgress?: (val: number) => any): ArrayBuffer[];

    channelData

    an array that contain the channel data, you can get channel data from audioBuffer by calling getChannelData.

    sampleRate

    the sample rate of the original audio, if you make this value different from the sampleRate of the original audio, then the output you get will turn out to has a different duration and the pitch of the sound will also be changed.

    bytePerSample

    how many byte for each sample you want in the mp3 file. It can only be 1, 2, or 4. Default value is 2.

    quality

    the Bit-Rate of the mp3 file. default value is 192.

    usage

    const { simpleMp3 } = require('simple-mp3');
     
    ...
    ...
     
    const numberOfChannels = audioBuffer.numberOfChannels;
    const channelData = [];
    for (let i = 0; i < numberOfChannels; ++i) {
        channelData.push(audioBuffer.getChannelData(i));
    }
    const mp3Data = simpleMp3({
        channelData,
        sampleRate: audioBuffer.sampleRate,
    }, (progress) => {
        console.log('encode progress:', progress);
    });
     
    // now download the mp3 file
    const anchor = document.createElement('a');
    document.body.appendChild(anchor);
    anchor.style.display = 'none';
    const blob = new window.Blob(data, { type: 'audio/mpeg' });
    const url = URL.createObjectURL(blob);
    anchor.href = url;
    anchor.download = 'audio.mp3';
    anchor.click();
    URL_API.revokeObjectURL(url);

    Keywords

    Install

    npm i simple-mp3

    DownloadsWeekly Downloads

    3

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    768 kB

    Total Files

    12

    Last publish

    Collaborators

    • avatar