How can I try arbitrary signal routings at "play" time?

0 votes
482 views

While playing around with mic inputs and live sounds I found I wanted to keep trying different routings of my signals. What would it be like if I routed the mic through the reverb before the cross filter? Is it better after? Etc.

So I made this routing matrix sound inspired by the plug-board patching matrices on some old synths like the EMS.

I strongly suspect there's a better / easier way of doing this kind of thing. I did try the grid but because each column can only have one input selected it didn't seem like it would allow any combination of outputs to be routed to inputs.

I've shared the sound in the Library:
http://kyma.symbolicsound.com/library/signal-routing-matrix-example/

 

Anything with an output can be routed to anything with an input. Consequently the sound is crisscrossed with connections like a plate of angular spaghetti and there's a lot of  MemoryWriters to allow patching of outputs into sounds which occur earlier in the kyma flow diagram. I'd be interested to know if there's a better way of doing this.

 

asked Sep 30, 2016 in Using Kyma by alan-jackson (Virtuoso) (15,840 points)
recategorized Sep 30, 2016 by alan-jackson
Nice VCS design!
Since you asked, one way around the MemoryWriters would be to use FeedbackLoopIn and Out pairs.  Might look a little cleaner but otherwise it's the same.
Thanks!

Constructing a matrix like this takes time and I think I'll find it useful but I'm wondering how to re-use it. Instead of having one replaceable sound, this example has 5.

I was thinking of trying an array of sounds and using two nested replicators.... or maybe it would be better to do the replication in a script?

Is it possible to script the size and location of VCS widgets?

I had a look at this thread:

http://kyma.symbolicsound.com/qa/737/it-possible-define-the-widget-type-and-range-using-smalltalk

which suggests it's possible to script the type of VCS widget but didn't mention the size or location. If I'm creating arbitrary sized grids of them that would be handy.
I think you should check out the Multigrid!
I did start by looking at the multigrid. I admit I am not very familiar with it yet, but I couldn't see how it could do what I'm doing in this sound. I've just re-read the multigrid docs and I still can't see how to do this in a multigrid. I am probably missing something.

In my sound I can, at "play" time, decide to route the flamingo sample first through the reverb, then chorus, then delay, then speakers. I could also route some of the delay output into the chorus making a feedback loop around those two sounds. I could also simultaneously route the harp sample just into the delay, by-passing the reverb and chorus.

I'm trying to think how to do that in a multigrid. I guess if the first column of the grid had the two samples in it, and then there were three columns each with all three effects sounds in it I could make arbitrary ordering of the effects. Could I make feedback loops? And how could I play both samples simultaneously through different combinations of effects? Somehow it seems like the sub-mix busses would hold the answer but I can't see how yet. I'll go back and have another play with the multigrid.
I can see the big advantage of the multigrid is it will only use DSP resources for the sounds that are actually playing. In my routing matrix it's using DSP for all sounds in the matrix, plus on top of that a whole bunch of memory writers and level attenuators.
you are right, you would need to use a chain of tracks for each source then. also you can't do feedbackLoops using SubMixes, however you can use FeedbackLoops and MemoryWriters (make sure to check the shared MemoryWriters option).
The reason I was suggesting the MultiGrid is because once you've set up the grid it is easy to exchange Sounds. I think there might be a way to do what you want in a Multigrid but I'm not sure if it's worth the effort.

1 Answer

0 votes

I've created a second version of this (updated in the Community Sound Library) where you can set the signal levels at each point in the matrix. This lets you create feedback loops that don't instantly saturate (eg. using the red labelled buttons that feed the output back in to the input of the same sound).

 

answered Oct 1, 2016 by alan-jackson (Virtuoso) (15,840 points)
having fun with this :) I recommend HP filters around 20-50hz after your feedback loops
...