You like your songs organised, and when listening to sets, you want to just look at foobar2000 (you don't use anything else, be honest ;) and know, what song is playing. For that, there is certain type of file called cuesheet. This file contains info about track artist, title and its timestamp in the mix. I love these files, it's really convinient on PC and mobile. But manually creating these files, or using some online generators is major pain in the butt. And since you already have (presumably) tracklist with timestamps, why not create a tool that generates this file for you?
If you don't want to mess around with installing python and cloning this repo, you can just download binary (exe) file from here.
Otherwise, you need only python installed. It should work with python2 and python3 (py3 is recommended tho). You don't need any special packages. Only two imports that I use are os package for manipulating with files, and my custom cue file generator. So just clone the repo:
git clone https://github.com/ApplePie420/CueSheetGenerator.git
and then run
python generator.py
and just follow instructions.
First of all, insert name of performer, i.e. the person that mixed the set.
Then, it'll ask you for path where your audio file and tracklist.txt is. Enter full path, for example
D:\music\sets\myFavouriteProducer\myFavouriteMix\
or on linux
/home/yourName/music/myFavouriteProducer/myFavouriteMix/
You do not need to insert the path between quotation marks, even if it contains spaces. It works somehow. If it doesn't, then try it with them :D
Script automatically looks for audio files with these extensions:
- mp3
- m4a
- ogg/opus
- aac
- flac
- wav
- wma
- alac
Next, you need to specify your tracklist file. By default, it will look for file named tracklist.txt
. If your tracklist is named differently, for example list.txt
, type that in. !Be sure that tracklist is formatted as needed (example below)!.
And if everything went well, a .cue file should append in your directory.
Obviously, this script is not magical and it cannot read your tracklist properly unless it is formatted properly. So your tracklist should look like this:
00:00:00 Artist - Title
00:05:30 Artist - Title
00:12:58 Artist - Title
...
01:03:34 Artist - Title
You HAVE to have a space between timestamp and song name, and a -
(aka space dash space) between artist and title.
Time is formatted in HH:MM:SS, where HH is hours, MM are minutes and SS seconds. Script automatically transforms hours into minutes, and adds CD frame (defaults to 00). And yes, there HAS to be leading zeroes. 1. It makes it look pretty and 2. I've hardcoded timestamp length.. :D (I will change it later)
I may add different tracklist formats support later, but honestly why. This is very readable, compact and have all necessary information. And YES, you can have [label]
at the end. If you have problem with this tracklist format, either get used to it, fork this script and modify it, or create other script to convert your format to mine.
-
Automatically detect codec for cueFILE
parameter - Ignore missing leading zeroes
- Add
REM GENRE
andDATE
If you have Issues, you know where to post them. Please, feel free to fork, upgrade and request merge. I made this in under an hour so it won't be perfect.