DBraun / DawDreamer

Digital Audio Workstation with Python; VST instruments/effects, parameter automation, FAUST, JAX, Warp Markers, and JUCE processors
GNU General Public License v3.0
850 stars 67 forks source link

Got all zero WAV file with HALion VST #41

Open startreker-shzy opened 2 years ago

startreker-shzy commented 2 years ago

Hello. I tested the make_plugin_processor with some different plugins. For halion 6, with preset FXP file saved by FLStudio, the results is all zero wav file. I tried different preset settings, It`s output always zero. But for some other plugins , like DSK string / DSK Dynamic Guitars and Mini_DiZi.dll, the result is normal, I got voiced wav file. Have someone ever face this problem? Is these any parameters needed to be setting for halion 6 ? Very thanks!

DBraun commented 2 years ago

Thanks for trying it out. Sounds like you're up to some interesting work with all those plugins 😄 I just pushed an update in which synth.load_preset(filepath) will return True/False depending on whether the FXP loaded correctly. Can you check that it's working: assert(synth.load_preset(filepath))

Use absolute paths too.

Just making sure, is Halion a DLL or .vst3? There are some issues with .vst3 instruments that I haven't gotten around to fixing.

Have you checked whether a parameter needs to be changed among print(synth.get_plugin_parameters_description())?

startreker-shzy commented 2 years ago

Very Thanks for quickly reply!

  1. I will try this update as quickly as possible;
  2. I use absolute path for all plugins;
  3. Halion is a dll;
  4. Halion 6.dll totally has 1473 parameters,I can get the parameters name and settings with VST PRESET GENERATOR. But for preset fxp,the chunk data is used and all parameters is default. I do not know which parameters needs to be changed.
startreker-shzy commented 2 years ago

I tried this update with different plugins. But the result is same as before. For halion6.dll,it output all zero wav file.

DBraun commented 2 years ago

Ok thanks for trying. I'll try to download a trial of Halion sometime and test.

DBraun commented 2 years ago

On Windows, I installed a trial and can hear sound in the standalone Halion exe with a preset called Fretless B15. I'm able to save it as a .vstpreset, but I think that newer versions of Halion don't have a way to save FXP. How do you make your FXP files, or are you using FXP files that should work with Halion because you created them with an earlier version?

assert(synth.load_preset(abspath('path/to/preset.vstpreset'))) isn't working, probably because it's a vstpreset file...

If I don't load a preset and render, I get silent samples.

startreker-shzy commented 2 years ago

https://github.com/teragonaudio/MrsWatson/issues/281 I save fxp file with FLStudio. The fxp file is worked for other plugins. And many Thanks for your work.

DBraun commented 2 years ago

Some progress... C:/Program Files/Common Files/VST3/Steinberg/HALion 6/HALion 6.vst3 can load. You can also modify the code in PluginProcessor.cpp temporarily to load vst3 presets. Just remove the

#if JUCE_PLUGINHOST_VST
        // The VST2 way of loading preset. You need the entire VST2 SDK source, which is not public.
        result = VSTPluginFormat::loadFromFXBFile(myPlugin.get(), mb.getData(), mb.getSize());
#else
...
#endif

but keep

result = setVST3PluginStateDirect(myPlugin.get(), mb); 

It will break loading ordinary FXP files, but it's convenient to explain...

But with those changes I'm still getting silent output after loading .vstpreset files. Also there's no change in print(synth.get_plugin_parameters_description()) before and after loading the vstpreset. That's probably the bigger problem.

DBraun commented 2 years ago

On the main branch, plugin processor now has a load_vst3_preset function for us to try out.

startreker-shzy commented 2 years ago

So far,I have not tried to load vst3preset. I will try it.

DBraun commented 2 years ago

There's an interesting new way to open_editor() See tests/test_plugins.py You might be able to get HALion working.

DBraun commented 2 years ago

@startreker-shzy Can you try the latest?

turian commented 1 year ago

https://github.com/teragonaudio/MrsWatson/issues/281 I save fxp file with FLStudio. The fxp file is worked for other plugins. And many Thanks for your work.

@startreker-shzy how do you export an fxp file?