sonics-fake-song-detection / README copy.md
awsaf49's picture
Initial Commit
3f50570
# 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
```shell
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
```shell
python train.py --config <path to the config file>
```
## Testing
Choose any of the config from `config` folder and run the following
```shell
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
```shell
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:
- [Pytorch Image Models](https://github.com/huggingface/pytorch-image-models)