[sdiy] the white whale - modular synth patch memory
rkm31415 at yahoo.com
Wed Mar 18 20:14:48 CET 2015
Exactly, Rutger. Having an N^2 switch matrix allows for all possible connections, but will likely be expensive overkill for most patches. The ARP 2500 switch matrices had something like 20 signal buses. You connect an output (or several) to the bus and then you connect the desired input (or multiple, again) to the bus and you effectively have a patch cable (or several using jack multiples). I picked 16 buses rather arbitrarily. I may sit down and map out useful patches to see if that will really be sufficient for my planned cabinet size.
On Wednesday, March 18, 2015 2:04 PM, Rutger Vlek <rutgervlek at gmail.com> wrote:
Cool to bring that knowledge from spacecraft domain to the field of synths. There is one other aspect that might be relevant. No modular user I know has enough patch cords to make all possible connections between inputs and outputs, nor does someone always use all modules at a time. A more pragmatical approach would be to try to estimate the number of unique connections that typical users make between inputs and outputs. This way the solution starts looking less like a switch-matrix, and more like a fixed number of canals for signal routing with selection switches for input and output.
I believe that you don't even need full coverage of all I/O. A product that provides patching for roughly half of all connections already saves a big wire mess, and allows for some real improvement in user-friendliness.
On 18 mrt 2015, at 18:26, Sarah Thompson wrote:
> Years ago I worked on adaptive wiring harnesses for spacecraft. This is essentially the same problem as arbitrary patching between modules. The obvious way to do it is with a big crossbar switch, but this requires N squared switches. The approach I ended up recommending was much better than this, requiring only 2N x log2 N switches. Basically, there is an obscure proof that two cascaded Omega networks can implement an arbitrary permutation from its inputs to its outputs. Something like this could be integrated with the synthesizer's module backplane. As for how to construct the actual switches, good question, but this architecture gives you the smallest possible number of switches for an arbitrary N.
>> On Mar 18, 2015, at 08:46, Paul Maddox <yo at VacoLoco.net> wrote:
>> problem is, you want to store the parameter values as well as the patching to get true patch storage..
>> suddenly everything get really complex and you start locking our vendors of modules if you do something bespoke.
>>> On 18/03/2015 01:48, Richard Moore wrote:
>>> I couldn't resist. I'm planning a DIY modular and I haven't yet convinced myself that patch memory is too ambitious.
>>> And yes, I did check the archives. It sounds like different concepts have been kicked around on the list for modular patching busses and patch memory for 20 years. I probably missed a bunch of good stuff, though. If you know of someone who has done a good job of this in their system, let me know. I would very much like to see it.
>>> The strategies seem to be:
>>> 1. Switch matrices.
>>> 2. Sample everything and send lots of data on a digital bus.
>>> 3. Octopus modules (like WMD sequential switch).
>>> 4. Analog signal buses.
>>> 5. Use a software modular (Pd, MAX/MSP, etc) instead
>>> 6. Why would you want to store patches on a modular?
>>> There will always be use cases for #5, but everyone on this list is probably already convinced of the virtues of hardware. Pin/switch matrices make for very clean modular synth builds, but they're not easily expanded. Sampling and sharing a digital backplane is a good option, but may beyond my skills/time constraints/budget for a DIY modular. #3 is limited and inelegant. Right now I'm thinking about #4.
>>> Here's how I think a useful modular patching bus and memory should behave:
>>> 1. Patch memory - It should be able to route module inputs and outputs. Hopefully without some patch cable octopus that keeps you from using the jacks normally.
>>> 2. Easy patch storage - You should be able to patch your system with cables and have that configuration stored to be recalled by a bus patching module later.
>>> 3. Ability to edit - You should be able to load a patch, patch in additional modules, and save an edit.
>>> 4. Portability - You should be able to share patches with people that have similar modules. Moving your modules around shouldn't break the patch memory.
>>> 5. Knob position storage - Ideally knob positions could be stored and recalled until edits are made.
>>> 6. Retrofitting - It would be really nice to be able to retrofit modules from commercial makers to make use of patching buses.
>>> Here are my current thoughts:
>>> 1. Have ~16 signal buses available on the backplane that modules can connect to (like in the ARP 2500)
>>> 2. Give every input and output on each of my modules an analog multiplexer (there are 8 channel ones on Mouser that start at <$1)
>>> 3. Have a single module that stores patches and commands the multiplexers (over SPI or I2C, perhaps).
>>> 4. Assign some kind of ID to modules or module types to allow for storage of portable patches.
>>> 5. Have a microcontroller that can "ping" the module inputs/outputs to determine where patch cables are for patch storage.
>>> I've got some thoughts for knob position storage and retrofitting, but nothing certain yet.
>>> What else should I be thinking of? Who else's synth should I be looking at?
>>> Synth-diy mailing list
>>> Synth-diy at synth-diy.org
>> Synth-diy mailing list
>> Synth-diy at synth-diy.org
> Synth-diy mailing list
> Synth-diy at synth-diy.org
Synth-diy mailing list
Synth-diy at synth-diy.org
More information about the Synth-diy