Re: Coreaudio-api Digest, Vol 10, Issue 230
Re: Coreaudio-api Digest, Vol 10, Issue 230
- Subject: Re: Coreaudio-api Digest, Vol 10, Issue 230
- From: Robert Thompson <email@hidden>
- Date: Wed, 28 Aug 2013 18:00:36 -0400
Great question below.
On Aug 28, 2013, at 3:00 PM, email@hidden wrote:
> Send Coreaudio-api mailing list submissions to
> email@hidden
>
> 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@hidden
>
> You can reach the person managing the list at
> email@hidden
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Coreaudio-api digest..."
>
>
> Today's Topics:
>
> 1. EXS24 parameters available in AUSampler on iOS? (ben kamen)
> 2. Re: EXS24 parameters available in AUSampler on iOS?
> (Douglas Scott)
> 3. Syncing multiple AudioFilePlayer audio units (Adam Bellard)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 27 Aug 2013 13:15:39 -0700
> From: ben kamen <email@hidden>
> To: email@hidden
> Subject: EXS24 parameters available in AUSampler on iOS?
> Message-ID: <email@hidden>
> Content-Type: text/plain; charset="utf-8"
>
> Hi,
> I've been experimenting with creating EXS24 instruments in Logic and loading them into AUSampler on iOS.
>
> It works but I get errors telling me that certain parameters are not supported such as:
> EXS24 filter fat not supported
> EXS24 filter drive not supported
> EXS24 instrument param 254 IGNORED (not in switch)
> Zone loop xfade not supported
>
> Does any one know of a reference list of EXS24 parameters that are supported for use with AUSampler?
>
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <https://lists.apple.com/mailman/private/coreaudio-api/attachments/20130827/35538d06/attachment.html>
>
> ------------------------------
>
> Message: 2
> Date: Tue, 27 Aug 2013 13:43:33 -0700
> From: Douglas Scott <email@hidden>
> To: "email@hidden Audio"
> <email@hidden>
> Subject: Re: EXS24 parameters available in AUSampler on iOS?
> Message-ID: <email@hidden>
> Content-Type: text/plain; charset="utf-8"
>
> No, there is no such list. It would be outdated quickly anyway, because of ongoing development.
>
> I will say that currently, many EXS24 filter settings are not supported under iOS due to CPU limits. For now if you
> want your instruments to be AUSampler-compatible under iOS, keep them 12dB low-pass with or without
> resonance, without FAT or Drive settings.
>
> There are only a few parameters which AUSampler currently treats as errors (i.e., will not load if it finds them).
> Reverse loops is the only one I recall.
>
> These comments are only guaranteed valid at the time I write this.
>
> -DS
>
> On Aug 27, 2013, at 1:15 PM, ben kamen <email@hidden> wrote:
>
>> Hi,
>> I've been experimenting with creating EXS24 instruments in Logic and loading them into AUSampler on iOS.
>>
>> It works but I get errors telling me that certain parameters are not supported such as:
>> EXS24 filter fat not supported
>> EXS24 filter drive not supported
>> EXS24 instrument param 254 IGNORED (not in switch)
>> Zone loop xfade not supported
>>
>> Does any one know of a reference list of EXS24 parameters that are supported for use with AUSampler?
>>
>>
>> _______________________________________________
>> 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
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <https://lists.apple.com/mailman/private/coreaudio-api/attachments/20130827/c3d244da/attachment.html>
>
> ------------------------------
>
> Message: 3
> Date: Wed, 28 Aug 2013 14:53:34 -0400
> From: Adam Bellard <email@hidden>
> To: email@hidden
> Subject: Syncing multiple AudioFilePlayer audio units
> Message-ID:
> <CAA1NzfeAxkcW1dkKhQ=email@hidden>
> Content-Type: text/plain; charset="iso-8859-1"
>
> I've got a AUGraph set up with multiple AudioFilePlayer audio units into a
> MultiChannelMixer. The files being played are isolated tracks from a music
> recording session. For example, a bass part, a drum part, and a guitar
> part. I need to schedule all AudioFilePlayer instances to play a region
> starting at exactly the same time. The issue I'm having is that when I
> schedule the new region, one or two tracks will occasionally be off by a
> bit (the guitar or drums or some track will be behind the rest of the
> instruments by a small but perceptible amount). I tried stopping the graph
> and resetting all of the AudioFilePlayer units, but the issue persists.
>
> I'm seeking to a particular part in a recording, like this (a lot of this
> is copied from Apple documentation):
>
> - (void) seekTo:(UInt32)sampleNum {
>
> regionSampleStart = sampleNum;
>
>
>
> bool wasPlaying = self.isPlaying;
>
>
>
> if (self.isPlaying) {
>
> AUGraphStop(processingGraph);
>
> }
>
>
>
> for (int i=0; i<sourceURLArray.count; i++) {
>
>
>
> AudioFileID audioFile = audioFiles[i];
>
> AudioStreamBasicDescription fileFormat = fileFormats[i];
>
> AudioUnit fileAU = fileAUs[i];
>
>
> AudioUnitReset(fileAU, kAudioUnitScope_Global, 0);
>
>
>
> //
>
> // calculate the duration
>
> UInt64 nPackets;
>
> UInt32 propsize = sizeof(nPackets);
>
> AudioFileGetProperty(audioFile,
> kAudioFilePropertyAudioDataPacketCount, &propsize, &nPackets);
>
>
>
> ScheduledAudioFileRegion rgn;
>
> memset (&rgn.mTimeStamp, 0, sizeof(rgn.mTimeStamp));
>
> rgn.mTimeStamp.mFlags = kAudioTimeStampSampleTimeValid;
>
> rgn.mTimeStamp.mSampleTime = 0;
>
> rgn.mCompletionProc = NULL;
>
> rgn.mCompletionProcUserData = NULL;
>
> rgn.mAudioFile = audioFile;
>
> rgn.mLoopCount = 0;
>
> rgn.mStartFrame = sampleNum;
>
> rgn.mFramesToPlay = (UInt32)(nPackets * fileFormat.mFramesPerPacket)
> - sampleNum;
>
>
>
> // tell the file player AU to play from seekTime to end of the file
>
> AudioUnitSetProperty(fileAU, kAudioUnitProperty_ScheduledFileRegion,
>
> kAudioUnitScope_Global, 0,&rgn, sizeof(rgn));
>
>
>
> // prime the fp AU with default values
>
> UInt32 defaultVal = 0;
>
> AudioUnitSetProperty (fileAU, kAudioUnitProperty_ScheduledFilePrime,
>
> kAudioUnitScope_Global, 0, &defaultVal, sizeof
> (defaultVal));
>
>
>
> // tell the fp AU when to start playing (this ts is in the AU's
> render time stamps; -1 means next render cycle)
>
> AudioTimeStamp startTime;
>
> memset (&startTime, 0, sizeof(startTime));
>
> startTime.mFlags = kAudioTimeStampSampleTimeValid;
>
> startTime.mSampleTime = -1;
>
> AudioUnitSetProperty(fileAU,
> kAudioUnitProperty_ScheduleStartTimeStamp,
>
> kAudioUnitScope_Global, 0, &startTime, sizeof
> (startTime));
>
> }
>
>
>
> if (wasPlaying) {
>
> AUGraphStart(processingGraph);
>
> }
>
> }
>
> I can think of two solutions: Setting startTime.mSampleTime to some
> appropriate point in the future for all audio units so that all of the
> files will play perfectly in sync. Is there a way to schedule future audio
> regions other than by the startTime.mSampleTime = -1 method?
>
> Another solution is to flush the AUGraph so that all AudioFilePlayers will
> need to render, with no staggering of scheduled regions. Is there a way to
> do this, akin to the AudioQueueFlush method?
>
> Thanks,
>
> Adam Bellard
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <https://lists.apple.com/mailman/private/coreaudio-api/attachments/20130828/99018c35/attachment.html>
>
> ------------------------------
>
> _______________________________________________
> Coreaudio-api mailing list
> email@hidden
> https://lists.apple.com/mailman/listinfo/coreaudio-api
>
> End of Coreaudio-api Digest, Vol 10, Issue 230
> **********************************************
_______________________________________________
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