Ensemble Oscillator from Matthias Puech & 4ms Company

Cwejman, Doepfer, Erica, MakeNoise, Mutable instruments, TipTop Audio, Analogue Solutions, and much more! The world’s most popular format.
Be sure to look into MANUFACTURER SUB-FORA as well..
Post Reply
clwilla
Ultra Wiggler
Posts: 817
Joined: Tue Jul 20, 2021 7:56 pm

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by clwilla »

rantonerik wrote: Tue Nov 22, 2022 1:05 pm
flything wrote: Tue Nov 22, 2022 9:52 am Got some odd behaviour with my Ensoc...

...

If I am reading the manual right, this shouldn't happen, root note should always be C, or am I doing something wrong?
I'm curious as well. I have observed similar behavior, and assumed it had to do with quantization. I.e. the root setting is before quantization according to the manual ("The Root knob controls the pitch of the lowest (root) oscillator before quantization") thus I guessed that changing the scale, while leaving root stationary, would mean the current root CV value would be snapped to the nearest note in the selected scale.
Changing the mode of a scale shouldn’t change the root though. If he’s doing inversions the BASS note would change but not the root.
flything
Learning to Wiggle
Posts: 30
Joined: Wed Oct 02, 2019 3:22 pm
Location: UK

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by flything »

Yeah no inversions, just changing the scale.

Would be good if someone could see if they can replicate it on their EnsOsc to see if it’s a “feature” or not !
User avatar
hawkfuzz
Super Deluxe Wiggler
Posts: 3235
Joined: Fri Feb 19, 2010 6:33 pm
Location: East Coast
Contact:

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by hawkfuzz »

If your scale is ACDG the root knob goes through those notes in whatever order you move the knob, which changes the note but not the scale. So it will change between ACDG.

Maybe you already knew that but try posting a video because that sounds incorrect.
Dr. Notadoctor
Learning to Wiggle
Posts: 10
Joined: Sat Dec 18, 2021 12:05 pm

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by Dr. Notadoctor »

flything wrote: Tue Nov 22, 2022 8:35 am
hawkfuzz wrote: Sun Aug 28, 2022 7:19 pm It’s not open source like MI.
"If you’re interested in compiling your own modifications, the open-source licensed source files (in C++) can be found on 4ms Company’s github: https://www.github.com/4ms "
i was really excited about discovering the EnOsc source code only to be disappointed by the realization that neither 4ms nor matthias puech have a repo for it
flything
Learning to Wiggle
Posts: 30
Joined: Wed Oct 02, 2019 3:22 pm
Location: UK

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by flything »

hawkfuzz wrote: Wed Nov 23, 2022 7:14 pm If your scale is ACDG the root knob goes through those notes in whatever order you move the knob, which changes the note but not the scale. So it will change between ACDG.

Maybe you already knew that but try posting a video because that sounds incorrect.
I’m not moving the root knob, I’m moving the scale knob through the 10 12 TET scales and observing the pitch of the root note in the Ableton spectrograph, the pitch of the root is changing.
User avatar
mdoudoroff
Super Deluxe Wiggler
Posts: 5011
Joined: Fri Jul 17, 2015 8:10 am
Location: New York City

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by mdoudoroff »

The root knob is poorly named. It does not set the root note of the scale, merely an offset that determines (after quantization) the lowest note in the current scale being assigned to an oscillator, and that note could be any of the notes in the scale, not just the scale root. Moreover, the scale root may not even be included in the scale! (e.g., your C major scale might include E and G, but not what you consider the actual scale root, C)

Unfortunately, the actual root note of the scale is not really a thing on the EnOsc. You can’t truly isolate, access or set it. It would make life much easier if you could.

Within EnOsc, a “scale” is just a repeating pattern of 1–16 numbers representing intervals. From scale to scale, those patterns don’t tend to line up tidily, and that’s the fundamental reason the pitch shifts around as you turn the scale knob. In theory, you can carefully design scales that will work together, but I’ve gotten a lot of unpredictable results, either because there’s a bug or because there’s a detail that we’re missing.
flything
Learning to Wiggle
Posts: 30
Joined: Wed Oct 02, 2019 3:22 pm
Location: UK

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by flything »

Martin - it's actually your video I used to tune my EnsOsc, thanks.

Yours seems to stay in tune once you start moving your Scale knob, but mine does not, it goes off key.
User avatar
mdoudoroff
Super Deluxe Wiggler
Posts: 5011
Joined: Fri Jul 17, 2015 8:10 am
Location: New York City

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by mdoudoroff »

flything wrote: Thu Nov 24, 2022 11:21 am Martin - it's actually your video I used to tune my EnsOsc, thanks.

Yours seems to stay in tune once you start moving your Scale knob, but mine does not, it goes off key.
I suspect mine does the same thing yours does.
User avatar
rantonerik
Learning to Wiggle
Posts: 11
Joined: Fri Nov 04, 2022 3:54 pm
Location: Seattle, WA, USA

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by rantonerik »

In the spirit of trying to help understand how the Ensemble oscillator works, I will describe the mental model that I use.

I make no claims of accuracy for this model beyond that it aligns with the observations I have made (see demonstration below). I do not claim it is ultimately correct, nor the intended behavior of the module. I may not have encountered a particular use case that would change my understanding; or the module may be intended to work differently, yet a bug is leading to the observed behavior.


Imagine a frequency line, from e.g. 1Hz to >20kHz. All settings are relative to this line, or other settings on this line.

"Pitch" sets the lowest available frequency of the module. It is an offset from the beginning of the frequency line.

Everything else follows from what "pitch" is set to. Next comes "scale".

"Scale" is an interval based quantizer. It defines the set of frequencies available on the frequency line. It starts from the current "pitch" setting, and proceeds to higher frequencies from there. These are the frequencies the virtual oscillators will "snap to". But it always starts from the current "pitch" setting.

Now we get to "root". "Root" offsets the location of the lowest virtual oscillator relative to the "pitch" setting. (All other virtual oscillators are then offset from this value based on various other settings such as "spread" and "freeze".) The actual produced lowest pitch is then determined by quantizing the "root" setting to the nearest "scale" derived frequency (along with the crossfading setting).

This model is based on the following demonstration:

Set all knob positions fully CCW, including shift settings.
Set "scale" to 12TET, slot 10.
Set "pitch" to C0 (on my Ensemble: approximately half way between 12 and 3 on a clock face).
Now cycle through the various scales. On my ensemble the output pitch stays C0 regardless of the selected scale. (Because, in this configuration, "root" is aligned with "pitch" and the lowest allowed frequency defined by "scale".)

Reset "scale" to 12TET, slot 10.
Turn "root" CW until you are at C1. (Now, "root" is offset from "pitch" and the lowest allowed frequency defined by "scale".)
Now cycle through the various scales again. On my ensemble the output pitch stays C1 for all of the scales EXCEPT slot 8, which shows D1.

What is happening here? Using the model I described above, I surmise that turning "root" CW has shifted the lowest virtual oscillator along the frequency line, offset from the "pitch" setting by 1v--i.e. an "octave". All of the 12TET scales--except slot 8--align with octaves, hence C1 is a valid quantized value for "root" to snap to. Slot 8, however, is the "Circle of Fifths". Thus the closest available pitch for "root" to snap to is D1.

Edit

Sharp-eyed readers may notice that according to page 14 of the manual, slot 9 does not contain C1; hence my statement above "the output pitch stays C1 for all of the scales EXCEPT slot 8, which shows D1" may appear incorrect. However, as far as I can see, the notes listed for slot 9 ("C0, Eb0, F0, G0, A#0, C#1, D#1, ...") are incorrect based on the described intervals ("m3, M2, M2, repeat").

Edit 2: typo
Last edited by rantonerik on Thu Nov 24, 2022 2:55 pm, edited 2 times in total.
pelang
Veteran Wiggler
Posts: 658
Joined: Tue Nov 22, 2016 7:30 pm
Location: offline

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by pelang »

thanks for this explanation.
User avatar
Accelra
Common Wiggler
Posts: 105
Joined: Mon Apr 28, 2014 8:57 am
Location: Cambridge, UK
Contact:

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by Accelra »

One day I will use mine for more than just epic drones, but today is not that day.
Michael
Wiggling with Experience
Posts: 352
Joined: Wed May 20, 2020 11:14 am
Location: Montreal

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by Michael »

I would say you are correct about the sample note sequence indicated in the manual for slot 9. After A# would be B# (C) not C#.
rantonerik wrote: Thu Nov 24, 2022 2:15 pm In the spirit of trying to help understand how the Ensemble oscillator works, I will describe the mental model that I use.

I make no claims of accuracy for this model beyond that it aligns with the observations I have made (see demonstration below). I do not claim it is ultimately correct, nor the intended behavior of the module. I may not have encountered a particular use case that would change my understanding; or the module may be intended to work differently, yet a bug is leading to the observed behavior.


Imagine a frequency line, from e.g. 1Hz to >20kHz. All settings are relative to this line, or other settings on this line.

"Pitch" sets the lowest available frequency of the module. It is an offset from the beginning of the frequency line.

Everything else follows from what "pitch" is set to. Next comes "scale".

"Scale" is an interval based quantizer. It defines the set of frequencies available on the frequency line. It starts from the current "pitch" setting, and proceeds to higher frequencies from there. These are the frequencies the virtual oscillators will "snap to". But it always starts from the current "pitch" setting.

Now we get to "root". "Root" offsets the location of the lowest virtual oscillator relative to the "pitch" setting. (All other virtual oscillators are then offset from this value based on various other settings such as "spread" and "freeze".) The actual produced lowest pitch is then determined by quantizing the "root" setting to the nearest "scale" derived frequency (along with the crossfading setting).

This model is based on the following demonstration:

Set all knob positions fully CCW, including shift settings.
Set "scale" to 12TET, slot 10.
Set "pitch" to C0 (on my Ensemble: approximately half way between 12 and 3 on a clock face).
Now cycle through the various scales. On my ensemble the output pitch stays C0 regardless of the selected scale. (Because, in this configuration, "root" is aligned with "pitch" and the lowest allowed frequency defined by "scale".)

Reset "scale" to 12TET, slot 10.
Turn "root" CW until you are at C1. (Now, "root" is offset from "pitch" and the lowest allowed frequency defined by "scale".)
Now cycle through the various scales again. On my ensemble the output pitch stays C1 for all of the scales EXCEPT slot 8, which shows D1.

What is happening here? Using the model I described above, I surmise that turning "root" CW has shifted the lowest virtual oscillator along the frequency line, offset from the "pitch" setting by 1v--i.e. an "octave". All of the 12TET scales--except slot 8--align with octaves, hence C1 is a valid quantized value for "root" to snap to. Slot 8, however, is the "Circle of Fifths". Thus the closest available pitch for "root" to snap to is D1.

Edit

Sharp-eyed readers may notice that according to page 14 of the manual, slot 9 does not contain C1; hence my statement above "the output pitch stays C1 for all of the scales EXCEPT slot 8, which shows D1" may appear incorrect. However, as far as I can see, the notes listed for slot 9 ("C0, Eb0, F0, G0, A#0, C#1, D#1, ...") are incorrect based on the described intervals ("m3, M2, M2, repeat").

Edit 2: typo
User avatar
4mspedals
Veteran Wiggler
Posts: 659
Joined: Tue Jul 21, 2009 8:36 am
Location: Portland, OR
Contact:

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by 4mspedals »

rantonerik wrote: Thu Nov 24, 2022 2:15 pm In the spirit of trying to help understand how the Ensemble oscillator works, I will describe the mental model that I use.
...

Imagine a frequency line, from e.g. 1Hz to >20kHz. All settings are relative to this line, or other settings on this line.

"Pitch" sets the lowest available frequency of the module. It is an offset from the beginning of the frequency line.

Everything else follows from what "pitch" is set to. Next comes "scale".

"Scale" is an interval based quantizer. It defines the set of frequencies available on the frequency line. It starts from the current "pitch" setting, and proceeds to higher frequencies from there. These are the frequencies the virtual oscillators will "snap to". But it always starts from the current "pitch" setting.

Now we get to "root". "Root" offsets the location of the lowest virtual oscillator relative to the "pitch" setting. (All other virtual oscillators are then offset from this value based on various other settings such as "spread" and "freeze".) The actual produced lowest pitch is then determined by quantizing the "root" setting to the nearest "scale" derived frequency (along with the crossfading setting).
...
This is an excellent explanation and visualization, thank you! If a graphic helps anyone visual this, the manual on page 13 might help. Pitch moves everything up and down together ('Scale' lines and virtual oscillators). What you call "virtual oscillators" are the colored circles on that diagram.
Screenshot 2022-11-30 at 11.57.15 AM.png
One thing to keep in mind is that there is a Root Note (of the Scale), and a Root Oscillator -- they're not the same thing.
The notes in the scale are like keys on a piano: they don't do anything unless you play them. The Root Note is the lowest key on the piano. You won't hear the root note unless you press that key. That's what the oscillators are for.
The Oscillators are like your fingers: they press the keys. You can spread your fingers wider or closer using the Spread knob. You can slide your arms/body left and right with the Root knob. In order to hear the Root Note, you have turn the Root knob all the way down, so that your Root Oscillator (left-hand pinky finger) is lined up with the Root Note (lowest key on the piano). You probably also have to turn Pitch knob all the way up (and/or apply CV to Pitch CV) because the Root Note is usually very low in frequency, often sub-audible.

The take-away is that just like how you normally sit at a piano in the middle of the keys (so that your lowest finger is over a key much higher up than the lowest key on the piano), your Root Oscillator is normally much higher than the the Root Note.

The Pitch knob is like tuning the whole piano (all strings) up or down equally. So (perhaps confusingly) Pitch controls the Root Note's pitch and Root controls the Root Oscillator's pitch.

Another thing to keep in mind with the Ensemble Osc: depending on your scale, you may or may not have the same notes in every octave. This is very different than a piano or how you might be used to thinking of scales. So instead of thinking of your scale as "CFG" (which implies there is a C, F, and G key in every octave on the piano) you might have to think of your scale like "C0 F0 G0 C#1 F#1 G#1 B2 D2..." etc, which makes for a funky piano (but perhaps some interesting harmonics). rantonerik is absoultely correct that a scale is really just a set of intervals, not a set of notes that repeat every octave.
That said, many of the default scales do have octaves (9 of the 10 default scales in the 12TET bank, plus all the scales in Octave bank). But if you program your own scale and you need it to repeat over octaves, you have to program the last octave-up note or else use the Octave bank which programs that note for you.
Sharp-eyed readers may notice that according to page 14 of the manual, slot 9 does not contain C1; hence my statement above "the output pitch stays C1 for all of the scales EXCEPT slot 8, which shows D1" may appear incorrect. However, as far as I can see, the notes listed for slot 9 ("C0, Eb0, F0, G0, A#0, C#1, D#1, ...") are incorrect based on the described intervals ("m3, M2, M2, repeat").
You're correct, the C#1 and D#1 in slot 9/12TET should be C1, and D1. I corrected it on the online manual just now. Thanks for the find.
Sweetfiltersweep
Ultra Wiggler
Posts: 880
Joined: Sun Oct 03, 2010 6:35 am

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by Sweetfiltersweep »

Ensemble Oscillator + Pulsar 23. :party:

User avatar
JES
Super Deluxe Wiggler
Posts: 1110
Joined: Tue Jun 18, 2013 10:03 pm
Location: Montreal

Re: Ensemble Oscillator from Matthias Puech & 4ms Company

Post by JES »

Greetings. Is the updated firmware out of beta and released? Apologies if that’s state above but the last thing I see, it’s still in beta.
"Now, I'm off to hook my cat's litterbox up to an envelope follower." --Aragorn23
Post Reply

Return to “1U & 3U Eurorack Modules”