"Mini-Elements" alt firmware for Rings

Hi again everyone! I have something special to share with you today. I’m releasing a new alt firmware for Rings that brings the best of my old alt firmware for Rings (frequency locking + octave switching) and adds much more. Taking inspiration from my alt firmware for Plaits, it now includes a menu system for turning on and off any combination of the various alt functionalities.

The highlight, in my opinion, of this new firmware is the addition of two all-new “Mini-Elements” modes, which directly borrow a great deal of functionality from Elements to give Rings a powerful set of capabilities for internal excitation. There are also several new chord tables, and some other exciting new features. Rather than try to describe it all here, please check out the README for much more detail!

Big thanks to @bloc, @jeaux, and my man John for helping beta test this firmware, for all your ideas and invaluable feedback. And thanks again to @jeaux for contributing several amazing new chord tables.

As always I’ve done my best to test this out but please let me know if you run into any issues, thanks!

34 Likes

This looks great!

6 Likes

this makes my Dual Rings Oscillator config even more complexx.

that Readme is Inspiring :rocket:

1 Like

Great work @lylem ! I was very glad to be a part of this, and if anyone wants more info on my chord tables or wants to take a deep dive into esoteric music theories feel free to reach out :grinning:

3 Likes

that’s a really great addition and implementation of a menu structure. it’s really good :slight_smile:

1 Like

Thank you!! Can’t wait to give it a try. This community is so great.

1 Like

Here’s some details about my chord tables for anyone interested.

Quantized Strings

Monophonic

This mode is intended to be used like a Palme Diffuseur from an Ondes Martenot or the resonating strings of a sitar. In other words you can run another voice or instrument into the audio input and use Rings like a tuned reverb effect. Set the frequency knob to the tonic of the key you are playing in, and the structure knob will tune the resonating ‘strings’ to these scales:

Hungarian Minor (CCW)
Lydian Minor
Melodic Minor
Harmonic Minor
Diatonic Minor
Pentatonic Minor
Minor Triad
Perfect Fifths (12 O’Clock)
Major Triad
Pentatonic Major
Diatonic Major
Harmonic Major
Melodic Major
Phrygian Major
Byzantine Major (CW)

Duo-Phonic

In this mode the structure knob cycles through chords built on each scale degree of a diatonic key, the tonic being set by the frequency knob. Descending by thirds so that adjacent chords share common tones, the table goes through triads, sevenths, then some more exotic chords. For example, if frequency is set to C, structure will cycle through these chords:

C, Am, F, Dm, Bo, G, Em,
Cmaj7, Am7, Fmaj7, Dm7, Bm7b5, G7, Em7,
Cmaj7sus4, Am9, Fmaj7#11, Dm11, Bo7, G7b5, Eaug7

Tri-Phonic/Quadraphonic

In these modes the structure knob cycles through justly tempered intervals. These modes combined with the new S&H option (@lylem you’re awesome) allows for the possibility of some fairly complex sequencing.

In the tri-phonic case, they are the first sixteen intervals of the overtone series. In other words, starting at CCW it multiplies the base frequency by whole numbers from 0 to 16. For the quadraphonic mode the structure knob cycles through the following intervals based on the 22 Shrutis of classical Indian music theory:

Unison 1/1
Pythagorean Limma 256/243
Minor Diatonic Semitone 16/15
Minor Whole Tone 10/9
Major Whole Tone 9/8
Pythagorean Minor Third 32/27
Minor Third 6/5
Major Third 5/4
Pythagorean Major Third 81/64
Perfect Fourth 4/3
Acute Fourth 27/20
Tritone 45/32
Pythagorean Tritone 729/512
Perfect Fifth 3/2
Pythagorean Minor Sixth 128/81
Minor Sixth 8/5
Major Sixth 5/3
Pythagorean Major Sixth 27/16
Pythagorean Minor Seventh 16/9
Minor Seventh 9/5
Major Seventh 15/8
Pythagorean Major Seventh 243/128
Octave 2/1

Disastrous Peace

The chord tables in this mode are based off of what I did for the chords mode of Lyle’s Plaits firmware. They have been revoiced by hand/ear for each of the different polyphony modes. Their formulation is a bit esoteric, but roughly, each chord on the CW side is a reflection of it’s CCW counterpart, and the set covers all possible ’white key’ four note chord types with the addition of the fully diminished seventh. Like the duo-phonic set above, the frequency knob is meant to define a key center with the structure knob cycling through chords in that key. For example, if you set the frequency knob to C, the chords will be:

Fm6/9
Abmaj7#11
Bb6
Gm11
Ebadd4
Cmaddb13
Abadd#11
Fm6
Do7
Bo7
G7
Em/F
Cmaj7
Am9
Fmaj9
Dm7
Cmaj7sus4
G7sus4

9 Likes

Wow, this is just phenomenal, super exciting! …

I love the menu system. Thank you all so much. The chord system is really cool.

EDIT: Is it crazy talk to want the other chords also available for Easter Egg mode? Or does it even make sense for the other chords to work in that mode?

2 Likes

Loving the new alt firmware, @lylem! However, I followed the directions to enter calibration mode and it isn’t working for me. I hold down both buttons, power on, and I get two blinking orange lights as if I’m updating the firmware. Is anyone else having an issue with entering calibration mode?

1 Like

Ahh thank you for the bug report! You are completely correct. I just pushed changes to my firmware and to the README with a different way of accessing calibration, which now works the same as it works for my Plaits firmware (long press both buttons while already powered up, starting with the one on the right). If you download the firmware again, accessing calibration should now work, as described in the revised README.

(As to how I missed this - I had tried to make a tiny tweak to the bootloader to make it possible to access calibration on power up, which I thought was a better experience. However I didn’t think through the fact that my bootloader changes wouldn’t take effect when updating the firmware using the audio bootloader. I missed this in my testing because I’ve been testing my firmware changes primarily using a programmer instead of the audio bootloader, which allowed my bootloader changes to actually take effect.)

4 Likes

Thanks for the quick response and fix! Downloaded this evening and all is good. Thanks for your hard work on this. It’s fantastic!

2 Likes

This is absolutely wonderful! There are so many fantastic ideas in here. The hold on strum is just brilliant; creates an entirely new dimension for Rings’ polyphony. @jeaux the “tuned reverb” chord table is beautiful! The plucky fm melody I’m running through it just dances across the strings, keeping its own identity but creating swirling eddies of resonance.

The waveform output is incredibly useful. Especially when passing another voice through Rings, I’m having much better luck tuning with the waveform than by ear.

I haven’t even gotten into the mini-elements yet!

One piece of feedback: I’ve accidentally toggled frequency locking a couple times now when trying to get to the menu in the middle of a patch. What if long press on Poly toggled frequency lock instead?

2 Likes

@qiemem Long press on Poly already has a function, it puts it into ‘3-phonic’ mode

1 Like

Thanks for your kind words! I’m super glad to hear you are enjoying all the new features.

Since I know you have experience working with firmwares, maybe you can adjust it for your own purposes. @jeaux is right that long press on poly already has a function, so I wouldn’t want to get rid of that, but you could of course customize it for yourself - that would be a pretty easy change here. It sounds like what you really want might be to be able to access the menu more quickly in the middle of patching, so another alternative to consider would be decreasing the long press duration here.

Ah! To be honest I’m not sure I even knew about the 3-phonic setting.

Good call! I don’t think I even realized that’s what I wanted, but you’re absolutely right. Maybe I’ll try just swapping the pitch lock and menu controls. Thanks for the code links!

As an aside, here’s a little quick reference table for the pages I threw together, in case others might find it useful: rings-pages.md · GitHub

YES. That’s really it for me, I don’t frequently need to swap up the freq-lock, I just mostly leave it locked, but the menu is where all the real fun is.

Thank you for that reference.

mini elements is awesome! just trying it now :slight_smile:

I notice the v/oct and fm behave as normal but the sound of moving the freq knob on some settings just screams to be CV controllable :smiley: any chance the FM could be adopted to control whatever setting the FREQ knob controls? Im getting some amazing sounds and would love to put a slow lfo on it :smiley:

thanks!

1 Like

@JPM: good idea! I just went ahead and added a fifth option to the menu for that.

3 Likes

Oh wow I wasn’t expected such a quick turn around :o excellent!
So cool!!!
Wow :slight_smile:
Thank you @lylem for this and thanks @pichenettes for providing such a “platform” for people to essentially build their own modules!! :blush:

1 Like

@lylem @jeaux

Hi, I am wondering about the chord selection modes:

Why not have just one menu setting for chord mode that applies to both Western Scales (all polyphonies) and Easter Egg? Would it not work to have those chord modes for Easter Egg?

Why have different modes for the different polyphony settings in Western Scales?

I am not complaining, just unsure of the technical reasons for that choice.

Thank you for an amazing firmware!