werman / noise-suppression-for-voice

Noise suppression plugin based on Xiph's RNNoise
GNU General Public License v3.0
4.79k stars 229 forks source link

macOS compilation command searches for aeffect.h, Steinberg's VST SDK linked doesn't include a .h file with that name. #86

Closed fibrealex closed 2 years ago

fibrealex commented 3 years ago

When copying VST SDK files over to src/vst_plugin/vst2.x & src/vst_plugin/plugininterfaces/vst2.x (the filepaths in the documentation seems to have a slightly incorrect filepath), the cmake command that compiles the VST checks for aeffect.h, and spits back the following CMake warning:

CMake Warning at CMakeLists.txt:23 (message): pluginterfaces/vst2.x/aeffect.h does not exist.

Please see vst2.x/FILES.txt and pluginterfaces/vst2.x/FILES.txt

This might be a matter of just updating the CMake txt, given the fact that audioeffect.h exists in the Steinberg pack linked. But I just wanted to mention that the steps for macOS compilation are a bit out of date, most likely. I have also confirmed that I'm copying over the proper VST2_SDK files over to those filepaths mentioned above.

Screen Shot 2021-07-11 at 1 15 23 PM Screen Shot 2021-07-11 at 1 14 58 PM

neotaruntius commented 3 years ago

Hi there, I'm trying to get this to run on my MacBook but really struggling with the instructions. I downloaded VST_SDK but it's not clear what files to copy over and what next steps to run. Is it possible that you'd consider documenting your methodology to get this going.

werman commented 3 years ago

The official website doesn't have VST2 sdk we need. It could be found at https://archive.org/details/VST2SDK - updated the readme.

That's what you should copy from vst sdk:

├── pluginterfaces
│  └── vst2.x
│     ├── aeffect.h              |
│     ├── aeffectx.h             | -> Copy into src/pluginterfaces/vst2.x/
│     └── vstfxstore.h           |
├── public.sdk
│  ├── samples
│  └── source
│     └── vst2.x
│        ├── aeffeditor.h        |
│        ├── audioeffect.cpp     |
│        ├── audioeffect.h       |
│        ├── audioeffectx.cpp    | -> Copy into src/vst2.x/
│        ├── audioeffectx.h      |
│        └── vstplugmain.cpp     |

Then you just need to compile the thing:

cmake -Bbuild-x64 -H. -DCMAKE_BUILD_TYPE=Release
cd build-x64
make 
werman commented 2 years ago

Released v1.01 where I used FST instead of VST2 sdk. FST is open source reverse-engineered vst2 headers.