gvne / vstSpleeter

A VST interface to Spleeter
64 stars 28 forks source link

Simplified instructions (MacOS) #1

Closed aidv closed 4 years ago

aidv commented 4 years ago

Hi.

I'm trying to build the VST in MacOS Catalina 10.15.3 but with no success.

Could you help me?

Firstly, I clone spleeterpp and follow the instructions, but then I clone vstSpleeter and I get a little confused (due to my lack of C++ experience).

You say in the README the following:

Clone spleeterpp and build the install target in Release mode.

Does that mean that I should run (for spleeterpp) cmake --release . instead of `cmake --build .?

Secondly, in the vstSpleeter README, you say

To generate the solution do:

SPLEETERPP_INSTALL_DIR=... cmake -GXcode -DCMAKE_INSTALL_PREFIX=$SPLEETERPP_INSTALL_DIR -Drtff_use_mkl=ON ..

What is the line SPLEETERPP_INSTALL_DIR=...? Should the three "..." be replaced with a path or something? I'm confused.

And also, from where should I run those commands? Is it from the build root of spleeterpp or from root of vstSpleeter?

Thank you.

gvne commented 4 years ago

Hi @aidv, This plug-in is based on an yet to be released part of spleeterpp. That's the reason why it lacks a lot of documentation. I actually released to give an easy way to download the pre-build.

To detail the build process on OSX:

The only place this was built before is my personal computer. I wouldn't be surprised if you get errors at some point. Let me know how it turns out and I'll get back to you as fast as possible. Hope this helps !

aidv commented 4 years ago

Notes as I'm following these steps on MacOS Catalina 10.15.3 (19D76), please correct me if I did something wrong:

Intel MKL = Intel Math Kernel Library (Update 2020 Update 1) Full Package This downloaded the file m_mkl2020.1.216.dmg with a purple icon.

I selected to install as administrator and accepted terms.

Installation path is opt/intel and size 1.3 GB, and then I pressed Install.

I downloaded JUCE, but it was only a ZIP file? No installation executable.

I ran git clone https://github.com/gvne/spleeterpp.git && cd spleeterpp and git checkout develop and got the output

Branch 'develop' set up to track remote branch 'develop' from 'origin'. Switched to a new branch 'develop'

I ran SPLEETERPP_INSTALL_DIR=$(pwd)/install

I ran mkdir build && cd build && cmake -GXcode -Drtff_use_mkl=ON -DCMAKE_INSTALL_PREFIX=$SPLEETERPP_INSTALL_DIR ..

I got the output

-- The C compiler identification is AppleClang 11.0.3.11030032
-- The CXX compiler identification is AppleClang 11.0.3.11030032
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- using spleeter_input_frame_count 64
-- [download 31% complete]
-- [download 100% complete]
-- [download 0% complete]
-- [download 1% complete]
-- [download 2% complete]
-- [download 3% complete]

...

-- Found PythonInterp: /usr/bin/python (found version "2.7.16") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/username/Desktop/splitter_vst/spleeterpp/build

I then ran git clone https://github.com/gvne/vstSpleeter.git && cd vstSpleeter followed by bash configure.sh $SPLEETERPP_INSTALL_DIR and got the following output:

Cloning into 'external/eigen'...
remote: Enumerating objects: 103968, done.
remote: Total 103968 (delta 0), reused 0 (delta 0), pack-reused 103968
Receiving objects: 100% (103968/103968), 98.96 MiB | 393.00 KiB/s, done.
Resolving deltas: 100% (84399/84399), done.
Note: switching to '3.3.7'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at cf794d3b7 bump to 3.3.7

Followed by running open spleeter-vst.jucer and the rest of your instructions.

With successful build NICE!!!!!

I opened my DAW which is Presonus Studio One 4.6.1.55987 and the VST was available under yourcompany / spleeter-vst and I get latency of around 89 ms.

THANK YOU!!

Just a nother note which is important but probaby fixable:

The output audio is lower when the vst is activated, could probably be compensated by increasing the gain.

Other than that, You’re YOU ARE A GENIUS!!!!!!!

gvne commented 4 years ago

You are very welcome.

I have to admit I wasn't expecting it to work on the first attempt. Thank you for the feedback. I noticed the loss in amplitude as well. I'll investigate this.

Enjoy !

gvne commented 4 years ago

By the way, I think the reason why you get a 89ms latency is actually a bug. Your DAW seem to compensate for latency but I probably didn't configure it properly here

I'll open an issue about this

aidv commented 4 years ago

@gvne A weird artifact about the amplitude;

When I close my DAW and reopen it the amplitude is normal, as expected, as soon as I open the GUI of the VST the amplitude suddenly goes down again.