Skip to content

Files

Latest commit

 

History

History

multiprocessing_plugins

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

DawDreamer - Multiprocessing Plugins

This script demonstrates how to use multiprocessing to efficiently generate one-shots of a synthesizer. The number of workers is by default multiprocessing.cpu_count(). Each worker has a persistent RenderEngine which loads a plugin instrument of our choice. Each worker consumes paths of presets from a multiprocessing Queue. For each preset, the worker renders out audio for a configurable MIDI pitch range. The output audio path includes the pitch and preset name.

Not every plugin is guaranteed to work. Serum has been tested on Windows, and it should work perfectly.

Example usage:

python main.py --plugin "path/to/Serum_x64.dll" --preset-dir "path/to/serum_fxp_files"

To see all available parameters:

python main.py --help

Improvement ideas:

  • The input could be a more nested directory of presets.
  • Alternatively, the items in the input queue could be parameter settings rather than preset paths. A multiprocessing Processor could add random parameters to the input queue.
  • Variations in velocity
  • Variations in note duration