Multi_FX Example no audio on Raspbian Distro

TLDR: No audio coming out of SUSHI application when running Multi_FX example.

Hello! So I have this project idea and Sushi seems like the perfect solution to implement it, however I am running into an issue with the Multi_FX example. I am wanting to run sushi on a normal Raspbian distro because I want to use a generic USB guitar interface as the audio in/out, so ELK-OS doesn’t seem to fit my current use case.

I installed GCC-10.2 on my raspberry pi using this link (gcc 10+? - Raspberry Pi Forums ) . And was able to build sushi using this command: ./generate --cmake-args=“-DCMAKE_CXX_FLAGS=-latomic -DWITH_XENOMAI=off -DWITH_LV2=off -DWITH_LV2_MDA_TESTS=off -DWITH_RPC_INTERFACE=off -DWITH_UNIT_TESTS=off -DVST2_SDK_PATH=/home/pi/Downloads/vstsdk369_01_03_2018_build_132/VST_SDK/vstsdk2.4 -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++” -b . I also built the MDA-VST2 plugins (GitHub - elk-audio/mda-vst2: MDA plugins in VST 2.4 format, adapted to use CMake and targeted at Linux systems).

I am able to successfully start sushi and tell it to look at the correct .json config file, however I don’t hear any audio coming out of the sushi application. I have ‘verified’ that jack works by connecting my mic directly to my speaker via qjackctl and was able to hear myself successfully.

Note:
1.) I was able to get the Multi_FX example successfully working on my x86 virtualbox already, so I think I know how it’s supposed to be used, (from my experience I just needed to run sushi with the config file and was able to hear the effects being processed on my mic audio, I was also able to use the OSC gui to change effect parameters).
2.) The sushi tutorial mentions that the MDA JX10 VST2 plugin doesnt work for the raspberry pi(Examples Overview — Elk DevKit documentation) . I don’t think multi_fx uses the JX10 specific plugin, but wasn’t sure if this was an important piece of information.

I’ll attach a screenshot of my setup. I’m not sure if this is a build issue (I actually ran into a segmentation fault on sushi when I build the MDA-Plugins with my old GCC-8.2 compiler, but was fixed when I forced it to compile with GCC-10.2), or a setup issue or something else. I apologize if I am not providing enough information, if you need any more info, then please let me know. Thank you for your time! :slight_smile:

Hi mras. This is not a setup we have tried internally but I’ll try to give you a few tips on how to trouble shoot in general.

The first thing I would try is to run sushi with an empty config. There should be one located in the misc folder in the sushi repository. Running with this should just pass any input straight to the output so you can do the same type of test you already did using qjackctl. If you have audio loopback working fine I would try running again with the multi_fx configuration. While running you could then try to bypass some of the plugins and see if that makes a difference. oscsend localhost 24024 /bypass/name_of_the_processor_to_bypass i 1. The name of the processor can be found by either looking in /tmp/sushi.log or by looking at the configuration file. It’s quite possible that one of the mda-vst plugins are not working properly when running on raspbian.

Hope this helps :slight_smile:
Ruben

Hi Ruben! Sorry for the late response :frowning: . Thank you so much for the troubleshooting advice! I tested out the empty config for sushi and was able to successfully hear my mic pass through, so it seems that sushi itself works.

I then tried disabling each of the effects, when I disabled all of them I was able to hear my microphone just like in the empty config. I then enabled one processor at a time and got these results:
Processes that worked:
Flanger
Processes that didn’t change the sound but still allowed for audio pass through:
Drive
Processes that resulted in no sound when enabled:
Delay
Filter
Main

So it seems that the three effects: Delay Filter and Main are broken(atleast on Raspbian) since they result in no audio output. Drive somewhat works in that it still allows for audio to pass through but it doesn’t apply any extra effects onto the audio, and Flanger works as expected.

I think this means that the MDA VST2 plugin doesn’t work on Raspbian for whatever reason. I am going to try to run a VST3 or LV2 plugin and see if that works. Are there any recommended VST3/LV2 plugins and config files to test audio effects? Since from what I’m seeing, the LV2 and VST3 examples in the elk-examples repo are for interfacing with a midi device.

Thanks!

Hi @mras,
MDA plugins have known to have some floating point issues that can cause NaN in some compiler / architecture settings, that’s probably what’s happening in your case.

Unfortunately we’re not supporting SUSHI running on Raspbian, if you want to check more plugin you can look at our community repository:

But you’ll have to build them yourself for Raspbian in most cases.

Ok that makes sense. Thanks for the repo! I’ll take a look at these and try them out.

1 Like

I seem to recall that some type of shorting plug is required to use the external audio input. Let me look around here. See:

https://forum2.elk.audio/t/cant-seem-to-get-audio-input-going-with-fx-demo/553