[Guide] Many More Extra MODEP Plugins

Phew! Spent quite a bit of time fiddling with these things but was able to add hundreds of extra plugins to MODEP.
Some of them didn’t work but still ended up with close to 600 “effects” which do work.

Been trying to document as much of the process as possible. Hope it might be useful to others.
Apologies for length (occasionally difficult to shut up an ethnographer like me).

The MPB Process

So, here’s how it went…

Had found MPB. That’s the MOD Plugin Builder, not Música popular brasileira. It holds a large number of folders which contain the stuff to, well, build plugins for use on the MOD Duo.

Given the similarities between the MOD Duo and MODEP, it made me think that it could work on a Raspberry Pi running Raspbian Lite.

Mostly, it does work. Eventually.

In the end, got hundreds of “effects” from these plugins, including two cool loopers (turns out that “SooperLooper” for MOD builds directly and it has a neat GUI). At this point, MODEP is even more useful than it was. Really thankful to Blokas for this!

Building Plugins

Building the MPB toolchain directly on my Pi3’s 16GB SD card didn’t work, as it quickly filled all storage. Thought about using a bigger card, but still investigated other options.

Eventually found MOD’s Docker container. Installed it on my MacBook Pro. First with Kitematic (which has been deprecated), then with the plain Docker app. (As people at my dayjob have been experimenting with Docker, it makes for an interesting connection between my musicking life and my working life).

Used the following command, after creating a local-mod-folder folder in my Mac account’s home directory:
docker run -ti --name mpb1 -p 9000:9000 -v ~/local-mod-folder:/tmp/local-mod-folder moddevices/mod-plugin-builder

(Yes, that local-mod-folder name was just an example from MOD’s instructions. The important thing is that it worked. It’s available in the Docker container as /tmp/local-mod-folder.)

My reason for using mpb1 is that Kitematic was holding on to the mpb container. (Lost a lot of time with Kitematic. Did all sorts of plugin builds but wasn’t able to get access to them afterwards because some buttons and other features have disappeared from that app, including the place to link desktop volumes with the inside of the container.)

Though it sounds like this container uses Ubuntu on amd64 (instead of Raspian on armhf), it did end up working, with a few exceptions.

An important thing to note is that one needs to add the submodules for most things to work. The instructions are actually in the Github repo, not in the Docker-based documentation.

NOTE: If you want to build the provided plugins in this repository you’ll need to enable git submodules, like this:

git submodule init
git submodule update

What this does is add content from another repo maintained by MOD, which then solves many missing files.

Afterwards, building a plugin is as easy as:
./build <plugin_name>
(In some cases, it’s necessary to use sudo.)

In most cases, a plugin will just build without complaining. Very few of the 79 packages failed to build (several of them contain multiple plugins).

There’s surely a better way but my technique was to create a long string of commands to build each plugin.

sudo ./build abgate; \ 
sudo ./build ams-lv2; \ 
sudo ./build amsynth; \ 
sudo ./build artyfx; \ 
sudo ./build blop-lv2; \ 
sudo ./build bolliedelay; \ 
sudo ./build calf; \ 
sudo ./build caps-lv2; \ 
sudo ./build dexed; \ 
sudo ./build distrho-ports; \ 
sudo ./build dpf-plugins; \ 
sudo ./build eg-amp-dpf; \ 
sudo ./build eg-amp-lv2; \ 
sudo ./build eg-synth-dpf; \ 
sudo ./build fabla; \ 
sudo ./build fluidplug; \ 
sudo ./build fomp; \ 
sudo ./build freaked; \ 
sudo ./build guitarix; \ 
sudo ./build gxbottlerocket; \ 
sudo ./build gxguvnor; \ 
sudo ./build gxhotbox; \ 
sudo ./build gxhyperion; \ 
sudo ./build gxosmu; \ 
sudo ./build gxquack; \ 
sudo ./build gxsaturate; \ 
sudo ./build gxsd1; \ 
sudo ./build gxsd2lead; \ 
sudo ./build gxsfp; \ 
sudo ./build gxslowgear; \ 
sudo ./build gxsvt; \ 
sudo ./build gxswitchlesswah; \ 
sudo ./build gxtonemachine; \ 
sudo ./build gxuvox; \ 
sudo ./build gxvbass; \ 
sudo ./build gxvintagefuzzmaster; \ 
sudo ./build gxvmk2d; \ 
sudo ./build gxvoodoo; \ 
sudo ./build gxvoxtb; \ 
sudo ./build gxvstb; \ 
sudo ./build infamous-plugins; \ 
sudo ./build invada-lv2; \ 
sudo ./build loopor; \ 
sudo ./build lv2-examples; \ 
sudo ./build mod-distortion; \ 
sudo ./build mod-mda-lv2; \ 
sudo ./build mod-midi-utilities; \ 
sudo ./build mod-pitchshifter; \ 
sudo ./build mod-utilities; \ 
sudo ./build modmeter; \ 
sudo ./build modspectre; \ 
sudo ./build molot-lite-mono-lv2; \ 
sudo ./build mrfreeze; \ 
sudo ./build pdlv2; \ 
sudo ./build qmidiarp; \ 
sudo ./build remaincalm-plugins; \ 
sudo ./build rkrlv2; \ 
sudo ./build setbfree; \ 
sudo ./build setbfree-mod; \ 
sudo ./build shiro-plugins; \ 
sudo ./build sooperlooper-lv2; \ 
sudo ./build sorcer; \ 
sudo ./build swh-lv2; \ 
sudo ./build synthv1; \ 
sudo ./build tap-lv2; \ 
sudo ./build triceratops; \ 
sudo ./build x42-fat1; \ 
sudo ./build x42-fil4; \ 
sudo ./build x42-mclk; \ 
sudo ./build x42-midifilter; \ 
sudo ./build x42-midigen; \ 
sudo ./build x42-mtc; \ 
sudo ./build x42-plugins; \ 
sudo ./build x42-stepseq; \ 
sudo ./build x42-tinygain; \ 
sudo ./build x42-tuna-lv2; \ 
sudo ./build x42-xfade; \ 
sudo ./build zam-plugins; \ 
sudo ./build zynaddsubfx

Then, these plugins were found the ~/mod-workdir/plugins directory in the Docker container. Here are the content of that folder after running these build commands:

3BandEQ.lv2                     gxtubetremelo.lv2
3BandSplitter.lv2               gxtubevibrato.lv2
AVL_Drumkits_Perc.lv2           gxtuner.lv2
AirFont320.lv2                  gxwah.lv2
AmplitudeImposer.lv2            hard_limiter-swh.lv2
Black_Pearl_4A.lv2              harmonic_gen-swh.lv2
Black_Pearl_4B.lv2              hermes_filter-swh.lv2
Black_Pearl_5.lv2               highpass_iir-swh.lv2
CycleShifter.lv2                hilbert-swh.lv2
DPF-Amp.lv2                     hip2b.lv2
DPF-Synth.lv2                   impulse-swh.lv2
FluidBass.lv2                   inv-swh.lv2
FluidBrass.lv2                  invada.lv2
FluidChromPerc.lv2              karaoke-swh.lv2
FluidDrums.lv2                  latency-swh.lv2
FluidEnsemble.lv2               lcr_delay-swh.lv2
FluidEthnic.lv2                 lookahead_limiter-swh.lv2
FluidGuitars.lv2                lookahead_limiter_const-swh.lv2
FluidOrgans.lv2                 loopor.lv2
FluidPercussion.lv2             lowpass_iir-swh.lv2
FluidPianos.lv2                 ls_filter-swh.lv2
FluidPipes.lv2                  matrix_ms_st-swh.lv2
FluidReeds.lv2                  matrix_spatialiser-swh.lv2
FluidSoundFX.lv2                matrix_st_ms-swh.lv2
FluidStrings.lv2                mbeq-swh.lv2
FluidSynthFX.lv2                mclk.lv2
FluidSynthLeads.lv2             midi-switchbox.lv2
FluidSynthPads.lv2              midifilter.lv2
Freakclip.lv2                   midigen.lv2
Freaktail.lv2                   mindi.lv2
Granulator.lv2                  mod-2voices.lv2
GxSwitchlessWah.lv2             mod-bigmuff.lv2
Harmless.lv2                    mod-bpf.lv2
Kars.lv2                        mod-bypass.lv2
Larynx.lv2                      mod-capo.lv2
MVerb.lv2                       mod-caps-AmpVTS.lv2
MaBitcrush.lv2                  mod-caps-AutoFilter.lv2
MaFreeverb.lv2                  mod-caps-CEO.lv2
MaGigaverb.lv2                  mod-caps-CabinetIII.lv2
MaPitchshift.lv2                mod-caps-CabinetIV.lv2
Modulay.lv2                     mod-caps-ChorusI.lv2
Nekobi.lv2                      mod-caps-Click.lv2
PingPongPan.lv2                 mod-caps-Compress.lv2
Pitchotto.lv2                   mod-caps-CompressX2.lv2
Prefreak.lv2                    mod-caps-Eq10.lv2
Red_Zeppelin_4.lv2              mod-caps-Eq10X2.lv2
Red_Zeppelin_5.lv2              mod-caps-Eq4p.lv2
Shiroverb.lv2                   mod-caps-EqFA4p.lv2
SoulForce.lv2                   mod-caps-Fractal.lv2
a_law-swh.lv2                   mod-caps-Narrower.lv2
alias-swh.lv2                   mod-caps-Noisegate.lv2
allpass-swh.lv2                 mod-caps-PhaserII.lv2
am_pitchshift-swh.lv2           mod-caps-Plate.lv2
amp-swh.lv2                     mod-caps-PlateX2.lv2
ams.lv2                         mod-caps-Saturate.lv2
amsynth.lv2                     mod-caps-Scape.lv2
analogue_osc-swh.lv2            mod-caps-Sin.lv2
artyfx.lv2                      mod-caps-Spice.lv2
avocado.lv2                     mod-caps-SpiceX2.lv2
b_overdrive                     mod-caps-ToneStack.lv2
b_reverb                        mod-caps-White.lv2
b_synth                         mod-caps-Wider.lv2
b_whirl                         mod-crossover2.lv2
b_whirl_mod                     mod-crossover3.lv2
b_whirl_xt                      mod-drop.lv2
balance.lv2                     mod-ds1.lv2
bandpass_a_iir-swh.lv2          mod-gain.lv2
bandpass_iir-swh.lv2            mod-gain2x2.lv2
bentdelay.lv2                   mod-harmonizer.lv2
blop.lv2                        mod-harmonizer2.lv2
bode_shifter-swh.lv2            mod-harmonizercs.lv2
bode_shifter_cv-swh.lv2         mod-hpf.lv2
bolliedelay.lv2                 mod-lpf.lv2
butterworth-swh.lv2             mod-mda-Ambience.lv2
chebstortion-swh.lv2            mod-mda-Bandisto.lv2
comb-swh.lv2                    mod-mda-BeatBox.lv2
comb_splitter-swh.lv2           mod-mda-Combo.lv2
const-swh.lv2                   mod-mda-DX10.lv2
convo.lv2                       mod-mda-DeEss.lv2
crossover_dist-swh.lv2          mod-mda-Degrade.lv2
dc_remove-swh.lv2               mod-mda-Delay.lv2
decay-swh.lv2                   mod-mda-Detune.lv2
decimator-swh.lv2               mod-mda-Dither.lv2
declip-swh.lv2                  mod-mda-DubDelay.lv2
delay-swh.lv2                   mod-mda-Dynamics.lv2
delayorama-swh.lv2              mod-mda-EPiano.lv2
dexed.lv2                       mod-mda-Image.lv2
diode-swh.lv2                   mod-mda-JX10.lv2
divider-swh.lv2                 mod-mda-Leslie.lv2
dj_eq-swh.lv2                   mod-mda-Limiter.lv2
dj_flanger-swh.lv2              mod-mda-Loudness.lv2
dyson_compress-swh.lv2          mod-mda-MultiBand.lv2
eg-amp.lv2                      mod-mda-Overdrive.lv2
eg-fifths.lv2                   mod-mda-Piano.lv2
eg-metro.lv2                    mod-mda-RePsycho.lv2
eg-midigate.lv2                 mod-mda-RezFilter.lv2
eg-sampler.lv2                  mod-mda-RingMod.lv2
ewham.lv2                       mod-mda-RoundPan.lv2
fabla2.lv2                      mod-mda-Shepard.lv2
fad_delay-swh.lv2               mod-mda-Splitter.lv2
fast_lookahead_limiter-swh.lv2  mod-mda-Stereo.lv2
fat1.lv2                        mod-mda-SubSynth.lv2
fil4.lv2                        mod-mda-TalkBox.lv2
flanger-swh.lv2                 mod-mda-TestTone.lv2
floaty.lv2                      mod-mda-ThruZero.lv2
fm_osc-swh.lv2                  mod-mda-Tracker.lv2
foldover-swh.lv2                mod-mda-Transient.lv2
fomp.lv2                        mod-mda-VocInput.lv2
foverdrive-swh.lv2              mod-mda-Vocoder.lv2
freq_tracker-swh.lv2            mod-supercapo.lv2
gate-swh.lv2                    mod-superwhammy.lv2
giant_flange-swh.lv2            mod-switchbox2.lv2
gong-swh.lv2                    mod-switchtrigger4.lv2
gong_beater-swh.lv2             mod-toggleswitch4.lv2
gverb-swh.lv2                   mod_delay-swh.lv2
gx_amp.lv2                      modmeter.lv2
gx_amp_stereo.lv2               modspectre.lv2
gx_ampegsvt.lv2                 molot-lite-mono.lv2
gx_barkgraphiceq.lv2            mrfreeze.lv2
gx_bottlerocket.lv2             mtc.lv2
gx_cabinet.lv2                  mud.lv2
gx_chorus.lv2                   multivoice_chorus-swh.lv2
gx_colwah.lv2                   nodelay.lv2
gx_compressor.lv2               offset-swh.lv2
gx_cstb.lv2                     paranoia.lv2
gx_delay.lv2                    peak-to-cc.lv2
gx_detune.lv2                   phasers-swh.lv2
gx_digital_delay.lv2            pitch_scale-swh.lv2
gx_digital_delay_st.lv2         plate-swh.lv2
gx_duck_delay.lv2               pointer_cast-swh.lv2
gx_duck_delay_st.lv2            powercut.lv2
gx_echo.lv2                     rate_shifter-swh.lv2
gx_expander.lv2                 retro_flange-swh.lv2
gx_flanger.lv2                  revdelay-swh.lv2
gx_fumaster.lv2                 ringmod-swh.lv2
gx_fuzz.lv2                     rkr.lv2
gx_fuzzface.lv2                 satan_maximiser-swh.lv2
gx_fuzzfacefm.lv2               sc1-swh.lv2
gx_gcb_95.lv2                   sc2-swh.lv2
gx_graphiceq.lv2                sc3-swh.lv2
gx_guvnor.lv2                   sc4-swh.lv2
gx_hfb.lv2                      se4-swh.lv2
gx_hogsfoot.lv2                 shaper-swh.lv2
gx_hornet.lv2                   sifter-swh.lv2
gx_hotbox.lv2                   simple_comb-swh.lv2
gx_hyperion.lv2                 sin_cos-swh.lv2
gx_jcm800pre.lv2                single_para-swh.lv2
gx_jcm800pre_st.lv2             sinus_wavewrapper-swh.lv2
gx_livelooper.lv2               smooth_decimate-swh.lv2
gx_mbcompressor.lv2             sooperlooper.lv2
gx_mbdelay.lv2                  split-swh.lv2
gx_mbdistortion.lv2             stepseq_s8n16.lv2
gx_mbecho.lv2                   stepseq_s8n4.lv2
gx_mbreverb.lv2                 stepseq_s8n8.lv2
gx_mole.lv2                     stereoroute.lv2
gx_muff.lv2                     stuck.lv2
gx_oc_2.lv2                     surround_encoder-swh.lv2
gx_osmu.lv2                     svf-swh.lv2
gx_phaser.lv2                   tap-autopan.lv2
gx_quack.lv2                    tap-chorusflanger.lv2
gx_rangem.lv2                   tap-deesser.lv2
gx_redeye.lv2                   tap-doubler.lv2
gx_reverb.lv2                   tap-dynamics-st.lv2
gx_room_simulator.lv2           tap-dynamics.lv2
gx_saturate.lv2                 tap-echo.lv2
gx_scream.lv2                   tap-eq.lv2
gx_sd1sim.lv2                   tap-eqbw.lv2
gx_sd2lead.lv2                  tap-limiter.lv2
gx_sfp.lv2                      tap-pinknoise.lv2
gx_shimmizita.lv2               tap-pitch.lv2
gx_slowgear.lv2                 tap-reflector.lv2
gx_studiopre.lv2                tap-reverb.lv2
gx_studiopre_st.lv2             tap-rotspeak.lv2
gx_susta.lv2                    tap-sigmoid.lv2
gx_switched_tremolo.lv2         tap-tremolo.lv2
gx_tonemachine.lv2              tap-tubewarmth.lv2
gx_tremolo.lv2                  tap-vibrato.lv2
gx_uvox.lv2                     tape_delay-swh.lv2
gx_vfm.lv2                      testsignal.lv2
gx_vmk2d.lv2                    tinygain.lv2
gx_voodoo.lv2                   transient-swh.lv2
gx_voxbass.lv2                  triceratops.lv2
gx_voxtb.lv2                    triple_para-swh.lv2
gx_vstb.lv2                     tuna.lv2
gx_zita_rev1.lv2                u_law-swh.lv2
gxautowah.lv2                   valve-swh.lv2
gxbooster.lv2                   valve_rect-swh.lv2
gxechocat.lv2                   vynil-swh.lv2
gxmetal_amp.lv2                 wave_terrain-swh.lv2
gxmetal_head.lv2                xfade-swh.lv2
gxtilttone.lv2                  xfade.lv2
gxts9.lv2                       zm1-swh.lv2
gxtubedelay.lv2

Failed Builds

So, it mostly worked, with some notable exceptions.

Haven’t investigated much further but it’s quite likely that some plugins are missing required files, for some reason. And there might also be some incompatibilities in other cases. Might need to add something else which is explained in yet another document from MOD. Sounds like pkg-config might be involved in some cases. Again, didn’t investigate further.

The following three are missing something:

  • sorcer
  • qmidiarp
  • distrho-ports

The build script complains that:

Requested package has no bundles

Then, these three are among the ones which failed to build, apparently because of an unsolved dependency:

  • zynaddsubfx
  • zam-plugins
  • pdlv2

Was able to build pdlv2 on my MODEP-running Pi. That one isn’t really a plugin but a method to create LV2 plugins out of Puredata. Pretty excited about this. My first attempt didn’t work, but there’s hope.

Plugging In

Did try adding all of these effects to pedalboards and played a bit with several of them. The large majority of these effects do work but MODEP complains about some of them.

Error adding effect.

Just like @hank experienced, back in August.

Compiled a list of the effects which fail to load on a pedalboard. (May have missed a few, as it’s a tedious process to try them all.)

MOD

Interestingly, those of MOD’s own plugins which aren’t in the MODEP download didn’t work:

  • 2Voices
  • Drop
  • Hardware Bypass
  • Harmonizer*
  • Peak to CC
  • Super Whammy
  • Super Capo
  • Capo

These MODEP plugin already work in MODEP (didn’t replace them):

  • BandPassFilter
  • CrossOver*
  • DS1
  • Gain*
  • LowPassFilter
  • SwitchBox
  • SwitchTrigger4
  • ToggleSwitch

(While MOD is mentioned as the developer of SooperLooper in the plugin itself, it’s a version MOD has ported, forked from the brunogola plugin version, which is itself based on the old Jesse Chappell LADSPA plugin of the standalone SooperLooper by the very same Jesse Chappell, aka Sonosaurus.)

Guitarix

Most Guitarix plugins work without a hitch except for these ones:

  • GxAmplifier ST
  • GxCabinet
  • Gxdetune
  • GxFuzz
  • GxFuzzFaceJH-2
  • GxJCM800pre*
  • Gxlivelooper
  • GxMetalHead
  • GxMultiBandCompressor
  • GxTuner

Sounds like those provide some required files to other plugins since, after deleting them, the following gx plugins stopped working:

  • GxAmplifier
  • GxMetalAmp
  • Redeye Vibro

Interestingly, though GxFuzzFaceJH-2 doesn’t work, GxFuzzzFaceFuller does work (under the name gx_fuzzfacefm.lv2).

Each Guitarix plugin has a GUI except for GxOsMutantes (maybe because of intellectual property?). (These Gx plugins look and sound very much like guitar pedals. Heard negative comments about them from someone working on commercial plugin and using these as an example of the problem with Open Source. To me, many of the other plugins are much more interesting and the ease of using them on a Raspberry Pi makes them much preferable to commercial plugins.)

Plugin Bundles

Many plugins are bundled with many other ones. And it’s not so easy to take them apart. A few plugins in two bundles cause problems. “AMS FFT Vocoder” as part of ams (by Aurélien Leblond) is one of these. Even after deleting the plugin files in the bundle, it appears without a name in the plugin catalogue. Same with two Rakarrack plugins: “Distortion” and “Stompbox:Fuzz”.

Made MODEP freak out by deleting the entries for “Stompbox:Fuzz” and “AMS FFT Vocoder” from their respective manifest.ttl files:

<http://github.com/blablack/ams-lv2/fftvocoder>
	a lv2:Plugin ;
	lv2:binary <fftvocoder.so>  ;
	rdfs:seeAlso <fftvocoder.ttl> .
# # 33 
# <http://rakarrack.sourceforge.net/effects.html#StompBox>
#         a lv2:Plugin, lv2:DistortionPlugin ;
#         lv2:binary <rkrlv2.so> ;
#         rdfs:seeAlso <stomp.ttl> , <modguis.ttl> .

After deleting these two pieces of code and rebooting, MODEP would generate tons of xruns on an empty pedalboard. My guess is that other plugins reference this code, but couldn’t find that. Maybe it’s in one of the .so binary files.

Robin Gareus (x42)

Most x42 plugins (developer Robin Gareus) do work. Here are those which fail to load on a pedalboard:

  • AT1 (aka fat1)
  • SpectrumAnalyzer
  • Tuna Tuner
  • LV2 Convolution*

Steve Harris (swh)

Most swh plugins (developer Steve Harris) do work. Here are those which fail to load on a pedalboard:

  • Higher Quality Pitch Scaler (aka pitch_scale-swh.lv2)
  • Multiband EQ (aka mbeq-swh.lv2)

Others

All of the “infamous” plugins (stuck, mindi, powercut…) work except for “ewham”.

Romain Hennequin’s “Mr. Freeze” fails to load on a pedalboard.

Zynthian Plugins

In another thread, @tomerb told us about the Zynthian Plugins repo. Most of these do work, including the TAL plugins which are part of the DISTRHO Ports repo. There’s a lot of overlap between that repo and the MOD one. (Also, almost all of the plugins found on the MODEP card are also found in either of those repos, with the possible exception of some x42 MIDI utilities which aren’t labeled as MIDI utilities.) But, altogether, it makes for an impressive array of plugins making available a huge number of “effects”.

Working Collection

After all is said and done, ended up with the following collection of plugins which do work on pedalboards.

3BandEQ.lv2			gx_tremolo.lv2
3BandSplitter.lv2		gx_uvox.lv2
AVL_Drumkits_Perc.lv2		gx_vfm.lv2
AirFont320.lv2			gx_vmk2d.lv2
AmplitudeImposer.lv2		gx_voodoo.lv2
Black_Pearl_4A.lv2		gx_voxbass.lv2
Black_Pearl_4B.lv2		gx_voxtb.lv2
Black_Pearl_5.lv2		gx_vstb.lv2
CycleShifter.lv2		gx_zita_rev1.lv2
DPF-Amp.lv2			gxautowah.lv2
DPF-Synth.lv2			gxbooster.lv2
EasySSP.lv2			gxechocat.lv2
FluidBass.lv2			gxtilttone.lv2
FluidBrass.lv2			gxts9.lv2
FluidChromPerc.lv2		gxtubedelay.lv2
FluidDrums.lv2			gxtubetremelo.lv2
FluidEnsemble.lv2		gxtubevibrato.lv2
FluidEthnic.lv2			gxwah.lv2
FluidGM.lv2			hard_limiter-swh.lv2
FluidGuitars.lv2		harmonic_gen-swh.lv2
FluidOrgans.lv2			hermes_filter-swh.lv2
FluidPercussion.lv2		highpass_iir-swh.lv2
FluidPianos.lv2			hilbert-swh.lv2
FluidPipes.lv2			hip2b.lv2
FluidReeds.lv2			impulse-swh.lv2
FluidSoundFX.lv2		inv-swh.lv2
FluidStrings.lv2		invada.lv2
FluidSynthFX.lv2		karaoke-swh.lv2
FluidSynthLeads.lv2		latency-swh.lv2
FluidSynthPads.lv2		lcr_delay-swh.lv2
Freakclip.lv2			lookahead_limiter-swh.lv2
Freaktail.lv2			lookahead_limiter_const-swh.lv2
Granulator.lv2			loopor.lv2
GxSwitchlessWah.lv2		lowpass_iir-swh.lv2
Harmless.lv2			ls_filter-swh.lv2
JuceDemoHost.lv2		matrix_ms_st-swh.lv2
JuceDemoPlugin.lv2		matrix_spatialiser-swh.lv2
Kars.lv2			matrix_st_ms-swh.lv2
KlangFalter.lv2			mclk.lv2
LUFSMeter.lv2			midi-switchbox.lv2
LUFSMeterMulti.lv2		midifilter.lv2
Larynx.lv2			midigen.lv2
Luftikus.lv2			mindi.lv2
MVerb.lv2			mod-bigmuff.lv2
MaBitcrush.lv2			mod-bpf.lv2
MaFreeverb.lv2			mod-caps-AmpVTS.lv2
MaGigaverb.lv2			mod-caps-AutoFilter.lv2
MaPitchshift.lv2		mod-caps-CEO.lv2
Modulay.lv2			mod-caps-CabinetIII.lv2
Nekobi.lv2			mod-caps-CabinetIV.lv2
Obxd.lv2			mod-caps-ChorusI.lv2
PingPongPan.lv2			mod-caps-Click.lv2
Pitchotto.lv2			mod-caps-Compress.lv2
Prefreak.lv2			mod-caps-CompressX2.lv2
Red_Zeppelin_4.lv2		mod-caps-Eq10.lv2
Red_Zeppelin_5.lv2		mod-caps-Eq10X2.lv2
Shiroverb.lv2			mod-caps-Eq4p.lv2
SoulForce.lv2			mod-caps-EqFA4p.lv2
StereoSourceSeparation.lv2	mod-caps-Fractal.lv2
TAL-Dub-3.lv2			mod-caps-Narrower.lv2
TAL-Filter-2.lv2		mod-caps-Noisegate.lv2
TAL-Filter.lv2			mod-caps-PhaserII.lv2
TAL-NoiseMaker.lv2		mod-caps-Plate.lv2
TAL-Reverb-2.lv2		mod-caps-PlateX2.lv2
TAL-Reverb-3.lv2		mod-caps-Saturate.lv2
TAL-Reverb.lv2			mod-caps-Scape.lv2
TAL-Vocoder-2.lv2		mod-caps-Sin.lv2
TheFunction.lv2			mod-caps-Spice.lv2
ThePilgrim.lv2			mod-caps-SpiceX2.lv2
Vex.lv2				mod-caps-ToneStack.lv2
Wolpertinger.lv2		mod-caps-White.lv2
a_law-swh.lv2			mod-caps-Wider.lv2
alias-swh.lv2			mod-crossover2.lv2
allpass-swh.lv2			mod-crossover3.lv2
am_pitchshift-swh.lv2		mod-ds1.lv2
amp-swh.lv2			mod-gain.lv2
ams.lv2				mod-gain2x2.lv2
amsynth.lv2			mod-hpf.lv2
analogue_osc-swh.lv2		mod-lpf.lv2
artyfx.lv2			mod-mda-Ambience.lv2
avocado.lv2			mod-mda-Bandisto.lv2
avw.lv2				mod-mda-BeatBox.lv2
b_overdrive			mod-mda-Combo.lv2
b_reverb			mod-mda-DX10.lv2
b_synth				mod-mda-DeEss.lv2
b_whirl				mod-mda-Degrade.lv2
b_whirl_mod			mod-mda-Delay.lv2
b_whirl_xt			mod-mda-Detune.lv2
balance.lv2			mod-mda-Dither.lv2
bandpass_a_iir-swh.lv2		mod-mda-DubDelay.lv2
bandpass_iir-swh.lv2		mod-mda-Dynamics.lv2
bentdelay.lv2			mod-mda-EPiano.lv2
blop.lv2			mod-mda-Image.lv2
bode_shifter-swh.lv2		mod-mda-JX10.lv2
bode_shifter_cv-swh.lv2		mod-mda-Leslie.lv2
bolliedelay.lv2			mod-mda-Limiter.lv2
butterworth-swh.lv2		mod-mda-Loudness.lv2
chebstortion-swh.lv2		mod-mda-MultiBand.lv2
comb-swh.lv2			mod-mda-Overdrive.lv2
comb_splitter-swh.lv2		mod-mda-Piano.lv2
const-swh.lv2			mod-mda-RePsycho.lv2
crossover_dist-swh.lv2		mod-mda-RezFilter.lv2
dc_remove-swh.lv2		mod-mda-RingMod.lv2
decay-swh.lv2			mod-mda-RoundPan.lv2
decimator-swh.lv2		mod-mda-Shepard.lv2
declip-swh.lv2			mod-mda-Splitter.lv2
delay-swh.lv2			mod-mda-Stereo.lv2
delayorama-swh.lv2		mod-mda-SubSynth.lv2
dexed.lv2			mod-mda-TalkBox.lv2
diode-swh.lv2			mod-mda-TestTone.lv2
divider-swh.lv2			mod-mda-ThruZero.lv2
dj_eq-swh.lv2			mod-mda-Tracker.lv2
dj_flanger-swh.lv2		mod-mda-Transient.lv2
drowaudio-distortion.lv2	mod-mda-VocInput.lv2
drowaudio-distortionshaper.lv2	mod-mda-Vocoder.lv2
drowaudio-flanger.lv2		mod-switchbox2.lv2
drowaudio-reverb.lv2		mod-switchtrigger4.lv2
drowaudio-tremolo.lv2		mod-toggleswitch4.lv2
drumsynth.lv2			mod_delay-swh.lv2
dyson_compress-swh.lv2		modmeter.lv2
eg-amp.lv2			molot-lite-mono.lv2
eg-fifths.lv2			mtc.lv2
eg-metro.lv2			mud.lv2
eg-midigate.lv2			multivoice_chorus-swh.lv2
eg-sampler.lv2			nodelay.lv2
eqinox.lv2			offset-swh.lv2
fabla2.lv2			paranoia.lv2
fad_delay-swh.lv2		phasers-swh.lv2
fast_lookahead_limiter-swh.lv2	plate-swh.lv2
fil4.lv2			pointer_cast-swh.lv2
flanger-swh.lv2			powercut.lv2
floaty.lv2			rate_shifter-swh.lv2
fm_osc-swh.lv2			retro_flange-swh.lv2
foldover-swh.lv2		revdelay-swh.lv2
fomp.lv2			ringmod-swh.lv2
foverdrive-swh.lv2		rkr.lv2
freq_tracker-swh.lv2		samplv1.lv2
gate-swh.lv2			satan_maximiser-swh.lv2
giant_flange-swh.lv2		sc1-swh.lv2
gong-swh.lv2			sc2-swh.lv2
gong_beater-swh.lv2		sc3-swh.lv2
gverb-swh.lv2			sc4-swh.lv2
gx_ampegsvt.lv2			se4-swh.lv2
gx_barkgraphiceq.lv2		shaper-swh.lv2
gx_bottlerocket.lv2		sifter-swh.lv2
gx_chorus.lv2			simple_comb-swh.lv2
gx_colwah.lv2			sin_cos-swh.lv2
gx_compressor.lv2		single_para-swh.lv2
gx_cstb.lv2			sinus_wavewrapper-swh.lv2
gx_delay.lv2			smooth_decimate-swh.lv2
gx_digital_delay.lv2		sooperlooper.lv2
gx_digital_delay_st.lv2		split-swh.lv2
gx_duck_delay.lv2		stepseq_s8n16.lv2
gx_duck_delay_st.lv2		stepseq_s8n4.lv2
gx_echo.lv2			stepseq_s8n8.lv2
gx_expander.lv2			stereoroute.lv2
gx_flanger.lv2			stuck.lv2
gx_fumaster.lv2			surround_encoder-swh.lv2
gx_fuzzfacefm.lv2		svf-swh.lv2
gx_gcb_95.lv2			tap-autopan.lv2
gx_graphiceq.lv2		tap-chorusflanger.lv2
gx_guvnor.lv2			tap-deesser.lv2
gx_hfb.lv2			tap-doubler.lv2
gx_hogsfoot.lv2			tap-dynamics-st.lv2
gx_hornet.lv2			tap-dynamics.lv2
gx_hotbox.lv2			tap-echo.lv2
gx_hyperion.lv2			tap-eq.lv2
gx_mbdelay.lv2			tap-eqbw.lv2
gx_mbdistortion.lv2		tap-limiter.lv2
gx_mbecho.lv2			tap-pinknoise.lv2
gx_mbreverb.lv2			tap-pitch.lv2
gx_mole.lv2			tap-reflector.lv2
gx_muff.lv2			tap-reverb.lv2
gx_oc_2.lv2			tap-rotspeak.lv2
gx_osmu.lv2			tap-sigmoid.lv2
gx_phaser.lv2			tap-tremolo.lv2
gx_quack.lv2			tap-tubewarmth.lv2
gx_rangem.lv2			tap-vibrato.lv2
gx_redeye.lv2			tape_delay-swh.lv2
gx_reverb.lv2			testsignal.lv2
gx_room_simulator.lv2		tinygain.lv2
gx_saturate.lv2			transient-swh.lv2
gx_scream.lv2			triceratops.lv2
gx_sd1sim.lv2			triple_para-swh.lv2
gx_sd2lead.lv2			u_law-swh.lv2
gx_sfp.lv2			valve-swh.lv2
gx_shimmizita.lv2		valve_rect-swh.lv2
gx_slowgear.lv2			vocoder.lv2
gx_studiopre.lv2		vynil-swh.lv2
gx_studiopre_st.lv2		wave_terrain-swh.lv2
gx_susta.lv2			xfade-swh.lv2
gx_switched_tremolo.lv2		xfade.lv2
gx_tonemachine.lv2		zm1-swh.lv2

So, close to 400 plugins, several of which contain multiple “effects”. MODEP shows close to 600 options and only a handful can’t be added to a pedalboard (because they’re bundled with others).

Didn’t try all of them but haven’t found one which simply didn’t work, once added to a pedalboard. A few of them generate some xruns and/or consume more resources than one would expect. Did notice a few problems with loading presets. Most of these don’t have a GUI (the Os Mutantes one from Guitarix was surprising because their other plugins do have a full GUI).
But, overall, there’s musicking potential with each of them.

Since every parameter can respond to MIDI and since it’s not too hard to get MIDI in from custom devices, it’s possible to make some very neat systems for performance including complex pedalboards with ways to toggle individual effects on and off using physical buttons.

Time for Musicking

Phew! Sorry about that! Had to get it off my chest. Hopefully, it’ll be useful to others. Will investigate further and, once the list is stable (and none of the problematic “effects” are in that collection), will probably try to put it on Github… unless somebody more proficient with these things beats me to it, which would be cool.

Might also try to create some of my own simple plugin. The Pd route interests me, after doing some tests in that visual language. It might even be possible to create plugins in Max, which could be very cool indeed. First tried Max three decades ago, when it was only processing MIDI messages. Unlike Pd, it’s commercial. But the academic license is reasonably priced and it does have some advantages.

All of this experience was pretty interesting, to me. Not as much fun as musicking, but helping me develop some other skills.

Again, thanks to Blokas for making such a great platform!

17 Likes

Wow. Well done. Thanks for the working collection list.
I had to add this line to the MOD’s Docker script to get it to build the mod-plugin-builder.

apt-get install locales

1 Like

Oh? Which script is that? Might help me solve some of the problems which occurred in the process.

Something interesting is that there are Debian packages for several plugins to run on Raspbian (especially with the Autostatic package repo). However, tried installing some of these plugins (so-synth, sorcer, foo-yc20…) and they don’t show up in the MODEP catalogue (can’t find their names).

Still, it should mean that they could compile properly on armhf. (Several are already included in the modep.zip card image or in the Zynthian-Plugins repo, but there’s a couple which are difficult to install, including sorcer, which sounds like it could be a neat addition.)

  • abgate
  • avw.lv2
  • calf-plugins
  • drumkv1
  • eq10q
  • fomp
  • foo-yc20
  • invada-studio-plugins-lv2
  • lv2fil
  • mda-lv2
  • samplv1
  • setbfree
  • so-synth-lv2
  • swh-lv2
  • synthv1
  • vocproc
  • x42-plugins
  • zam-plugins
  • zynadd
  • linuxsampler-lv2
  • sorcer

Been building several other plugins using instructions (or, at least, inspiration) from these “recipes”, created by @C0d3man (based on zynthian, but usually adaptable to MODEP).

Was able to make these work:

  • mod-pitchshifter
  • zynaddsubfx
  • helm
  • zam
  • calf
  • qmidiarp
  • fat1
  • tuna
  • modspectre
  • beatslash
  • midimsg
  • deteriorate

Some of them (like “QMidiArp”, “Tuna Tuner”, and “SpectrumAnalyzer”) do have a GUI, but several don’t. That’ll be one of my next concerns, after finishing my tour of LV2 plugins.

Hi @Enkerli awesome stuff!

Say would you mind uploading the compiled lv2 plugins somewhere? I’m trying to avoid installing docker and going too deep into all of these things for now, even though it might be a good idea for the long run… Right now I’m mostly looking for the qmidiarp. Is it working well for you?

Cheers!

The three QMidiArp plugins do work well.

However, they’re among those plugins which require some deeper installation than just adding the qmidiarp_*.lv2 folders in /usr/local/modep/.lv2/. Did that, and they couldn’t be added to a pedalboard. Also did sudo make install from the build folder, same result.

Actually, these don’t come from Docker, but from a Zynthian recipe by @C0d3man.

So, the proper way (or at least the one which worked for me; just tried with a plain vanilla install of MODEP) is to build from Github.

sudo apt-get install -y --no-install-recommends autoconf automake libtool
git clone https://github.com/dcoredump/qmidiarp.git
cd qmidiarp/
git checkout lv2extui
autoreconf -i
./configure --prefix=/usr --exec-prefix=/usr/local/modep/.lv2 --libdir=/usr/local/modep/.lv2 --enable-buildapp=no --enable-lv2pluginuis=no
make
sudo make install
sudo cp -R qmidiarp_arp.lv2/modgui* /usr/local/modep/.lv2/qmidiarp_arp.lv2/
sudo cp -R qmidiarp_lfo.lv2/modgui* /usr/local/modep/.lv2/qmidiarp_lfo.lv2/
sudo cp -R qmidiarp_seq.lv2/modgui* /usr/local/modep/.lv2/qmidiarp_seq.lv2/

Hi @Enkerli Thank you so much for the detailed replay!

It took me quite a while to follow all of these instructions and I’ll add here for other newbies that a key element is to turn off the pisound wifi server by pressing the button for one second, otherwise you can’t use the wifi to connect to other networks. (took me a while to figure out).

So once I got the wifi everything compiled nicely, the only error I got was when I tried copy the folders to the modep .lv2 directory, i had to make the directories in order for it to work (i don’t know if it was obvious so you didn’t mention it or if i’m missing here something more serious…)

In any case now I have the three plugins appear in modep with the gui but when I try to load them to the pedalboard I get “Error adding effect”. Any suggestions?

Cheers!

Ok I managed to install it, from some reason It put the compiled files in /usr/local/modep/.lv2/lv2/… I copied the folders from there to the .lv2 directory and then continued as instructed. Now I have the plugins in modep, they load and at least qmidiarp_seq is working as expected. However qmidiarp_arp is not really working and no matter how I tweak the parameters it seems to make no effect on the incoming notes. (just pass them through)

Sorry about that!
In these situations, been using Ethernet on the Pi (and connect through WiFi as usual).
Guess there was an error in my commands, but can’t tell what it was as it worked fully in my case. The /usr/local/modep/.lv2/ folder did exist before starting. That’s where other plugins are. Didn’t have to create any directory. The QMidiArp_Arp plugin does affect the incoming MIDI, in my case. Tried a couple of presets and they arpeggiated incoming notes.

Will test things more thoroughly on my side. Once everything is robust enough, will try to distribute the results (hoping @Giedrius or @C0d3man can beat me to that).

Again, sorry if my instructions were incomplete or inaccurate. Hopefully, things will get easier.

Hi, I’m progressing towards updating the MODEP image with more plugins, and I gave your instructions a go, they seem to have went as advertised. :slight_smile: However, I don’t think we’ll be able to make use of MOD’s plugin builder for the new MODEP image I’m working on, as the license that applies to it is undefined.

I took a peek at why GxFuzz was not working, here’s the process I went through, hopefully it should be useful in debugging rest of the similar errors:

  • sudo journalctl -f -u mod-host

  • Hold enter to add whitespace, so it’s clear where the relevant log messages we’re about to produce start from.

  • Addded GxFuzz effect, got ‘Error adding effect’ message in Mod UI.

  • Found the following line somewhere in the middle of the output that got produced:

    Dec 14 22:04:26 modep mod-host[1276]: lilv_lib_open(): error: Failed to open library /usr/local/modep/.lv2/gx_fuzz.lv2/gx_fuzz.so (libzita-resampler.so.1: cannot open shared object file: No such file or directory)

  • Aha! So libzita-resampler.so library was missing from the system, next thing to do is to check whether it’s available in apt-get.

  • Typed sudo apt-get install libzita and hit tab tab tab to get the available completions, libzita-resampler1 turned up.

  • Executed sudo apt-get install libzita-resampler1

  • Success! GxFuzz can now be added.

3 Likes

Would be most excellent if you could update MODEP! That image sure adds a whole lot of value to the pisound HAT.

Good point about the MOD license.
And thanks for sharing those troubleshooting steps. Might help us get more plugins to work.

Been searching for other devices to get but the value derived from that one pisound-enabled Pi with MODEP card is enough that my best option might be to get a new one. (And, hopefully, shipping won’t be an issue, this time.)

We have signed a deal with UPS for good shipping rates, so if you pick one of the UPS options, it will go smooth. One recent delivery to Canada took only 2 days. :slight_smile:

1 Like

you may want to clarify with them…
but I think they are backed into using GPL, as they are using GPL2 software (e.g. fftw3) … which is pervasive, as i understand it… this also means you would need to release source under GPL.

but i think in the spirit of open source, Id approach them, and ask them to explicitly put a license on the project, and if necessary state, that there use of GPL projects may (unfortunately) influence that decision.
(they could of course, then choose to remove software that conflicts with the license they wish to use)

one other side, as such I dont think the toolchain (the builder) license is an issue, only the end result i.e. what you release as binaries… so its only the fact that some plugins in builds (the lv2 file) contain GPL code, which means the GPL license is required.
(the licence of the builder only matters if your released it as a binary format, modified or not)

anyway, thats my interpretation… having tripped over GPL on other projects.

Ordered (with a case). The merchant’s exchange rate saved me 8$ over the PayPal rate.

The idea, now, will be to have one pisound-enabled Pi in the case specifically for MODEP and another pisound-HATted Pi for experimentation with other things like Sonic Pi and Pd.
Will bring the encased MODEP to jam sessions and such. Also need an extra power supply, but there’s a local shop for Pi supplies which sells 3A ones. Might even get that tonight.

Once everything is finalized with MODEP, it might be a good idea to sell full kits with Pi3, pisound, SD card, case, cables, etc. Not sure how things work with the Raspberry Pi foundation, but it could make for a very compelling alternative to several other devices.

Thank you for this great tutorial! I finally had time to muddle through and got most of the main ones built, but I’m having trouble with the ones based on the “recipes.”

I tried the qmidiarp example you posted, and it looks like it built alright but I did not see it in the UI. However, I tried to follow the instructions in the mod-pitchshifter and zynaddsubfx recipes and no dice.

Is there any way you could walk me through those?

Thanks again!

Could do but my strategy at this point is to wait for the good folks at @Blokas, including @Giedrius, to come up with a new version of MODEP.

is there a way to install Modep without it taking over your whoel computer?
A link would be helpful if possible

It is possible, but not trivial. It’s best to use a dedicated sdcard for MODEP.

Just a Note, these may not be working as they seem to be missing the modgui.ttl files. I had also complied them but noted that the ttl’s were missing. That’s a no - go. They are also not present in the mod git hub repos so I’m thinking to report it …

Thanks for the notes by the way. I just, sorta did as I was told (the mod devices how to works for us linux guys) … but found it nice to read all your notes :slight_smile:

1 Like

Haven’t touched these in a while but aren’t some plugins working even without the GUI? As in, they have the generic GUI and you can tweak things inside, with knobs for everything??

Sure but they don’t have mod ui components at all. The mod ones which fail have mod gui components but are lacking the declaration of what should be rendered. that’s what’s in the modgui.ttl. Without that, mod gui errors out because it hase been told to expect a gui config. with generic lv2s it only requires the base ttl (alll the port defninitions etc)