Hello Archagon, You may have tried this already but just in case you didn't: You could write your own AU which encapsulates an AUSampler. Then you can implement your own note stealer and forward MIDI note-on/off events to the AUSampler accordingly. A simple kill-the-oldest-note strategy should work. This way you don't need to write your own synth engine.
Best regards, Sven > > I've run into a pretty major issue with AUMIDISynth > (kAudioUnitSubType_MIDISynth) that I can also replicate in AUSampler. > In brief, I have an SF2 with some samples that play for several > seconds after touch-up, and if I play too many notes in succession, > new notes will simply fail to sound until at least one of the previous > notes has finished attenuating. My understanding is that standard MIDI > polyphony is supposed to "steal" an already-playing note when you go > past the polyphony limit. In AU Lab, using AUSampler, this works > correctly when the polyphony is set to 8. However, if you set the > polyphony to something like 32, the number of "voices" appears to be > capped at 14 and prevents any new keys from sounding past 14 > simultaneously playing notes. > > Here's a demo YouTube video: https://www.youtube.com/watch?v=69KkpKk0OlQ > > Unfortunately, I can't find a way to adjust the polyphony or voice > count when using kAudioUnitSubType_MIDISynth in software, which means > there's no good way to prevent notes from failing to play past the > voice limit. Sending a Sound Off command does reset the voices and > allow me to start playing notes again, but this is a channel command, > so I can only use it as a crude bludgeon to turn off every note > simultaneously. I've considered several approaches to fix the problem > — creating a separate synth for each instrument and putting each note > in its own channel, creating a "double buffer" out of every two > channels and only sending Sound Off to a buffer when they switch, or > maybe just automatically sending Sound Off every 14 notes — but these > feel like hacks. Surely there's a way to get around the issue in a > more conventional way? It would be a shame if I had to code up a > complex meta-synth just because I couldn't tweak a symple polyphony > setting! > > > > ------------------------------ > > _______________________________________________ > Coreaudio-api mailing list > [email protected] > https://lists.apple.com/mailman/listinfo/coreaudio-api > > End of Coreaudio-api Digest, Vol 13, Issue 148 > ********************************************** _______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com This email sent to [email protected]
