• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
[no subject]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[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


  • Prev by Date: AUMIDISynth + AUSampler: notes stop sounding past 14 simultaneous voices. Can I tweak the polyphony settings?
  • Next by Date: Re: AUMIDISynth + AUSampler: notes stop sounding past 14 simultaneous voices. Can I tweak the polyphony settings?
  • Previous by thread: Re: AUMIDISynth + AUSampler: notes stop sounding past 14 simultaneous voices. Can I tweak the polyphony settings?
  • Next by thread: Re: AudioUnitGetProperty with Swift 3
  • Index(es):
    • Date
    • Thread