XSRDO Analogy Official Release

Modular Synth design and releases (Reaktor, SynthEdit, Tassman, etc.)
ZXOxo67
KVRist
82 posts since 15 Jan, 2013 from Bremen, Germany

Post Wed Aug 12, 2020 9:44 am

Great, now it works in FL :clap:
The good old 80s never come back
a old FLStudio nerd

User avatar
Erisian
KVRAF
1831 posts since 21 Mar, 2020

Post Fri Aug 14, 2020 10:00 am

kirsty roland wrote:
Wed Aug 12, 2020 6:08 am
Updated to v0.992

- Improved installation program
- Improved plugin internal file management
- Reinstated laptop monitor window size
- Improved GUI graphics

Free download from my blog as usual
http://xsrdo.blogspot.com/

Kirsty :)
Thank you Kirsty. It works well and I love the manual panning you have included. I may soon start working on more presets. :tu:

kirsty roland
KVRist
354 posts since 21 Nov, 2012 from Sitting in front of my PC

Post Mon Sep 07, 2020 2:47 am

Updated to v0.998

New modules
M150 - Semi-Modular Mono Synth.

M062 - Midi to CV with Key zone
Only outputs MIDI Gate within key zone range.

M102 - Audio Input Module
Receives input from other plugins in your host for processing audio through Analogys modules.

New features
MIDI Mapping...
All modules that respond to MIDI can now be set up to an individual key zone area.
Allows mapping of MIDI modules to different keys for keyboard split, layer and merge 8)
...and also keyboard finger drumming :lol:

Options menu...
Optional receive MIDI CC messages.
Optional receive MIDI Program change massages.
Optional Enhance Graphics mode.

Updates
Enhanced CPU saver (Available on M003 System Module).
Changed filter in M116 Polysynth to 12db Ladder.
More internal CPU improvements.
Added Decrement, Random and Increment icons next to patch display.
Improved install program plugin window size selection.
Added snazzy graphic enhancement. See Options menu.

Free download from my Blog as usual
http://xsrdo.blogspot.com/

Kirsty :)

kirsty roland
KVRist
354 posts since 21 Nov, 2012 from Sitting in front of my PC

Post Mon Sep 07, 2020 5:05 am

How to change Key Zone settings for MIDI modules.
Click and drag on lowest and highest note to change value.
https://youtu.be/PZu0UEb1c-o
Kirsty :)

User avatar
Erisian
KVRAF
1831 posts since 21 Mar, 2020

Post Mon Sep 07, 2020 9:38 am

Looking forward to playing with it. Thank you Kirsty. :tu:

rafa1981
KVRist
200 posts since 4 Jan, 2007

Post Wed Sep 16, 2020 11:16 am

Somehow I missed v0.998.

I played with two Semi modulars (M150) doing FM. One as a carrier and another one as modulator. The range on which it sounded kind of musical was thin.

This is not the most time effective synth, it's slow to program but rewarding. What it does it does it well. I attach the patch. Nothing special/never heard.

If you are interested on getting users, maybe you should post on the Instruments subforum. Even preset people can enjoy this synth.
You do not have the required permissions to view the files attached to this post.

rafa1981
KVRist
200 posts since 4 Jan, 2007

Post Wed Sep 16, 2020 12:37 pm

Btw, how would you manipulate control signals? E.g. to achieve inverted key tracking, or just making a thin range of notes on a bell shape (x axis note, y axis voltage)? I once played with filters, slew, levels but I wasn't able to achieve what I wanted, as control voltages are DC (most of the time).

Soft clipping could work for velocity, but not for notes I guess.

kirsty roland
KVRist
354 posts since 21 Nov, 2012 from Sitting in front of my PC

Post Thu Sep 17, 2020 4:34 am

rafa1981 wrote:
Wed Sep 16, 2020 12:37 pm
Btw, how would you manipulate control signals? E.g. to achieve inverted key tracking...
Roughly thinking, as I'm on ubuntu right now...
MIDI CV output into Inverter. Then add 1v from Voltage source module so low notes output a high value
and high notes output a low value. The result could be scaled with a level multiplier for modules that accept 0v - 1v (or 1v - 0v) range.
Does that make sense :!:
rafa1981 wrote:
Wed Sep 16, 2020 12:37 pm
...or just making a thin range of notes on a bell shape (x axis note, y axis voltage)?
Sorry I don't understand what you mean by that :?

I made the M150 module for nostalgic reasons to reminisce about my first synth.
Back then I only had one synth and a pair of headphones.

Kirsty :)

rafa1981
KVRist
200 posts since 4 Jan, 2007

Post Thu Sep 17, 2020 6:07 am

Achieving inverted keytracking + clipping at 1v works.

With regards to the bell shape thing. For example Bazille (and Computer Music's magware version BazilleCM) has the mapping generator module, where (among other things) you can draw a curve which has the X axis as notes, and where for a given input value (note) you define an output value (voltage). So for example if you are programming an FM piano, yo can push the modulator level more for some notes while less for others in a very fine grained way. I guess I was spoiled by that when I was doing that patch, as there were note ranges where the FM amount could be pushed more and others were the result became inharmonic.

Now thinking better about it I don't think that something like those mapping generators have an equivalent in the analog world. Something similar can be achieved in a much more elaborate way by playing with clipping and waveshaping the MIDI CV signal.

BTW, I forgot to say that the M150 filter sounds gorgeous. I guess it is the already existing K35, but for some reason I hadn't pushed it.

kirsty roland
KVRist
354 posts since 21 Nov, 2012 from Sitting in front of my PC

Post Thu Sep 17, 2020 6:35 am

So, I tried inverting the keyboard with a few modules but reasoned it would be so much easier in code.
I've added an Invert CV output plug to the M062 MIDI to CV with Key Zone module. It inverts the keyboard CV centred around note 64.

I could make a MIDI map type thingy for the bell shape curves, but as you say maybe waveshaping might be better.

Kirsty :)

rafa1981
KVRist
200 posts since 4 Jan, 2007

Post Thu Sep 17, 2020 9:48 am

Also I have found that for making an envelope velocity sensitive, one has to go through some hoops:

MIDI to CV (velocity out)-> to patchbay (in).
Voltage source out -> to patchbay(in). This one is to set the floor, so low velocity notes don't get almost completely silent.
Envelope -> to multiplier 1.
patchbay(out) -> to multiplier 1.
multiplier 1 -> to signal clipper or waveshaper. To set the ceiling.
signal clipper/waveshaper -> to multiplier 2.
signal -> to multiplier 2.

The problem of this not only the cognitive load and time spent to do that, it's also the cable bloat, so patches become much harder to reason about when you forget what you were doing. I attached a patch showing this.

I too got a bug I think, on the other attached patch one PM oscillator module just disappeared out of the screen and I can't bring it back.

BTW, maybe Ctrl + left button + dragging could duplicate an existing module without diving into the menu.
You do not have the required permissions to view the files attached to this post.

rafa1981
KVRist
200 posts since 4 Jan, 2007

Post Thu Sep 17, 2020 10:16 am

kirsty roland wrote:
Thu Sep 17, 2020 6:35 am
So, I tried inverting the keyboard with a few modules but reasoned it would be so much easier in code.
I've added an Invert CV output plug to the M062 MIDI to CV with Key Zone module. It inverts the keyboard CV centred around note 64.
Cool.

Maybe this module design below kills more than two birds with one stone, a MIDI module to map a MIDI CC (or note number, as notes have no CC) to voltage. It would need:

-A selector for MIDI CC.
-1 unipolar knob for upper and 1 unipolar knob for lower bound (voltage).
-A unipolar knob to select the center point.
-A bipolar knob for the curve type, so when left at 0 the midi values would scale linearly between the voltage bounds above, when negative it does a sqrt curve and when positive it gets quadratic (or whatever you deem musically sounding).
-At least a pair of outputs. 4 if space allows. Up to you if you want to reserve space for future additions or filling all the space with outs.

With something like this it would become much easier to add expresivity to patches.

Notice:

By setting the value of the lower bound higher than the value of the upper bound things like inverted responses could be achieved with no extra buttons or modules. Nice for e.g. keytracking.

Maybe this control could be smoothed in the time domain, so there is no stepping when moving e.g. the modwheel.

Ideally selecting the MIDI CC could be done by name on a dropdown, but as a dropdown doesn't match the current design style and doing a LED-style selector with at least five chars would require at least a 2-column wide module, it could work by doing a three digit LED selector by MIDI CC number. It would be nice then if right clicking on the module showed a list of the MIDI CC's by name for people with limited brainpower as I.

As midi notes have no CC, maybe keytracking could be added at the -1 value or something similar.

rafa1981
KVRist
200 posts since 4 Jan, 2007

Post Fri Sep 18, 2020 4:31 am

I just want to post some ideas I had no time to write about yesterday before Iforget about them. Feel free to ignore what it doesn't match the Analogy's philosophy, it's your baby after all.

In my opinion the sound is there, but the weakest link on the chain is useability. So I will just name some improvements. On some of them there is a balancing act between making more complex modules resulting in patches with less "boilerplate" wirings or cluttered bigger modules.

Random thoughts:
  • I miss an undo button, so wrong experiments have no penalty in form of cognitive load (remembering how things were before) and time (redoing). The DAW undo doesn't work either. I get that undo on a modular synth that has not fixed modules is harder/nontrivial.
  • Maybe dragging a module out of the window (releasing the button) could delete it.
  • Maybe dropping a cable on an used slot could delete the existing cable.
  • A selector of cable width, so a cable can become thin as a hair and not interfere with knob visibility and would help dealing with cable clutter.
  • ADSR with modulation amount input. An ADSR will very often be scaled. This avoids a multiplier (velocity, flute patches). The problem is that now the ADSRs have no space for this.
  • ADSR with rate modulation input. Good for plucks. Sames space problem as above. Maybe this calls for a 2 column ADSR with extensive modulation capabilities.
  • M002 has a lot of free space to add more outs, with one module one frequently gets short of outputs. Maybe you are saving space for future features.

kirsty roland
KVRist
354 posts since 21 Nov, 2012 from Sitting in front of my PC

Post Fri Sep 18, 2020 7:54 am

rafa1981 wrote:
Thu Sep 17, 2020 10:16 am
kirsty roland wrote:
Thu Sep 17, 2020 6:35 am
So, I tried inverting the keyboard with a few modules but reasoned it would be so much easier in code.
I've added an Invert CV output plug to the M062 MIDI to CV with Key Zone module. It inverts the keyboard CV centred around note 64.
Cool.

Maybe this module design below kills more than two birds with one stone, a MIDI module to map a MIDI CC (or note number, as notes have no CC) to voltage. It would need:

-A selector for MIDI CC.
-1 unipolar knob for upper and 1 unipolar knob for lower bound (voltage).
-A unipolar knob to select the center point.
-A bipolar knob for the curve type, so when left at 0 the midi values would scale linearly between the voltage bounds above, when negative it does a sqrt curve and when positive it gets quadratic (or whatever you deem musically sounding).
-At least a pair of outputs. 4 if space allows. Up to you if you want to reserve space for future additions or filling all the space with outs.

With something like this it would become much easier to add expresivity to patches.

Notice:

By setting the value of the lower bound higher than the value of the upper bound things like inverted responses could be achieved with no extra buttons or modules. Nice for e.g. keytracking.

Maybe this control could be smoothed in the time domain, so there is no stepping when moving e.g. the modwheel.

Ideally selecting the MIDI CC could be done by name on a dropdown, but as a dropdown doesn't match the current design style and doing a LED-style selector with at least five chars would require at least a 2-column wide module, it could work by doing a three digit LED selector by MIDI CC number. It would be nice then if right clicking on the module showed a list of the MIDI CC's by name for people with limited brainpower as I.

As midi notes have no CC, maybe keytracking could be added at the -1 value or something similar.
Hi Rafa

New ideas are always appreciated. I think you can do most of this already with existing modules .
To have a MIDI CC control a voltage use the Midi learn function on a Volt Output Modules Knob.
(for note number use a MIDI CV to key zone module)
Send output to a clipper for upper/lower limits.
The CV curve could be changed with a waveshaper. I can make some more of these in future and for
more outputs send the result through a patchbay.
It might seem a bit convoluted but that's the beauty of modular synthesis.

Kirsty :)

kirsty roland
KVRist
354 posts since 21 Nov, 2012 from Sitting in front of my PC

Post Fri Sep 18, 2020 8:25 am

Random thoughts:
rafa1981 wrote:
Fri Sep 18, 2020 4:31 am
I miss an undo button, so wrong experiments have no penalty in form of cognitive load (remembering how things were before) and time (redoing). The DAW undo doesn't work either. I get that undo on a modular synth that has not fixed modules is harder/nontrivial.
That's doable. It would require keeping a list of changes in memory. Cables and modules would be easy as they are just ints, but what about knobs? Every knob movement is a 32bit float. The resulting undo file could get massive very quickly.
rafa1981 wrote:
Fri Sep 18, 2020 4:31 am
Maybe dragging a module out of the window (releasing the button) could delete it.
I don't like that. It would be to easy to loose the cable connections to other modules by accident.
rafa1981 wrote:
Fri Sep 18, 2020 4:31 am
Maybe dropping a cable on an used slot could delete the existing cable.
I think it's better to purposely remove a cable to avoid accidentally deleting a previous connection.
Also, I have working prototype code to have more than one cable connected to the same Input/Output.
rafa1981 wrote:
Fri Sep 18, 2020 4:31 am
A selector of cable width, so a cable can become thin as a hair and not interfere with knob visibility and would help dealing with cable clutter.
Yep. That easy. Every cable is overdrawn 3 times in various thickness for effect.
I can add something to the options menu to select cable thickness.
However, the cable opacity slider already lets you see underneath cables.
rafa1981 wrote:
Fri Sep 18, 2020 4:31 am
ADSR with modulation amount input. An ADSR will very often be scaled. This avoids a multiplier (velocity, flute patches). The problem is that now the ADSRs have no space for this.

Yes putting parameters on a module whilst still keeping it usable has been a recurring issue during development.
ADSR with rate modulation input. Good for plucks. Sames space problem as above. Maybe this calls for a 2 column ADSR with extensive modulation capabilities.
Yes putting parameters on a module space wise whilst still keeping it usable has been a recurring issue during development.
rafa1981 wrote:
Fri Sep 18, 2020 4:31 am
M002 has a lot of free space to add more outs, with one module one frequently gets short of outputs. Maybe you are saving space for future features.
I can usually think of some useful addition to a module but generally try to keep the functionality to a minimum.
It's very easy to get carried away adding stuff.

Keep the ideas coming

Kirsty :)

Return to “Modular Synthesis”