split-audio-silence

1.1.0 • Public • Published

split audio silence

split audio silence takes an mp3 stream and is separates the audio buffer into multiple audio buffers and manifest to be able to stitch those files back together with the silence.

usage

import splitAudio from 'split-audio-silence';
import fs from 'fs';
 
const segments = await splitAudio(fs.createReadStream('./file.mp3'));
console.log(segments);
 
/* something like
[
  { buffer: <Buffer> },
  { pause: 4 },
  { buffer: <Buffer> }
]
*/
 

Buffers are at this time PCM data so if you would like to write them back into mp3 there is a method on the segments, toMP3Stream, that return a passthrough stream you can pipe from.

import lame from 'lame'
import splitAudio from 'split-audio-silence'
import fs from 'fs'
 
const segments = await splitAudio(fs.createReadStream('./file.mp3'))
 
segments.forEach(segment => {
  if (!segment.isSilence) {
    const bufferStream = segment.toMP3Stream()
        .pipe(fs.createWriteStream(`./${segements.id}.mp3}`))
  }
})
 

Readme

Keywords

none

Package Sidebar

Install

npm i split-audio-silence

Weekly Downloads

4

Version

1.1.0

License

MIT

Last publish

Collaborators

  • ~jcblw