Hi all, is there a Module which gives the Possibility to route Cables via Buttons ?

I found one Module which can handle this: Jooper Tap-Trig

VCV Router

VCV Octal Router???

What is needed for this are some Factorial Switches:

Factorial Switches are special switches that can make all possible connections between N inputs and N outputs. The setting of the switches uses a so called address that is selectable via a CV address input or a address knob for manual setting. The main idea behind a factorial switch is to change several connections with only one switch.

Here some history from Wikipedia:

Factorials were used to count permutations at least as early as the 12th century, by Indian scholars. In 1677, Fabian Stedman described factorials as applied to change ringing, a musical art involving the ringing of many tuned bells. After describing a recursive approach, Stedman gives a statement of a factorial (using the language of the original): “Now the nature of these methods is such, that the changes on one number comprehends [includes] the changes on all lesser numbers … insomuch that a compleat Peal of changes on one number seemeth to be formed by uniting of the compleat Peals on all lesser numbers into one entire body.”

The notation n! was introduced by the French mathematician Christian Kramp in 1808.

In mathematics the factorial is a positive integer n, written as n!.

It is the multiplication of all positive integers from 1 to n.

Mathematical written as:

n! = N x (n - 1) x (n - 2) x (n - 3) x . . . . x 3 x 2 x 1

Here the example for 4!

4! = 4 x 3 x 2 x 1 = 24

Here the first eight factorials:

1! = 1

2! = 2

3! = 6

4! = 24

5! = 120

6! = 720

7! = 5040

8! = 40 320

This means that with 2! there are 2 possible connections, with 4! 24 possible connections, while with 6! 720 possible connections and so on.

As you can see with only 8 inputs and 8 outputs you got addresses from 00001 to 40320 that need some definitions that were difficult to set up within the VCV Rack. If the voltage range is from 0 to 10 V with a step size of 0,001 you get 10000 adresses only.

But if we set each digit of the address with a separate voltage it seems possible.

Now we need a c++ programer to write the code for a VCV module to do this. I could offer the results of the factorial switch settings up to 8! in the moment, that makes it possible to work with an event table to handle all this data. Made this for my Reaktor work!

Here an data example for 4!:

```
001 1 2 3 4
002 1 2 4 3
003 1 3 2 4
004 1 3 4 2
005 1 4 2 3
006 1 4 3 2
007 2 1 3 4
008 2 1 4 3
009 2 3 1 4
010 2 3 4 1
011 2 4 1 3
012 2 4 3 1
013 3 1 2 4
014 3 1 4 2
015 3 2 1 4
016 3 2 4 1
017 3 4 1 2
018 3 4 2 1
019 4 1 2 3
020 4 1 3 2
021 4 2 1 3
022 4 2 3 1
023 4 3 1 2
024 4 3 2 1
```

I think you can build something like that with HetrickCV Analog to Digital module, execpt you are working in base-two numeral system instead of base-ten.

Signal routing was the reason I started making modules for VCV Rack in the first place. My Computerscare Modules plugin has 4 modules that can be used to re-route signals:

- Father & Son Patch Sequencer: 10 in / 10 out patch matrix with 16 scenes. Video demo: https://www.youtube.com/watch?v=zdi_gygYAqA
- I Love Cookies: Plug cables in to inputs A thru Z, then type in the order you want them to come out: https://www.youtube.com/watch?v=UR4f3yFVr9M
- Roly Pouter: Polyphonic module which re-routes 16 inputs to 16 outputs via knobs. Combining this with @stoermelder’s infinitely useful module 8FACE from the PackOne plugin is probably closest to what you’re looking for.
- Boly Puttons Another polyphonic module, allows switching between 2 signals via 16 buttons

The advandage of a factorial switch is that you can get really every possible connection between the inputs and the outputs. While with all existing switch modules you only could get a fraction of the possible connections.

Can you eloborate this statement?

Some of the mentioned modules give you even more configurations because they allow mixing different inputs. You described simply all permutations of *n* inputs when patching one input to one output.

Ben wrote:

You described simply all permutations of n inputs when patching one input to one output.

Yes this is exactly what I want, if you have a look to the 4! example this gives you exact 24 different switch positions without any duplicate connections.

Here is an example:

You could feed the 4! switch with four notes as inputs, then you cycle thru the four notes like a sequencer and play one note after the other. But after four steps you force the 4! switch one position further and play the next four note combination and so on. This is really great for serial music composing, after 24 switch positions you have played every note combination that is possible with four notes.

Its like having a 96 step sequencer were you could set all 24 combinations manually.

Within Reaktor I am working with a 1024 step sequencer to realize the 5! permutation, but the dream would be the 8! switch version were you could play all of the 322560 notes.

These 24 possible „switch positions“ are called permutations. So, you just step through all possible permutations of the inputs with your sequencer?

I don’t think there is a module that can do this, but I don’t see any difficulties building a switch for 8 inputs. *8!* might look like a big number but you only need to know the current permutation to move to the next one.