Ribbons Development Blog


This is the space where I will post updates regarding the development of Ribbons. This will include: firmware updates and changes/bug fixes I’m working on.

Only admins (myself) can post on this topic. I will update the post below this one to share what I’m currently working on / what I’m aware of and then add new posts when firmware updates are available.

Future Updates Being Considered

When Ribbons is released, all of its core features will be implemented and it will do exactly what the manual says it will do. That said, I am still working towards a couple of additional features that are not currently implemented. Here is a list:

Potential To-Do’s / Feature Requests Being Considered:

  • Final two touch modes:
    • Sample rate reducer / bit reducer with mu-law companding (a la lo-fi telecom systems, vintage samplers, cassette tape noise reduction systems … )
    • Disintegration loop. Looper with speed, direction, and volume control but it each loop gets run through the tape effects and will slowly disintegrate over time. Thinking that it will allow up to 60 seconds of loop time.
  • Re-write Tape Stop from the ground up to give the user the ability to modify the tape stop effect’s attack and release while the effect is active.
  • Allow filter resonance to be controlled via MIDI CC. This parameter should be stored / recalled using the presets.
  • Track the last used looper page and jump back to it when switching between tape mode and looper mode

Firmware Releases:

Click Here for Older Versions
  • 9/14/2022, v1.0: Production release
  • 10/16/2022, v1.1: Bug fixes, feature requests, relative knob mode, stereo degradation features, more
    • Change list:
      • I finally re-configured the pot controller to modify parameters in a relative way. No more “jumpy” parameters when switching from one page to the next. Only nice smooth adjustments from here on out! This radically improves Ribbons during live performances.
      • Stereo tape effects. There have been some critiques about the tape effects not being nuanced enough across the stereo field. I’ve come up with a pair of great sounding stereo elements for the dropout and crinkle functions. Hope you all approve. If not, let me know. Crinkle is now a much more accurate physical model of real tape crinkle - based on measurements from my Channel Master and Sony TC-440.
      • Variable looper write/record speeds are now possible. The previous implementation captured the speed parameter before writing a loop and then ignored changes while writing to a loop. The new implementation allows you to modulate the speed while writing a loop, which means you can print your own warbles/speed/pitch variations to the loop.
      • If the looper has tracks playing back and you jump out of “looper mode” and into “tape parameter mode”, you can now use the Touch Footswitch as a tape stop effect on the loops.
      • You can now adjust the blend between noise and crackles on the noise knob. I wanted the ability to just have white noise on this track I was working on so I came up with a way to smoothly blend between the white noise and crackles.
      • The last used page is now stored in the preset state. This means Ribbons will boot up to the same page you left off at between power cycles.
      • Bypass settings and stereo mixing settings (the ones you change during bootup) now display your current setting during bootup instead of defaulting to 1. You can use this as a way to confirm your setting if you aren’t sure.
      • RDS flag is now cleared before erasing and writing to FLASH memory. Recommendation from ST (maker of our microcontroller / DSP chip).
    • Download here: Ribbons_v1.1
  • 12/9/2022, v1.2: Feature requests, more accurate tape modeling, MIDI synced looper, bug fixes
    • Change list:
      • More randomized wow and flutter parameters modeled after data collected from numerous functioning and non-functioning tape machines.
      • Presets updated to reflect new tape parameters
      • Added a new factory reset option to restore factory presets and default mixing/bypass options. While in the Preset menu, hold the push button and double tap the Touch footswitch to start the factory reset process. After 5 seconds Ribbons will reboot on its own. Do not power cycle Ribbons during the reset process.
      • To save / overwrite a preset, you now have to tap the Bypass footswitch twice. It sounds like lots of people were accidentally overwriting their presets and were bummed - this should help prevent that.
      • You can now sync Ribbons looper to a MIDI clock. Ribbons will take a jittery MIDI clock and generate a stable internal clock and stay locked with the grid / beat. During recording, Ribbons will also apply micro timing adjustments to prevent loops from drifting out-of-sync with the grid. When a clock is received, the fourth param LED on each of the looper tracks will start blinking to indicate where Ribbons thinks the downbeat is. If this doesn’t match your DAW, drum machine, or synth, you need to send Ribbons a START message to tell it where the downbeat is. Once this is received, Ribbons will be synchronized with your other device(s). To start recording, you must press the Touch footswitch slightly before the start of the beat/pulse where you want your recording to start. You will also need to release the footswitch slightly before the end of the final bar you want to record to. Ribbons will also make sure that the max loop time is some division of the grid so that if you exceed the max loop length your loop stays in the grid. The quantization knob doesn’t do anything when a MIDI clock is supplied. The speed knob defaults to three options: half speed (CCW), normal speed (NOON), and double speed (CW). Direction and speed changes go into effect when the loop wraps around to the start.
      • Made a slight improvement to the Tape Stop function that results in a smoother transition when the “tape” catches up.
      • Fixed subtle issue with Mono In / Mono Out mode where the crinkle parameter was not as intense as it should have been.
      • There was a slight gain mismatch of 1.5-2.5dB between different MIX knob settings and different Input/Output Mixing options. This has been corrected and all settings should match.
      • Re-designed the Resampling Repeater mode to start resampling when transients are detected (as opposed to the previous implementation which resampled when the tempo changed)
      • Replaced the Repeater’s 1/32nd subdivision with a random subdivision option that picks a random subdivision each time the Touch footswitch is pressed in Normal Repeater mode. In Resampling Repeater mode the division of the loop is randomized any time audio is resampled.
      • The Repeater repeats now “lock” to the tap tempo/MIDI clock grid or a subdivision of the tap tempo/MIDI clock. This means your repeats will always be in-time even if you don’t quite play something on the beat.
      • Any touch mode can now be latched by tapping the Bypass footswitch while the Touch footswitch is held down. This is the only way to latch the Repeater touch mode. You can still latch all other touch modes with a momentary press.
      • Repeater Touch Param 2 knob dry/wet mix has been reversed. The current implementation was a little confusing because 100% wet was set at noon. The new implementation has an equal mix of repeater and dry signal at noon and at full clockwise / anti-clockwise you get 100% wet signal.
    • Download here: Ribbons_v1.2
  • 1/9/2023, v1.2.1: Tape Stop Static Noise Fix
    • Change list:
      • Added more resolution to the Tape Stop parameters to get rid of static noise sometimes audible when using the effect with max start/stop times.
      • Changed the response curve of the Tape Stop cross fades from linear to equal power curves to create more natural sounding transitions.
    • Download here: Ribbons_v1.2.1
  • 2/15/2023, v1.2.2: Added ignore MIDI Clock, CC51
    • Change list:
      • Added support for MIDI CC51. Sending Value = 0, MIDI CC51 will tell Ribbons to ignore incoming MIDI clock and start/stop messages. If Value > 0, this will tell Ribbons to listen to MIDI clock. This setting is not persistent and Ribbons will by default listen to MIDI clock after bootup.
      • Made slight improvement to the memory management system, which reduced CPU usage by ~5%
    • Download here: Ribbons_v1.2.2