I thought, just as possible I could make this work by accessing the underlying 
audiounit and setting the parameter for kAudioUnitProperty_OfflineRender 
directly but I got an error -10851, kAudioUnitErr_InvalidPropertyValue although 
the headers state there is an offline version of the unit.  Undeterred, I 
accessed the auAudioUnit and set myPitchRateUnit.auAudioUnit.isRenderingOffline 
= true, however if I immediately go back and check the value, it is still false.

I’ve run out of ideas and will gladly accept any ideas that anyone else has.

Thank you,


W.

From: Coreaudio-api 
[mailto:[email protected]] On Behalf Of 
Waverly Edwards
Sent: Friday, August 18, 2017 12:38 PM
To: Chris Adamson <[email protected]>
Cc: CoreAudio <[email protected]>
Subject: RE: Increasing speed without increasing pitch

>> And it can go more than double-speed (I think the limits are 1/32x to 32x)

Wow.  I constantly listen to spoken audio at 2-4x (my limit) so I tried 
listening at rate from 5-32 using AVAudioUnitTimePitch .  That is off the 
charts fast.

This works perfectly under normal conditions.  I couldn’t be more pleased.  
However, my conditions aren’t the norm.
I am rendering offline by start playing the audio, immediately pausing the 
engine, then pulling AudioUnitRender.
This has worked fantastically with all the effect so far but with 
AVAudioUnitTimePitch, the audio render never occurs.  I’m guessing because this 
is a converter as you said.  I’ll try some other converters to see what the 
outcome.

Player -> TimePitch -> Mixer -> OutputNode

If I bypass TimePitch, while offline rendering everything works as expected.  
I’ve been trying to determine if you can signal the unit to render offline.
So far I haven’t found a way to do this. Is there a way where I can make this 
work while rendering offline (engine paused)?


Thank you for the insights.  They were a massive help.

W.

From: Chris Adamson [mailto:[email protected]]
Sent: Friday, August 18, 2017 9:30 AM
To: Waverly Edwards <[email protected]<mailto:[email protected]>>
Cc: CoreAudio 
<[email protected]<mailto:[email protected]>>
Subject: Re: Increasing speed without increasing pitch

Just use AUNewTimePitch (or whatever it’s called) by itself. That’ll change 
rate without changing pitch. And it can go more than double-speed (I think the 
limits are 1/32x to 32x)

Note that this unit is of type format converter, not effect, because you of the 
differing counts of input and output frames.

—Chris

On Aug 18, 2017, at 8:41 AM, Waverly Edwards 
<[email protected]<mailto:[email protected]>> wrote:

Would someone provide some guidance on how you can take an audio file and speed 
it up without changing the pitch.
I was working yesterday and I added AVAudioUnitVarispeed unit to my engine and 
increased the speed by 2.  It worked, however I found output to have the 
chipmunk sound.
Would you use a AVAudioUnitTimePitch unit to lower the pitch to compensate or 
is there a better way to achieve this outcome?

I would like to increase the speed by more than a rate of 2.  Is there a reason 
why I couldn’t daisy chain two AVAudioUnitVarispeed units together?

Lastly, is there a way to know how many audio frames were produced after the 
effect completed.  Since I have a change in time, the number of frames coming 
in are not the same number going out.

Thank you,


W.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      
([email protected]<mailto:[email protected]>)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/coreaudio-api/invalidname%40gmail.com

This email sent to [email protected]<mailto:[email protected]>

 _______________________________________________
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