fedden / RenderMan

Command line C++ and Python VSTi Host library with MFCC, FFT, RMS and audio extraction and .wav writing.
The Unlicense
360 stars 44 forks source link

Apply a VST effect on a WAV file #11

Open josephernest opened 6 years ago

josephernest commented 6 years ago

Hello, Congrats for this library! How would this be possible in Python:

Is this possible with RenderMan? Do you have an example like:

from scipy.io import wavfile
import renderman as rm
engine = rm.RenderEngine(44100, 512, 512)
engine.loadplugin('myeffect.so')  # or 'myVST.dll' on Windows
sr, x = wavfile.read('test.wav')  # open the input file
y = engine.applyplugin(x)    ### how to do this?
wavfile.write('out.wav', sr, y) # write the output
josephernest commented 6 years ago

Hi @fedden would you have a code example for this?

faroit commented 4 years ago

@josephernest did you find a way to do this?

Maybe also ping @ethman

fedden commented 4 years ago

Hey all, please accept my apologies for the silence on your problems. This is a project that I wrote whilst at university and I now don't have time to support in a professional capacity, but I appreciate it's a tool that is of use to you.

I'm wondering if any of you would like to become collaborators so you can put this repository in a state that works for you?

faroit commented 4 years ago

Thanks for the update. Will have a look this summer.

DBraun commented 4 years ago

@fedden @faroit @ethman @drscotthawley I've been working on a RenderMan reboot with some more features. It works like the directed-acyclic-graphs in https://github.com/magenta/ddsp

Please examine the script here https://gist.github.com/DBraun/1165e9b7538c9b8bd967231f311a902c That code actually works if you replace the paths to real things.

I'm hoping to get one of your feedbacks (most importantly Leon's). I can share the private repo with any of you. With Leon's permission maybe I can release it under a new name, listing him and others in the credits? RenderMan is a conflict with Pixar as others have pointed out.

Cheers and thanks.

ethman commented 4 years ago

Hey @DBraun, this looks really cool! Thanks so much for figuring this out. I'd be interested in testing this out! Let me know how to get access.

Considering the lack of movement on this original project I assume that @fedden is not super interested in exploring it further (but I'd be happy to be wrong about this). That being said, I'd be very much in favor of reviving development of this project, either here or elsewhere. I have a few changes of my own that I haven't incorporated yet, some of which mirror yours so it'd be nice to share work.

DBraun commented 4 years ago

@ethman great! I will share the repo with you Monday. These are some more goals I’ve noted in a todo list:

Features • Move MIDI to each processor rather than globally on the engine • Get a drum track processor. • A sampler processor like Ableton’s Sampler • Have MIDI CC animations to change parameters of synths/FX/processors over time. What buffer size is acceptable for how frequently parameters are updated? • Create Add Processor to add N signals. • Add a dry/wet to most processors • Side chain compression • Gain and panning processor • Chorus processor with JUCE • Reverb processor with JUCE • Delay processor with JUCE • Get basic Wavetable synth programmed with JUCE • Is feedback via sends with delay possible? The graph wouldn’t be acyclic anymore.