A couple of new plugins (remaincalm Floaty delay and Paranoia bitcrusher)

Hi there.

I’ve started porting a couple of my Reaper JS plugins to LV2 format.

Floaty is a weird delay based around a “tape loop” but with independent play and record heads. It’s a bit crazy and can get into some mad self-oscillation but also does really subtle chorused washes as well. And it can go backwards. And wobbly.

Paranoia is inspired by the OTO Biscuit resampler/bitcrusher hardware.
Has a bitcrusher, resampler, two saturation stages, a multi-mode filter, and a bitflipper (“thermonuclear war”).
Does insane, terrifying digital distortion. WARNING: can get very loud.

Avocado is a gating glitcher - it splits up input into chunks and plays them back if there is silence, so you get chunky tails of whatever you played last.

Mud is derived from the filter section of Paranoia and does two things - it’s either a fixed bandpass filter, or the filter section can modulate which can do either slow sweeping effects or a vintage-sounding univibe thing.

These have been adapted to minimize knobs for live tweaking - e.g. 3 filter controls are compressed into one combined knob that cycles through cutoff/resonance/mode combinations.

Sound demos, and compiled (tar.gz) LV2 images for test by advanced users here:
https://drive.google.com/open?id=0B81ezorvZhyKQXdqc2F1YkVKMzA

Keen for feedback! Thanks.

10 Likes

Code is up here:


(all of these need the dpf plugin source copied in to work)
2 Likes

Direct links to audio demos:

Floaty:
https://drive.google.com/open?id=0B81ezorvZhyKMUJxNVVLLWQyUzQ

Paranoia:
https://drive.google.com/open?id=0B81ezorvZhyKdkRiVWQzUFp1Qlk

2 Likes

@dan_remaincalm

Great job here!!

Both sound good, specially the tape delay.

1 Like

Thanks!

I’ve been after a pedal platform to port those to for nearly a decade (e.g. http://remaincalm.org/index.php/2008/08 )
Being able to run those as part of a live rig is awesome. So, huge thanks for making this possible.

Floaty can go very pretty with some settings.
Paranoia is really horrible in an extremely deliberate and planned way. At the right level it can really work great in a mix though - e.g. there’s tons of it on this track: https://danielarena.bandcamp.com/track/20110109-2011

I have at least one other plugin I’m going to port to LV2 soon - a glitcher/stutter thing that has a couple of really unique properties.

Are there any resources/docs/templates on getting a UI built?

2 Likes

sure!!!

We have an SDK with which you can get a basic interface using a couple of clicks.

if necessary @falkTX can help you to get it up and running.

If you add KXStudio repos to your linux box you can install it directly via apt-get.

best

Wow, these sound great !:heart_eyes:

so, i’ve been busy - i have two more plugins basically ready to go, and i’m in the final stages of parameter range tuning and optimization. they’re sounding good.

but i am really struggling with the UI side of things - i tried following the UI instructions from the wiki on the docker build image, and i am running into a stack of issues. i also can’t find a good template to build off - is there a bare-bones wireframe i could clone?

i struggled with some of the other environment stuff but i got there with that, the UI is just eluding me at the moment. any guidance would be hugely appreciated. thanks!

So i just tried… I managed to compile it after https://github.com/remaincalm/floaty/pull/1

Next I sym-linked ..../floaty/source/build/floaty.lv2 to ~/.lv2/floaty.lv2 (that is the default writable per-user LV2_PATH).

Double checked with lv2ls | grep float that it’s found and used jalv.gtk http://remaincalm.org/plugins/floaty to test if it runs (not really needed but hey).

I then launched mod-sdk’s development-server (in my case not in docker, but locally, it’s easy to compile, see its README). pointed a web-browser at localhost:9000… selected the plugin from the dropdown and launched the “Wizard”…

After a few clicks (color & knob-style selection) it left me with ~/.lv2/floaty.modgui Those files will have to be copied back to the plugin-source. Eventually they’ll have to end up in ../floaty/source/build/floaty.lv2/

It’s a standard MOD UI template (HTML, CSS, images) that just works and a great starting point for manual html/css/js tweaks.

PS. I can’t seem to attach .zip files here… http://robin.linuxaudio.org/tmp/floaty.modgui.zip is the generated modgui.
If you have any question, don’t hesitate to ask. Would be useful to know where exactly you’re stuck, what’s on top of the “stack of issues” ?

1 Like

awesome, thanks! it’s late here now but i’ll check it out soon.

most recent plugin code is here: https://github.com/remaincalm/dpfports
it’s in desperate need of a refactor - i need to move both the param handling and the processing into their own classes and there’s a ton of math calculated every cycle that doesn’t need it. docs are out of date as well. apologies, most of that code has been smashed out after 10pm.
the code needs the dpf folder copied into the appropriate spots. the two newer plugins are ‘mud’ (LFO bandpass filter) and ‘avocado’ (gated glitcher).

issues i ran into included:

  • general issues getting docker running on my windows box
  • a couple of failed attempts at getting a local dev environment working (was going to try and target both VST and LV2, gave up on the former)
  • docker image i was using didn’t work properly until i re-ran the bootstrap script to get it working.
  • make clean doesn’t actually clean up everything left over from the build script in the docker image. i’ve gotten burnt by old code a few times
  • running make in the source folder builds for x86, not ARM, and everything silently fails after that, this is compounded by me not knowing exactly what needs to be scrubbed to get a clean environment

i just have a bunch of scripts now that pull source in from the local-mod-folder in my windows environment (where i’m editing the files) into the docker image, delete everything that got previously generated, build everything and deploy everything to the device, so i can turn around code pretty fast. but it stumped me for a little while.

oh, and - yeah, has anyone confirmed being able to get the mod-gui development server running under the docker image? i tried following the instructions and there’s a bunch of stuff that doesn’t really work. it’s probably something simple i’m missing.

OK, I use neither the docker image, nor Windows. So I can’t really comment on this. Hopefully someone else can jump in.

[quote]running make in the source folder builds for x86, not ARM[/quote] That is perfectly normal and expected. The default for most (if not all) build environments is to build it for the local machine (you can test run it there). The mod-plugin-builder (which reads the .mk) will set up cross-compile for ARM.

as well as the instructions on the site, also needed (at least) these dependencies added:

sudo apt-get install python3-pip python3-setuptools

got development-server up and running now, thanks!

still some issues - UI wizard works, but screenshot generate chokes from within docker image with:

QXcbConnection: Could not connect to display
PhantomJS has crashed. Please read the bug reporting guide at
http://phantomjs.org/bug-reporting.html and file a bug report.
ERROR:tornado.application:Uncaught exception GET /screenshot?uri=http%3A%2F%2Fremaincalm.org%2Fplugins%2Ffloaty&width=230&height=431 (192.168.99.1)
HTTPServerRequest(protocol=‘http’, host=‘192.168.99.100:9000’, method=‘GET’, uri=’/screenshot?uri=http%3A%2F%2Fremaincalm.org%2Fplugins%2Ffloaty&width=230&height=431’, version=‘HTTP/1.1’, remote_ip=‘192.168.99.1’, headers={‘Accept’: ‘application/json, text/javascript, /; q=0.01’, ‘Connection’: ‘keep-alive’, ‘Host’: ‘192.168.99.100:9000’, ‘Accept-Encoding’: ‘gzip, deflate’, ‘Accept-Language’: ‘en-US,en;q=0.5’, ‘Referer’: ‘http://192.168.99.100:9000/’, ‘X-Requested-With’: ‘XMLHttpRequest’, ‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0’})
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/tornado/web.py”, line 1369, in _stack_context_handle_exception
raise_exc_info((type, value, traceback))
File “”, line 3, in raise_exc_info
File “/usr/lib/python3/dist-packages/tornado/stack_context.py”, line 314, in wrapped
ret = fn(*args, **kwargs)
File “/usr/local/lib/python3.5/dist-packages/modsdk/webserver.py”, line 387, in proc_callback
fh = open(fname, ‘rb’)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/cab837.png’
ERROR:tornado.access:500 GET /screenshot?uri=http%3A%2F%2Fremaincalm.org%2Fplugins%2Ffloaty&width=230&height=431 (192.168.99.1) 35.56ms

i tried chmodding /tmp 777 but didn’t fix it. wondering if i should chase this up in a separate thread?

aaaand

export QT_QPA_PLATFORM=offscreen

before running modsdk resolves that issue

all good now, thanks.

looking forward to these arriving in the MOD! :slight_smile:

more demos:
https://drive.google.com/open?id=0B81ezorvZhyKSVpJSmVjWmw4aHc - avocado - mud
https://drive.google.com/open?id=0B81ezorvZhyKRzBieFpTUmMzUFU - paranoia - mud - floaty

1 Like

.tar.gz of super beta versions here for devs to play with: https://drive.google.com/open?id=0B81ezorvZhyKQkNRSlpYaGNtdDQ

known issues:

  • not optimized fully yet
  • pedal UIs don’t have hints yet (most knobs do a couple of things, often very different behaviors at knob = 12’oclock, left half, right half)
  • floaty sometimes goes weird - warp can send the playback head way over the wrong side of the record head. i think i’ve fixed this but not sure.
  • floaty goes silent on time change (this also recovers the pedal from the previous step) - it should actually update the play speed until it catches up to the right buffer length
  • mud is too grungy
  • filter param values might still change on all pedals
  • avocado controls don’t really do what they’re meant to yet
  • no presets added yet

Kudos for persisting and tracking these issues down. @falkTX – Can those fixes be applied upsteam to the docker image?

you mean setting export QT_QPA_PLATFORM=offscreen ?

what else is needed?