New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

webm-to-wav-converter

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webm-to-wav-converter

JavaScript package to record and convert WAV audio

1.1.0
latest
Source
npm
Version published
Weekly downloads
1.1K
-38.59%
Maintainers
1
Weekly downloads
 
Created
Source

webm-to-wav-converter

Browser's MediaRecorder API generate a audio/webm Blob which is not very useful if you want to do some processing on the audio. This is a simple JavaScript package to convert audio/webm audio recorded in browser into audio/wave format. It doesn't use any Worker to do the conversion.



Use WavRecorder and record, download wav audio with simple methods

Here is a quick Demo



import { WavRecorder } from "webm-to-wav-converter";

// or const { WavRecorder } = require("webm-to-wav-converter");

const wavRecorder = new WavRecorder();

// To start recording
wavRecorder.start();

// To stop recording
wavRecorder.stop();

// To get the wav Blob in 16-bit encoding and defualt sample rate
wavRecorder.getBlob();

// To get the wav Blob in 32-bit encoding
wavRecorder.getBlob(true);

// To get the wav Blob in 32-bit encoding with AudioContext options
wavRecorder.getBlob(true, { sampleRate:  96000 });

// To download the wav file in 32-bit encoding with AudioContext options
wavRecorder.download('myFile.wav',true, { sampleRate:  96000 });



Use your own logic for recording and Get the Audio Blob (audio/wave)



const { getWaveBlob } = require("webm-to-wav-converter");

// or import { getWaveBlob } from "webm-to-wav-converter";


const constraints = { audio: true, video: false };

try {
    const stream = await navigator.mediaDevices.getUserMedia(constraints);

    const mediaRecorder = new MediaRecorder(stream);
    
    const data = [];

    mediaRecorder.ondataavailable = e => e.data.size && data.push(e.data);
    
    mediaRecorder.onstop = () => {
        // For 16-bit audio
        const wavBlob = getWaveBlob(data,false);

        // For 32-bit audio
        const wavBlob = getWaveBlob(data,true);
    };
} catch (err) {
    console.error(err);
};


Use your own logic for recording and Download the Wav File



const { downloadWav } = require("webm-to-wav-converter");

// or import { downloadWav } from "webm-to-wav-converter";

const constraints = { audio: true, video: false };

try {
    const stream = await navigator.mediaDevices.getUserMedia(constraints);

    const mediaRecorder = new MediaRecorder(stream);
    
    const data = [];

    mediaRecorder.ondataavailable = e => e.data.size && data.push(e.data);
    
    mediaRecorder.onstop = () => {
        // For 16-bit audio file
        downloadWav(data,false);

        // For 32-bit audio file
        downloadWav(data,true);
    };
} catch (err) {
    console.error(err);
};

Keywords

wav-converter

FAQs

Package last updated on 11 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts