This project contains the Python code for reproducing the results in the paper:
Alessandro Ragano, Carl Timothy Tolentino, Kata Szita, Dan Barry, Davoud Shariat Panah, Niall Murray, and Andrew Hines. 2025. EgoMusic: An Egocentric Augmented Reality Glasses Dataset for Music. In Proceedings of the 33rd ACM International Conference on Multimedia (MM ’25), October 27–31, 2025, Dublin, Ireland. ACM, New York, NY, USA, 8 pages. https://doi.org/10.1145/3746027.3758262
- Install a recent version of ffmpeg.
- Install the required packages by running
pip install -r requirements.txt. - Install VISQOL by following the instructions on its GitHub page.
- Download the EgoMusic data set by running
python -m egomusic.download_egomusic. You need at least 70 GB of disk space. Alternatively, you can download the data set on Zenodo and place the files on./data/EgoMusic/.
- Prepare the audio files for employing VISQOL by running
python -m egomusic.prepare_visqol_files. - Generate the CSV file for batch processing of VISQOL by running
python -m egomusic.csv_for_visqol. The CSV file should be saved in./output/input_audio_files.csv. - Run VISQOL by invoking the following command on the VISQOL root directory:
./bazel-bin/visqol --batch_input_csv "path/to/egomusic/output/input_audio_files.csv" --results_csv "path/to/egomusic/output/results_audio_files.csv". - Obtain the objective test results by running
python -m egomusic.visqol_results.
- Download the MUSDB18-HQ data set here and save it to
./data/musdb18/. We only need the test set (50 songs) so you can delete the train folder if you want. - Prepare the files for separation by running
python -m egomusic.process_musdb_egomusicandpython -m egomusic.separation_files. - Employ music source separation using demucs by uploading the files in your Google Drive and running
./egomusic/source_separation.ipynbon Google Colab. - Download the separated files and place them on
./data/audio_for_separation/. - To evaluate the SDR on MUSDB and EgoMusic, run
python -m egomusic.evaluate_separation. - To run audio quality objective tests on the stems, prepare the audio files for VISQOL analysis by running
python -m egomusic.process_separated_files. - Generate the CSV file for batch processing by running
python -m csv_for_visqol_separated. The CSV file will be saved in./output/input_separated_files.csv. - Run VISQOL by invoking the following command on the VISQOL root directory:
./bazel-bin/visqol --batch_input_csv "path/to/egomusic/output/input_separated_files.csv" --results_csv "path/to/egomusic/output/results_separated_files.csv". - Obtain the objective test results by running
python -m egomusic.visqol_results_separated.