first time poster and new to Max. I was just wondering if anyone was working on a patch randomizer for synths. I know I would need to send a random CC message to each parameter. what would be the most efficient way to do this?
A simple way is to send a metro to a "random 50" or something, then scale that "scale 0 50 0 1000" and then connect that to a cycle or a saw object. That will give you 50 random tones in a frequency between 0 and 1000.
Thanks for the response. I’m talking about randomizing a patch setting on an external synth through midi. Specifically, I was wondering do I need to map out every CC parameter or can I just send a general CC message to the synth?
you need to map every parameter, and you also might need to send some sysex data to be able to randomize everything, but that depends on your synth. Loop up the midi specs in the manual of your synth. If you are unlucky the midi implementation is crappy and the order in which you send messages is important as well (as I recently found out)
Personally I would first make a max patch that completely controls the synth (always useful) and then make a randomization option for that max patch, but that be a bit too much work for what you want
you could simply use the uzi object to trigger 127 random cc messages. But that would probably be too fast for midi’s low bandwidth.
Here’s one way to do it with a metro, that triggers every 5 ms. (i don’t know if this is the proper timing for midi hardware…)
good luck ;)
----------begin_max5_patcher---------- 645.3oc0W1rbaBCDG+L9oPCmoYPRHDo25yQmLc3CEG0BRd.4otMSd2Kr.1XW CVPCdROX.sHV8W+ztqjeciiah9fnxE8YzWQNNutwwAL0XvoqsiaQ7gz73Jna tJwO0Ie20q8UFwACX1fvnjdq6hMouHUa+VoH0z5bRH8AeOD02GtEzbkT+L5o tu4YsxTI+sno6XR8qaMKy.2WOjehv68uZegTkKLfhvCbfJt.bf6WJkw4C5td uou+jNqslL+ZmnUgtRkw0C4lDq15hdpoSusYSyEOKQSgnpJdq3uXi+Tbg..g vCAtPdf4gvQyiKgWkKjYxE7XbYYvXj3jBgoTiXSQD7isgH7laL7RhTBVWhr7 PjQnRkHGgsHJgA4MzvkvD56BSHSxDukFsLVpSkvflL8gCAKAckUfPl4l9P9O J8IUuWYDkH+5IC+1IQAsEZiVR4VL9pbgMStDbixs8+ZZtHRkr2XzpI25g.rf AAGb+i2NBiAy5iPMYapNWW15BnHj+wK3Ae6U2KJIWp9g0e+HQQRk3RWfupKd dnT8GenV+5XFTBRN0RAEVDBhXm1salgkr08P.8kwVb33HjoLVkoKpmSQSfGb Hj0xH.d3rkTlecKl8dikTSd8XXARBaKsyiVRkrqxD5LYh+fYML3tMYnWb1YX FzX+bTTo2Wl1yv9hqnSygLQkQphMx5BYm5D6r97hLKS.uteJVHy1oqWQ5zvH qK1JolCMcSIcgtWcMEZgltP3qtl3e7zjURhe+wD9VZhbe0D0FNEdW0DjQQtk lnySSDN9gHJkFDTuYKu6uP0dJnyZQns0SIOB6DSgSN+ugXxGvpH1Ho6phX1D Gd2UD1BFgWnhpa71l+fkT3hX -----------end_max5_patcher-----------