urinieto / harmonixset

The Harmonix Set: Beats, Downbeats, and Structural Annotations for Pop Music
MIT License
157 stars 24 forks source link

Tips on acquiring the audio data? #1

Closed f90 closed 4 years ago

f90 commented 5 years ago

Hey! First off, great work with this dataset. I just have one issue - actually obtaining the audio data so I can make use of the annotations. Now I understand that you cannot provide the music directly with the dataset, but are there any tips on how the enduser of the dataset can acquire the audio data on their end? For example by stating where you purchased the songs from so one does not have to worry about buying the wrong versions and can use the same distributor, or by providing a list of URIs from streaming services, or similar?

At the moment it seems like a very daunting and time-intensive task to actually get the matching audio and use the dataset. Another way to help with this would be to offer some "matching code" that will read the user's audio file and determine automatically which songs correctly match up with the annotations (e.g. using the librosa onset detector as you mentioned in the paper).

Also does the duration given in the metadata file need to match with the audio? Since e.g. for the first song, "1, 2 Step", I can only find versions with much longer durations than 142 seconds....

urinieto commented 5 years ago

Hey f90, sorry for this long delay. For some reason I missed the github notification of this issue.

The dataset provides onsets for the first 30seconds of our audio files (that we unfortunately can't distribute), such that you should be able to sync your audio files. They're included in the jams files.

Moreover, I'm working on getting all YouTube URLs, so that at least you'll be able to listen to the song in streaming easily.

Will keep you updated!

urinieto commented 4 years ago

Hi there!

Ok, so the new Harmonix Set version (v1.1) is out and it now includes YouTube URLs: https://github.com/urinieto/harmonixset/blob/master/dataset/youtube_urls.csv

Moreover, you have a little script to potentially download the audio (but you shouldn't use it, you should buy the audio): https://github.com/urinieto/harmonixset/blob/master/src/download_youtube_mp3s.py

I ran DTW on the purchased mp3 (linked to the YouTube URL) and the original tracks used for the annotations, and the scores are pretty high: https://github.com/urinieto/harmonixset/blob/master/dataset/youtube_alignment_scores.csv

Let me know if you have any questions as to how to align the purchased audio to the provided onsets. Maybe in the future it'd be nice to include a script for this.

Note that in the CVS of the YouTube URLs you may find some notes as to how to speed up/slow down the YouTube version to fully align with the original one.

Will close this for now, but feel free to open it if you have further questions/comments regarding this topic.