Skip to content

UltimateJupiter/Auto-Synth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DX-7 Auto Generating

Updated for final release


This is a project aiming on giving an approximate estimation of the synthesizer parameters of mdaDX10.vst to mimic a recorded sound timbre.

A Simple Guide

This project mainly consists of two parts

  1. Dataset Generating in folder Dataset_generate

Adjust the configuration in Config.py

run the generate function in dataset_gen.py

  1. Network training and testing in folder Regression

Adjust the configuration in sub-folder Configs/

Run the training code (e.g. DX10_Training_random_1k.py)


To Teammates

@jeffery @lucas please fork this repo and change the generator written in dataset_gen.py

def param_gen(length, param_num):

    # TODO: make a better version

    # A simple random version
    rand_array = np.random.rand(length, param_num)
    rand_array = rand_array * 100

    # make integer
    rand_array.astype(np.uint8)

    return rand_array

Environments

This project is based on Python 3.6

Please install the following packages under pip3

Package Needed Usage
pickle data encoding
scipy scientific computing
numpy scientific computing
multiprocessing multi thread computing
tqdm visualization
tensorflow machine learning core
keras machine learning embedding
IPython debugging

Notes

The code for dataset generating part is completed, network is under construction.

The current version encode the dataset into pure binary code (e.g. Datasets/RandomTest/RandomTest-params.pkl)

Two files exists in the dataset folder:

NAME-params.pkl (TRAINING_SET_SIZE * PARAM_NUMBER)

NAME-wavs.pkl (TRAINING_SET_SIZE * FRAMES_PER_FILE)

These can be decoded by pickle


Training Data Generating

  1. Change the function param_gen in dataset_gen.py

  2. Modify Config.py to change the parameters including parameter number, thread number, and training set size

  3. Import dataset_gen to any code or in IPython, and call dataset_gen.generate(NAME). A folder called NAME will appear in the Datasets Folder.

About

Auto synthesizer parameter regression - for DUKE PHYS136

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages