Skip to content

Instantly share code, notes, and snippets.

@TooTallNate
Created October 24, 2012 17:42
Show Gist options
  • Save TooTallNate/3947591 to your computer and use it in GitHub Desktop.
Save TooTallNate/3947591 to your computer and use it in GitHub Desktop.
node.js command line MP3 player in 9 lines of code!
var fs = require('fs');
var lame = require('lame');
var Speaker = require('speaker');
fs.createReadStream(process.argv[2])
.pipe(new lame.Decoder())
.on('format', function (format) {
this.pipe(new Speaker(format));
});
@notcoffeetable
Copy link

Is there a correct way to stop playing the stream?

@Connor-Knabe
Copy link

I'm wondering this too notcoffeetable ever figure it out?

@nebulou5
Copy link

That's a lame 9 lines of code.

@Ajedi32
Copy link

Ajedi32 commented May 18, 2016

To get this to work I needed to first run:

sudo apt-get install libasound2-dev
npm install --save speaker lame

Just to make that explicit...

@crazyyi
Copy link

crazyyi commented Nov 7, 2016

Thanks I use yarn and don't need to install any other packages other than lame and speaker. Very neat code by the way.

@immartian
Copy link

is there a way to accommodate an URL stream in this snippet?

@sincerefly
Copy link

@eslin You can use https://github.com/jimlawless/cmdmp3 and child_process play short mp3 voice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment