Skip to content

RiccardoVib/Hybrid-Neural-Audio-Effects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hybrid Neural Audio Effects

This code repository for the article Hybrid Neural Audio Effects, Proceedings of the SMC Conferences. SMC Network, 2024.

This repository contains all the necessary utilities to use our architectures. Find the code located inside the "./Code" folder, and the weights of pre-trained models inside the "./Weights" folder

Visit our companion page with audio examples

Folder Structure

./
├── Code
└── Weights
    ├── EDCL1BPreamp
    ├── EDCL1BTape
    ├── EDCL1BTapePreamp
    └── EDTapePreamp

Contents

  1. Datasets
  2. How to Train and Run Inference
  3. VST Download

Datasets

Datsets are available at the following links:

How To Train and Run Inference

First, install Python dependencies:

cd ./Code
pip install -r requirements.txt

To train models, use the starter.py script. Ensure you have loaded the dataset into the chosen datasets folder

Available options:

  • --model_save_dir - Folder directory in which to store the trained models [str] (default ="./models")
  • --data_dir - Folder directory in which the datasets are stored [str] (default="./datasets")
  • --datasets - The names of the datasets to use. [str] (default=[" "] )
  • --epochs - Number of training epochs. [int] (defaut=60)
  • --batch_size - The size of each batch [int] (default=8 )
  • --units = The hidden layer size (amount of units) of the network. [ [int] ] (default=8)
  • --mini_batch_size - The mini batch size [int] (default=2048)
  • --learning_rate - the initial learning rate [float] (default=3e-4)
  • --only_inference - When True, skips training and runs only inference on the pre-model. When False, runs training and inference on the trained model. [bool] (default=False)

Example training case:

cd ./Code/

python starter.py --datasets TapePreamp --epochs 500 

To only run inference on an existing pre-trained model, use the "only_inference". In this case, ensure you have the existing model and dataset (to use for inference) both in their respective directories with corresponding names.

Example inference case:

cd ./Code/
python starter.py --datasets TapePreamp --only_inference True

The repo include three pre-trained model having only one parameter:

  • TapePreamp: 0 emulate the tape recorder, 1 the pre-amp
  • CL1BTape: 0 emulate the optical compressor, 1 the tape recorder
  • CL1BPreamp: 0 emulate the optical compressor, 1 the pre-amp

and one pre-trained model having 3 parameters:

  • CL1BTapePreamp: each parameter indicate how much of a particular effect is to be added.

Example [1., 0., 0.] only the optical compressor is acting [0., 1., 0.] only the tape recorder is acting [0., 0., 1.] only the pre-amp is acting

VST Download

VST

Bibtex

If you use the code included in this repository or any part of it, please acknowledge its authors by adding a reference to these publications:

@inproceedings{simionato2025modeling,
  title={Hybrid Neural Audio Effects},
  author={Simionato, Riccardo and Fasciani, Stefano},
  booktitle = {Proceedings of the International Conference on Sound and Music Computing (SMC24)},
  year = {2024},
  address = {Porto, Portugal},
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages