We created the kAudioUnitSubType_MIDISynth, which is a full 16-channel 
GM2-compatible AU, to avoid the need to create 16 instances of the Sampler AU.  
The MIDISynth AU and the Sampler AU share the same synth engine, so you lose 
nothing by using the MIDISynth.  In addition, you gain support for program 
change events which the mono-timbral Sampler cannot do.

When using AUMIDISynth on iOS, you will need a little extra code to pre-load 
all the instruments needed to play each MIDI file.  The information in this 
link explains the how and why:

https://lists.apple.com/archives/coreaudio-api/2016/Jan/msg00015.html 
<https://lists.apple.com/archives/coreaudio-api/2016/Jan/msg00015.html>

-DS



> On Nov 24, 2018, at 5:57 PM, George Litterst <[email protected] 
> <mailto:[email protected]>> wrote:
> 
> Thank you very much for the reply, Douglas.
> 
> I checked with the programmer and now realize that I made an error in what I 
> wrote. To create a 16-channel GM synth, we currently use 
> kAudioUnitSubType_Sampler, which is a mono-timbral. We create 16 instances of 
> kAudioUnitSubType_Sampler in parallel to form the GM synth.
> 
> Does this sound like the best approach?
> 
> Does kAudioUnitSubType_Sampler support all of the features of the SoundFont 
> spec?
> 
> Thanks, in advance.
> 
> George
> 
>> On Nov 24, 2018, at 3:00 PM, [email protected] 
>> <mailto:[email protected]> wrote:
>> 
>> Send Coreaudio-api mailing list submissions to
>>      [email protected] <mailto:[email protected]>
>> 
>> To subscribe or unsubscribe via the World Wide Web, visit
>>      https://lists.apple.com/mailman/listinfo/coreaudio-api
>> or, via email, send a message with subject or body 'help' to
>>      [email protected]
>> 
>> You can reach the person managing the list at
>>      [email protected]
>> 
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of Coreaudio-api digest..."
>> 
>> 
>> Today's Topics:
>> 
>>  1. Re: kAudioUnitSubType_DLSSynth and support for SoundFont
>>     2.0.1 features ([email protected])
>> 
>> 
>> ----------------------------------------------------------------------
>> 
>> Message: 1
>> Date: Sat, 24 Nov 2018 08:18:44 -0800
>> From: "[email protected]" <[email protected]>
>> To: George Litterst <[email protected]>
>> Cc: [email protected]
>> Subject: Re: kAudioUnitSubType_DLSSynth and support for SoundFont
>>      2.0.1 features
>> Message-ID: <[email protected]>
>> Content-Type: text/plain; charset="utf-8"
>> 
>> Hi George!
>> 
>> kAudioUnitSubType_DLSSynth is very old and has never been supported in iOS.  
>> You will want to use kAudioUnitSubType_MIDISynth which is supported on both 
>> iOS and OS X.  The underlying synth engine for this type is very close to 
>> fully SoundFont-compatible.  Unfortunately we do not have any documents 
>> which describe any missing features, if any.  Everything you list below is 
>> supported.  Please file radars if you find problems.
>> 
>> -DS
>> 
>> 
>>> On Nov 18, 2018, at 7:50 AM, George Litterst <[email protected]> wrote:
>>> 
>>> I have both Mac and iOS applications that load a custom SoundFont into 
>>> kAudioUnitSubType_DLSSynth. These apps receive MIDI data and pass on the 
>>> data to the DLSSynth. This basic scenario works great in our applications.
>>> 
>>> We are about to embark on enhancements to our SoundFont based on the 
>>> parameters defined for SoundFonts in the 2.01 specification (the final 
>>> SoundFont spec from Creative Labs).
>>> 
>>> Can anyone provide a comprehensive list of SoundFont features that are or 
>>> are not supported by kAudioUnitSubType_DLSSynth in the Mac and iOS 
>>> environments?
>>> 
>>> In particular we plan to improve the realism of various instruments by 
>>> defining the parameters for the SoundFont's “modulators.” These modulators 
>>> enable different types of MIDI input (key velocity, key number, continuous 
>>> controllers, etc.) to control any number of synth parameters. By tweaking 
>>> these modulator parameters for each instrument in the SoundFont, we can 
>>> specify—in theory—the way in which a low-pass filter adjusts the timbre of 
>>> an instrument based on velocity, map the mod wheel to control filter 
>>> cutoff, crossfade samples, and so forth.
>>> 
>>> Of course it would be a delight to learn that kAudioUnitSubType_DLSSynth 
>>> supports the complete spec.
>>> 
>>> Thanks,
>>> George Litterst
>>> TimeWarp Technologies
>> 
>> 
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL: 
>> <https://lists.apple.com/mailman/private/coreaudio-api/attachments/20181124/e7c5b9fb/attachment.html>
>> 
>> ------------------------------
>> 
>> Subject: Digest Footer
>> 
>> _______________________________________________
>> Coreaudio-api mailing list
>> [email protected]
>> https://lists.apple.com/mailman/listinfo/coreaudio-api
>> 
>> 
>> ------------------------------
>> 
>> End of Coreaudio-api Digest, Vol 15, Issue 101
>> **********************************************
> 

 _______________________________________________
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]

Reply via email to