-
Notifications
You must be signed in to change notification settings - Fork 73
GNU/Linux Support? #22
Comments
i second this, some linux vsts we could use with eg bitwig would be really great |
I've managed to build DDSP-VST on Arch Linux with the following changes. I'm not sure if all of them are really required, though. diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6b24687..385c0d1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,11 +44,16 @@ add_subdirectory(externals/JUCE "${CMAKE_CURRENT_BINARY_DIR}/juce-bin" EXCLUDE_F
add_subdirectory(externals/tensorflow/tensorflow/lite "${CMAKE_CURRENT_BINARY_DIR}/tensorflow-lite-bin" EXCLUDE_FROM_ALL)
# TFLite CXX std needs to be explicitly set to C++20 in Visual Studio.
target_compile_features(tensorflow-lite PUBLIC ${DDSP_CXX_STD})
-target_compile_options(tensorflow-lite PUBLIC -stdlib=libc++)
+if(APPLE)
+ target_compile_options(tensorflow-lite PUBLIC -stdlib=libc++)
+endif()
# ------------------------- DDSP Binary Assets ------------------------ #
juce_add_binary_data(Assets SOURCES ${DDSP_ASSETS})
+if("${CMAKE_SYSTEM}" MATCHES "Linux")
+ set_target_properties(Assets PROPERTIES POSITION_INDEPENDENT_CODE ON)
+endif()
# ---------------------------- DDSP Effect ---------------------------- #
diff --git a/src/audio/tflite/PredictControlsModel.cpp b/src/audio/tflite/PredictControlsModel.cpp
index 4dcf3a5..d3fbd36 100644
--- a/src/audio/tflite/PredictControlsModel.cpp
+++ b/src/audio/tflite/PredictControlsModel.cpp
@@ -14,6 +14,8 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
+#include <cmath>
+
#include "audio/tflite/PredictControlsModel.h"
#include "util/Constants.h"
@@ -96,7 +98,7 @@ void PredictControlsModel::call (const AudioFeatures& input, SynthesisControls&
for (int i = 0; i < kHarmonicsSize; ++i)
{
- if (isnan (output.harmonics[i]))
+ if (std::isnan (output.harmonics[i]))
{
DBG ("is_nan");
output.harmonics[i] = 0.f; If you get |
@PhysSong You should make your changes into a PR, I would be glad to add the documentation part. |
Hmm this is very interesting. I've been trying it out through Yabridge now, and it seems to work not so well. The pitch tracking flips out a lot, and the UI is quite sticky. Also I can't figure out how to load in the models I trained. So in that code red ones are to be removed and green ones added? But I think for me this is too complicated, I don't even know what all the prerequisites for compiling under Linux are... So I root for an official version too :) |
Hi,
So basically for 4.:
|
Ok, I will try that, I also heard just today that someone on the Linux Musicians FB group succesfully compiled this. I will try this out, thanks! |
Hmm there is no Makefile, if I just run Git Clone on the repo, there is only the cmake directory, and running the repo-init script gives also errors. Also, I have no idea about what arguments to pass to cmake.
|
I have successfully compiled this on Debian 11. I followed the instructions and also made a few changes to add JACK support for the standalone. I could create a PR and send it over for review. There were a few steps I needed to follow based on experience that were not in the instructions which I could also add. I had a similar issue with trying to update the submodules where it constantly asked for SSH permissions, eventually they updated, as a failsafe, not sure if it helped or not, for JUCE and Tensorflow I manually cloned them over to the requisite locations. I do have a question, would you mind if I hosted the Linux builds or would you like a copy of the binaries? |
I'm interested in the binaries! :) |
what is your distro? I packaged ddsp for opensuse tw https://build.opensuse.org/package/show/multimedia:proaudio/ddsp |
@Taikakim for Linux Debian 11 available here https://github.com/tank-trax/ddsp-vst/releases also if you'd like me to submit a pull request... I also made changes to .gitmodules to bypass authentication request cheers |
Thanks for those! I've been busy so just now saw this! |
Do you plan to support GNU/Linux like SO?
The text was updated successfully, but these errors were encountered: