JuicySFplugin (Soundfont player) built for Elk

The JuicySFplugin is now running on Elk. It is a relatively simple JUCE wrapper against the popular Fluidsynth library for playing Soundfont files.

The Fluidsynth library is included in the Elk images, at the time of writing we used the latest 2.0.7 stable version which has full support for modulators.

You can find a fork of the original repository here, with minimal fixes for Elk. A binary for the Raspberry Pi3 - 64 bit Elk image is included in the Downloads section of the repo.

Since the original plugin relies on the GUI to load a specific soundfont, we added the possibility to pass a path with an environment variable instead.

So for example, in the same shell used for run SUSHI you will first have to type:

$ export JUICY_SOUNDFONT_PATH=/udata/soundfont/FluidR3_GM.sf2

obviously replacing the file with the soundfont that you want to load at startup.

1 Like

Hi Stefano,

Is it possible to describe step by step how to load and play this plugin ?

I tried after reading all that I found on this forum and on GitHub (https://elk-audio.github.io/elk-docs/html/documents/elk_examples_overview.html?highlight=juce), but I didn’t find any solution.

Dans l’attente de vous lire.

Bien à vous

HI @professeur,
can you explain better what is the problem that you are having?

The plugin binaries are available here:

under the Releases section.

So you can just copy the file on the board and reference it in a SUSHI’s JSON configuration file, pretty much like the examples you mentioned.

The only difference in this case, as written in the first post, is that we used an environment variable as a quick workaround to specify the soundfont path given the lack of the plugin’s original GUI.

So you’ll have to do:

$ export JUICY_SOUNDFONT_PATH=/path/to/your/soundfont.sf2
$ sushi -r -c your_sushi_config_file.json

and then probably connect a USB MIDI keyboard with aconnect like explained in the examples, or use any other way of passing note On / Off information to SUSHI (OSC, gRPC, etc.).

The soundfont file needs to be copied on the board’s filesystem for this to work.

Thanks @Stefano for your quick reply,

I have a HifiBerry DAC+ “board”, and don’t how to “reference it in a SUSHI’s JSON configuration file” (?).

My only success was to boot my rpi4, set my HifiBerry DAC+, launch sushi with “sushi -r --multicore-processing=2 -c ~/config_files/mda-vst3-configs/config_mda_synth.json &”, connect my MIDI keyboard (“aconnect X Y”) : I heard sound, but I would like to have another sound (“0 ACOUSTIC GRAND” for example ?).

I would like to play “piano” with my “iPiano”, for me and my children :

Sorry for my poor level…

I will probably be able to help soon once some additional rpi4’s arrive and I can set up my HifiBerry DAC+ boards with them, I will be testing FluidSynth with some custom made SoundFonts.

I think there is a general template for sushi config files that could be used to launch JuicyFS, then it’s just a matter of using the export workaround Stefano mentioned to point to a soundfont of a piano.

Do you have one you prefer already or do you need a piano SoundFont as well?

Hello @kcoul,

Thanks for reply.

Since I posted my message I decided to focus on my global workflow, so I made a minimal setup with my iPad pro with GarageBand iOS and my saloon piano, and moved my Macmini with Logic Pro X in my garage studio (so I can record my ideas on the fly with GarageBand IOS on my piano in the saloon with my kids, and continue them on Logic Pro X in my garage for adding more instruments - vocals, guitar, drums, etc. - and mixing and mastering all).

It’s more simple for me than entering command lines…

Bien à vous