sonics-fake-song-detection / README copy.md
awsaf49's picture
Initial Commit
3f50570

A newer version of the Gradio SDK is available: 5.20.1

Upgrade

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 and fake_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: