You can get the complete dataset (includes SQLite3, CSV and .onset files, as well as the ground truth data).

The dataset is also provided in three different formats separately:

  1. SQLite3 database
  2. CSV files
  3. Onset files
You can also get the ground truth data (MIDI renditions of the excerpts included in the dataset, in MIDI and .onset formats).

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States License.


The dataset is managed in three tables:

Songs table

This table contains information about the songs used in the data collection. The fields of the table are:
Field nameData TypeDescription
idintUnique ID of the entry
filenamestringName of the audio file (only useful to the data collection system)
song_titlestringName of the song
artiststringName of the performing artist
yearintYear the song was recorded
start_timetimeStart time of the audio excerpt used in the data collection
end_timetimeEnd time of the audio excerpt used in the data collection
song_sectionstringIncluded to help researchers locate the part of the song used in the query. Main Theme (MT) and Chorus (C) distinctions are ambiguous for some songs.

Users table

Contains information about the experiment participants. From the point of view of the data collection process, this table could be named subjects or participants, but from the perspective of a QBT system, they are users.
Field nameData TypeDescription
idintUnique ID of the entry
ageintUser reported age
genderstringUser reported gender
listening_habitsfloat0--5 range
instrument_trainingfloat0--5 range
theory_trainingfloat0--5 range
handednessint-1 (left handed), 0 (ambidextrous) or 1 (right handed)
tone_deafint0 means not tone deaf and 1 means tone deaf
arrhythmicint0 means not arrhythmic and 1 means arrhythmic
native_languagestringUser reported native language
specific_trainingstringList of numbers of years of training for each instrument the user has been trained in.

Tasks table

Each entry in this table corresponds the to data tapped by a user on a single song. There are multiple entries for a single user/song combination, because the collection condition might be different (i.e. tapping from long term memory vs. short term memory).
Field nameData TypeDescription
idintUnique ID of the entry
version_numberstringVersion of the front end software used to capture the data
song_titlestringTitle of the song the user was asked to tap
user_idstringUUID of the user tapping (see Users table)
session_iddatetimeDate and time of the collection
experimenter_idstringIdentifier of the device used to collect the data
task_orderintIncremental integer indicating the order of the songs tapped by a single user in a single tapping session (the same number is repeated for the long and short term memory conditions)
device_typestringDescription of the device used for tapping
song_familiarityfloat0--5 range: indicates the reported song familiarity. This value only makes sense for the long term condition (i.e. when with_music field is 0). If with_music is 1, then this field has a value of 0.
with_musicint0 indicates long term memory tapping and 1 indicates short term memory tapping
audio_helpfulint1--6 range: number reporting if listening to the song helped. This value only makes sense for the short term condition (i.e. when with_music is 1). If with_music is 0, then this field has a value of 0. Values other than 0 correspond to:
  1. Yes - it helped me remember more details of the song
  2. Yes - I thought the lyrics were from a different song, but now I know which song it is
  3. Yes - I had no idea of the song from just the lyrics, but listening made me recognize it
  4. No - I already knew the song really well
  5. No - this song is totally unfamiliar, so hearing it once didn’t help
  6. Yes - I didn’t know the song at all, but I could tap it out after hearing it
tap_datastringComma separated list of tap on times (in seconds)
tap_off_datastringComma separated list of tap off times (in seconds)
tap_x_datastringComma separated list of of the tap on's x (horizontal) coordinate (in pixels)
tap_y_datastringComma separated list of of the tap on's y (vertical) coordinate (in pixels)
tap_off_x_datastringComma separated list of of the tap off's x (horizontal) coordinate (in pixels)
tap_off_y_datastringComma separated list of of the tap off's y (vertical) coordinate (in pixels)