Re: AUMIDISynth program change messages not working?
Re: AUMIDISynth program change messages not working?
- Subject: Re: AUMIDISynth program change messages not working?
- From: Archagon <email@hidden>
- Date: Thu, 14 Jan 2016 15:15:18 -0800
> Currently there are no exposed properties that can be queried for information like this.
> You can be the “squeaky wheel” and file a radar asking for it.
OK, I might do that. (Technically, I think I could also "parse" an SF2
preset and extract the correct dictionary using a "dummy" AUSampler
alongside my AUMIDISynths. Will have to see if performance is good
enough...)
> No, there is not. AUMIDISynth is GM-compliant, as you noticed. My instincts
> say there must be a better way to do what you want rather then require a separate
> MIDI channel for each voice. How about creating patches where the voices
> respond to different MIDI controllers? Then you could independently control
> parameters for different voices sounding on the same MIDI channel.
Thank you for the clarification. I was trying to parse this thread[1]
on AudioUnit scopes earlier, and it seemed to indicate that standard
MIDI messages for multi-timbral instruments were mapped onto more
general messages that could be sent to even more voices ("groups"?)
than the standard 16. But I probably misread it — the terminology is
not yet familiar to me.
In short, my app is a sequencer in which every note can be pitch-bent.
Currently, I'm doing this by assigning each note to its own channel,
since pitch bend is a channel command. I would strongly prefer to
generate MIDI output that could be easily interpreted by other MIDI
devices, as well as to be able to use pre-existing SF2 soundfonts in
full, so creating new patches is probably not an option (if I'm
understanding you correctly). Does AUMIDISynth support the MIDI Tuning
Standard, by any chance? (Specifically, the real-time messages.) That
might also work...
Thank you,
-Alexei
[1]: http://lists.apple.com/archives/coreaudio-api/2003/Jul/msg00393.html
On Thu, Jan 14, 2016 at 9:50 AM, Douglas Scott <email@hidden> wrote:
>
>> On Jan 13, 2016, at 9:12 PM, Archagon <email@hidden> wrote:
>>
>> Thank you! This is good to know.
>>
>> I have a couple more questions regarding AUMIDISynth:
>>
>> 1. Is there any way to get the MIDI key range of a patch? In my app,
>> before I discovered AUMIDISynth, I was using a bunch of AUSamplers (1
>> per channel). Here, I could simply get the global
>> kAudioUnitProperty_ClassInfo property for each sampler and then find
>> the "min key" and "max key" properties in the resulting dictionary. I
>> tried doing the same for AUMIDISynth, but unfortunately the resulting
>> dictionary is not the same as the AUSampler dictionary and does not
>> have those keys. The headers imply that you might be able to use
>> kAudioUnitScope_Part for multitimbral instruments, but so far, all
>> I've been getting is error -10866.
>
> Currently there are no exposed properties that can be queried for information like this.
> You can be the “squeaky wheel” and file a radar asking for it.
>
>>
>> 2. Is there a way to have more than 16 "channels" per AUMIDISynth? (I
>> realize it wouldn't be GM-compliant, but I can route around it.) My
>> app requires a very large number of individual voices, each receiving
>> their own MIDI channel commands, and it would be more efficient if I
>> could share the samples that AUMIDISynth preloads for all my channels
>> instead of creating a bunch of different AUMIDISynths (each with their
>> own preloaded samples).
>>
>
> No, there is not. AUMIDISynth is GM-compliant, as you noticed. My instincts
> say there must be a better way to do what you want rather then require a separate
> MIDI channel for each voice. How about creating patches where the voices
> respond to different MIDI controllers? Then you could independently control
> parameters for different voices sounding on the same MIDI channel.
>
> -DS
>
>
_______________________________________________
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