RaveSyn7

RaveSyn7

Loading...
  • Access
  • License
  • Publication
  • Contact

1. Download the Repository Containing Max/MSP patch

Download the repo here https://github.com/lonce/Syn7_RAVE.

Once downloaded, move the entire folder to your Max X/Packages folder.

2. Download Pre-trained Model

Download the pre-trained model from here.

Move the Syn7_streaming.ts file to the Syn7_RAVE folder you just moved to your Max X/Packages folder.

MIT License

Copyright (c) 2025 Lonce Wyse

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

To cite this work or read more about the dataset, please use the following BibTeX entries:

@inproceedings{wyse2022syntex,
  title={Syntex: parametric audio texture datasets for conditional training of instrumental interfaces.},
  author={Wyse, Lonce and Ravikumar, Prashanth Thattai},
  booktitle={NIME 2022},
  year={2022},
  organization={PubPub}
}

You can contact Lonce Wyse for any questions or suggestions regarding this post.

  • Overview
  • Demo
  • Training

Overview

RaveSyn7 is a pretrained RAVE model and a MaxMSP patch that wraps it for playing in real time. The model was trained on seven classes of “syntex” synthetic audio textures: Peepers, Bees, Wood/metal hits, wind, applause, engine, peepers (a “night chorus” of tree frogs)

This is a max patch that uses a RAVE model trained on 7 audio textures (from https//syntex.sonicthings.org). It uses the IRCAM nn~ object to wrap the model. The model plays sound files (a few from the original dataset are included), in real time while providing access to a means of manipulating the stream of 4 latent vectors produced by the RAVE encoder.

Demos

Here is a video giving a bit of a feel for the sound space of the model and the manipulations you can do.

Do you want to train your own RAVE model with your own data set? Roll up your sleeves:

  • Download and install RAVE. The version I used was installed this way:

    pip install acids-rave
    

which install acids-rave 2.3.1 from pypi.org/project/acids-rave.

You can also visit github-acids-ircam/RAVE to get source, read the README.md, find links to video tutorials, etc.

Settings for Syn7 RAVE model training

For training, here is what worked for me:

  • About 5 hours of audio, files of at least 12 seconds of 44.1kHz single channel

    rave preprocess --input_path /path/to/waves --output_path /path/to/preprocessed --channels 1
        
    rave train --config v2 --name anythingyouwant --db_path /path/to/preprocessed --out_path runs/outputfolder --config noise --config causal --channels 1 --save_every 500000 --max_steps 3000000
        
    rave export --run /path/to/checkpoints/fname.ckpt --name anythingyouwant --output path/to/save/model --streaming True 
    
  • All other parameters were left to defaults.
  • –save_every : saves checkpoints of models.
  • –max_steps : the first 1M steps (by default) train the VAE, then the rest train the decoder with an adverserial loss which dramatically improves the quality of the sound. 3M steps took a bit over 1 day given my dataset and a 5090 nvidia card.
  • Exporting produces a .ts file which you name in the nn~ object of the path to import it in to max or pd.