-
JakeForReal
Unfortunately much of this patch was built within the first few weeks of me learning PD, so I'm sure there are numerous errors throughout. I plan to go back through everything to correct as much as I can and see what I can simplify. Thanks again.
-
JakeForReal
David,
Thanks so much for your help and time.
I've found that if I do not delay the on messages, pitches will play 6 notes behind. On loading the patch, the first six notes I input will not sound, and the seventh note (no matter what pitch I play) will have the pitch of the first note, and the eighth note will have the pitch of the second note, et.c. Interestingly, even using [delay 0] for the on messages fixes the pitches occuring 6 notes late.To combat this I kept the [delay 0]s for on messages and used {pipe] with a longer time for the off messages. I started with [pipe 6] to no avail, so I bumped it up to 10ms and there was still no improvement. On a lark I I tried 30ms and it worked! From there I managed to cut it down to about 13ms as notes would still get stuck at 11ms and I figured I'd use 13 instead of 12 just in case.
My patch works like a charm, so thank you again, and a special thanks for introducing me to [pipe]. I've been using convoluted [delay]s and [float]s for a lot of things and had almost given up on delaying lists.
Jake -
JakeForReal
I've been working on my first major patch for the past few months. It's a synthesizer based heavily on the tutorial on flossmanuals.net. After finally creating all of the features I wanted I started to modify the patch to make the synthesizer polyphonic. The catch is that I want to control the patch using the Mad Catz Mustang midi guitar controller. This controller works perfectly fine with the polyphonic synth in the PD help browser as well as with other polyphonic synth patches I've found online, so I do not think the controller has any problem interacting with the [poly] object.. The problem is that when I use it with my patch, some notes fail to turn off. It seems to happen most often when I quickly slur from one note to another. I did not have this issue when using the monophonic version of my patch. The amplifier subpatch is definitely receiving noteoff messages, but for some reason, they do not cause the envelope to close.
I think part of the problem has to do with the way the controller sends messages. I use the controller in 'tap mode,' meaning a noteon is sent whenever a fret button is pressed and noteoffs are sent when fret buttons are released. However noteoffs are also sent whenever any fret button is pressed in order to turn off the "open string" (A note can be played without pressing a fret button by striking the string sensors, and the only way to turn it off is by playing a fretted note). This occurs whether or not the open string is playing and I think this may be messing with [poly]'s voice allocation. I'm tempted to just say that the controller can't be worked around, but since I know it works for other patches I'm going crazy trying to fix my patch.
I understand it would be hard to duplicate this behavior without having the controller, but as I said before it works like a dream with other patches. I have tried to imitate the polyphony of these patches as best as I can. I've tried disconnecting and reconnecting objects in every order imaginable and I've tried delaying on and off messages in case they were somehow arriving to the amplifier envelope out of order.
Attached is a simplified version of my polyph[full poly help.pd] onic patch. I'd really appreciate it if anyone could give it a quick look over just in case there's anything really obvious that I'm just missing.
Thanks so much and have a great day.
EDIT: Please ignore the errors about missing {receive~}s or {catch~}es. The {send~}s and {throw~}s are for some of the features that I removed from this version of the patch for simplicity's sake but I did not remove the {send~}s and {throw~}s.