Libgroove Audio Quality

Here is some demo code which plays a file through libgroove (does not perform replaygain like Groove Basin does). It is powered by the libav decoder library, which is also used by VLC. I think it sounds great, and want to see what you all think also. :smiley:

To run this test, first make sure you have libgroove installed, then clone this repo of the test code. After cloning, run ‘npm install’ to install the node-groove package into the node_modules folder. If you have this project in the /root directory like I do, you might need to do ‘sudo npm install’ instead. Finally, run ‘node grooveplay.js [yourfile.flac]’ to play the track. Press Ctrl-C to exit.

[code]var groove = require(‘groove’);

var playlist = groove.createPlaylist();
var player = groove.createPlayer();
var fileTrack;

groove.open(process.argv[2], function (err, file) {
fileTrack = file;
console.log(‘opened’);

playlist.insert(file);
console.log('track inserted into playlist');

player.attach(playlist, function(err) {
    if (err) {
        console.log(err);

    }

});

});

player.on(‘nowplaying’, function() {
var current = player.position();

if (!current.item) {
    return;

}

var artist = current.item.file.getMetadata('artist');
var title = current.item.file.getMetadata('title');
console.log("Now playing:", artist, "-", title);

});
[/code]

After speaking with Andrew Kelly, sounds like Groove Player is currently hardcoded to 16/44.1 playback, but he would be willing to help rework it to support bit perfect playback of higher resolution files.

You can follow the discussion here, and please offer your own feedback as well!