A newer version of the Gradio SDK is available:
5.20.1
SONICS: Synthetic Or Not - Identifying Counterfeit Songs
This repository contains the official source code for our paper SONICS: Synthetic Or Not - Identifying Counterfeit Songs.
System Configuration
- Disk Space: 150GB
- GPU Memory: 48GB
- RAM: 32GB
- Python Version: 3.10
- OS: Ubuntu 20.04
- CUDA Version: 12.4
Installation
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Dataset
[As a part of our submission, we are not providing our dataset. It will be published after the final decision.]
After downloading the dataset, the folder structure should look like following:
parentFolder
│
├──sonics
│
├──dataset
│ ├──real_songs
│ │ └──xxx.mp3
│ ├──fake_songs
│ │ └──yyy.mp3
│ ├──real_songs.csv
│ └──fake_songs.csv
After downloading the dataset, to split it into train, val, and test set, we will need to run the following part from the parent folder
python data_split.py
Note: The
real_songs.csv
andfake_songs.csv
contain the metadata for the songs including filepath, duration, split, etc and config file contains path of the metadata.
Note: Output files including checkpoints, model predictions will be saved in
./output/<experiment_name>/
folder.
Training
Choose any of the config from config
folder and run the following
python train.py --config <path to the config file>
Testing
Choose any of the config from config
folder and run the following
python test.py --config <path to the config file> --ckpt_path <path to the checkpoint file>
Model Profiling
Choose any of the config from config
folder and run the following
python model_profile.py --config <path to the config file> --batch_size 12
Acknowledgement
We have utilized the code and models provided in the following repository: