Node music converter is a HTML 5 based music player designed for huge music collections that converts music collection to a web playable format on song basis. It uses Audacious playlist format for the playlist and ffmpeg for conversion and supports any format that ffmpeg can convert.
The design goals of this program are following:
- A HTML 5 music player (no Flash for music playback).
- Survive large (around 100k songs) playlists without hiccups.
- Provide immediate client side searches (no endurable delay) for the playlist data.
- Support highly varied music formats with broken metadata information. Also support metadata for different writing systems that are possibly encoded with different character sets.
- Support my style of music playback patterns.
To achieve these it uses following techniques:
- Fully client side playlist operations to keep searches independent of the network delay. Fast dumb searches on normalized strings.
- Unicode normalization for search index and pattern creation in addition to other normalizations.
- DataTables for data display.
- Web workers for search.
- Audacious for playlist data creation.
- FFmpeg and XMP with Node.js to convert existing music on fly to something that the browser supports.
Go to Node music converter directory and type following command:
You need to have either a file list that includes one file name per line or file list that Audacious 3.3 creates. You can create the most simple playlist by:
find /music/directory -type f > /playlist-file.txt
This is fast but does not include any artist/title/album information. More thorough and time taking method for playlist creation is to use Audacious. Open Audacious and add the desired files on to your playlist. Then you will have the playlist at files like:
Now that you have created the playlists, you can go to Node music converter directory and type following command:
node_modules/.bin/coffee app.coffee ~/.config/audacious/playlists/*.audpl