Spat5 multichannelize (with random)

Teppei Sengoku's icon

Hi,

I want to make a mechanism in spat5 that makes one source multichannel and moves each channel individually to a random location at a random timming. There are four speakers. In the patch that contains the mechanism to determine the position of each channel, the number of mechanisms in the "panel" is the same as the number of channels, but if I want to make 50 channels multichannel, I cannot place 50 similar mechanisms. Therefore, I would like to make this mechanism multichannel and combine them into one. So, I tried to use the mechanism with "rand~" in the bottom right of the attached patch, but I cannot directly input the value of "/source/1/aed $1 $2 $3" into the left inlet of "mc.target".So, I would like to hear your opinions (an advanced version of my method or a completely different method).

spat_essai1.maxpat
Max Patch

Wil's icon

You want like this?

Max Patch
Copy patch and select New From Clipboard in Max.

Teppei Sengoku's icon

Thank you for your valuable opinion.

Your patch is really great!!

My final goal in my first plan was to eventually combine your method (fluid movement) with my method (instantaneous movement). In order to instantly change the position of each voice to a random position at an individual timing, is there any other way than to prepare 50 mechanisms created in the "panel" in my patch and connect them to each inlet of the "mc.pack~50" you presented? And in your method, for example, if I specify "voice" in "Random" as "5", it will become voice number 1 to voice number 5, so I cannot specify them when I want to move voice number 37 to voice number 41 or when I want to move voice numbers 4, 7, 11, 35, and 48 respectively.

So, is there any good way to combine instantaneous movement and specify voice numbers individually?

Wil's icon

here is random , no motion, one adjustable panel

Max Patch
Copy patch and select New From Clipboard in Max.

-- still thinking about individual voices.

Teppei Sengoku's icon

I appreciate your kindness and skill.

I may not have explained "combining fluid motion and instantaneous motion" well enough, so let me explain. A fluidly moving voice moves to a distant place in an instant, and resumes fluid motion immediately after moving. And each of the fluidly moving voices moves at a different speed in a different range. And the speed can be made to gradually speed up or slow down. In other words, you can specify the movement of each voice individually..

Roman Thilenius's icon

maybe it is easier to not use mc when there is individual control values everywhere.

Wil's icon

here is isolate and random groups of voices

Max Patch
Copy patch and select New From Clipboard in Max.

@ROMAN THILENIUS - yeah mc. only works with the gooey sliding all voices at once

...ah, actually mc is just a wrapper- yo yo - individual voices are addressed through the spat5.viewer

@ TEPPEI SENGOKU - idividual motion will probably require a separate module for each voice - if you want 50 unique voices you will need 50 modules

I will build one for you now!

Teppei Sengoku's icon

I am truly grateful for the prompt and kind response from both of you. I will continue my own research.

@ WILL - I look forward to hearing from you again. Thank you.

Teppei Sengoku's icon

"WIL" I'm very sorry!!

Wil's icon

Here is poly!

Max Patch
Copy patch and select New From Clipboard in Max.


Ok. You can take it from here!

***just a note- there is a way to do poly and target all voices differently at once. I’ll get into it later

***wrong patch - updated

Wil's icon
"WIL" I'm very sorry!!

No problem- it's raining - good work. I will use this after 3 years of not doing it!

There is a lot cn be refined now inside the poly - positioning, rate etc

Roman Thilenius's icon

正在下雨

___________________________

Wil's icon

@TEPPEI SENGOKU

Here is poly all voices targeted!

essai_mutlivoice.zip
zip


I only made 8 channel.

@Roman - 한국에는 비가 내린다

Teppei Sengoku's icon

@WIL

Great. That's a very interesting approach. I'm going to play around with it and refine it in more detail. Thank you very much!!

Teppei Sengoku's icon

@WIL

I think it's because I don't know much about "poly~", but there are a few things I don't understand about the patch you created.

I think it's a very basic question, but I would appreciate it if you could answer it. When I press the "1" button in "martixctrl" of "2 turn on each voice", voice 1 starts moving. That's fine, but when I try to stop it by pressing the "1" button again, it doesn't stop immediately, but continues to move for a while. By the way, the other "2,3,4,5,6,7,8" stop immediately when I press those buttons to stop them. What do you think is the reason why "1" doesn't stop immediately? And the next question is, when I press the buttons of "2,3,4,5,6,7,8" to move one or more of them while "1" is stopped, "1" always moves for a while as well. When I stop them, "1" moves in the same way. What do you think is the reason for these?

I'm sorry for the long message.

Wil's icon

Hi @TEPPEI SENGOKU

The problem was in the matrixcntrl ->voice number

Spat will not accept /source /0 - so I added +1, that was causing all voices to trigger voice 1 when you turn them off.

see solution now more simple - use left outlet from matrixcntrl and [route] to get bang

***note to self - don't forget always build as much as possible ONLY using bang :0

essai_mutlivoice.zip
zip


Teppei Sengoku's icon

@WIL

Thank you for the quick and great solution. It's brought me much closer to my dream. I'll be exploring the possibilities further!