Re: Increasing speed without increasing pitch
Re: Increasing speed without increasing pitch
- Subject: Re: Increasing speed without increasing pitch
- From: "Dave O'Neill" <email@hidden>
- Date: Fri, 18 Aug 2017 16:32:59 -0700
I've found that offline rendering pre iOS 11 requires some pretty hacky
hacks. Some of the nodes won't work while the engine is paused. In order
to get around that I subclassed AUAudioUnit and broke the render chain
manually while AVAudioEngine thinks everything is running.
Here's the AUAudioUnit Subclass.
https://github.com/AudioKit/AudioKit/blob/develop/AudioKit/Common/Nodes/Offline/OfflineRender/AKOfflineRendererAudioUnit.mm#L188
Dave
On Fri, Aug 18, 2017 at 3:29 PM, Waverly Edwards <email@hidden> wrote:
> 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:coreaudio-api-bounces+wedwards=
> email@hidden] *On Behalf Of *Waverly Edwards
> *Sent:* Friday, August 18, 2017 12:38 PM
> *To:* Chris Adamson <email@hidden>
> *Cc:* CoreAudio <email@hidden>
> *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@hidden
> <email@hidden>]
> *Sent:* Friday, August 18, 2017 9:30 AM
> *To:* Waverly Edwards <email@hidden>
> *Cc:* CoreAudio <email@hidden>
> *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@hidden> 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@hidden)
> Help/Unsubscribe/Update your Subscription:
> email@hidden
>
> This email sent to email@hidden
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Coreaudio-api mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
> email@hidden
>
> This email sent to email@hidden
>
>
_______________________________________________
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