[no subject]
[no subject]
- From: Sven Thoennissen <email@hidden>
- Date: Wed, 02 Nov 2016 21:12:15 +0100
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@hidden
> 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@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden