Re: Live mixing; how does CA do it smoothly?
Re: Live mixing; how does CA do it smoothly?
- Subject: Re: Live mixing; how does CA do it smoothly?
- From: Bill Stewart <email@hidden>
- Date: Mon, 9 Dec 2002 17:51:46 -0800
I'd just connect the output unit to the limiter - have the callback
attached to the limiter... so far so good.
Then, for file writing just call the AudioUnitRenderSlice (for the V1
version) of the limiter and it will call your callback...
Bill
On Sunday, December 8, 2002, at 10:57 AM, Ben Kennedy wrote:
On 07.12.2002 at 6:19 pm -0500, Kurt Revis wrote:
The HAL mixing happens below the level of your application, so I don't
think there's any way you can directly get that data. If libsndfile
expects samples <= 1.0, that's what you should give it.
BTW, if you are using an output audio unit, you can see the audio data
after it is played by using AudioUnitSetRenderNotification(). (Look
for
kAudioUnitRenderAction_PostRender in the AudioUnitRenderActionFlags
passed to your callback.) I believe this will take into account the
output audio unit's volume.
Thanks for the suggestions Kurt.
It occurs to me that I might be able to mitigate the clipping problem
by
inserting a PeakLimiter AU in the chain. A (very quick) play with one
of
the AU demo apps shows it's got paramaters for attack/release/etc so it
might be a good automated solution.
There then lies the problem of getting output from the peak limiter.
Using render notifications would work during live playback, but not
suitable if I want to mixdown to disk without playing back in
real-time.
From reading the list it seems like using a Generic Output unit is the
ticket in this case. So my next question: is the generic output also
available under 10.1?
AUNTComponent.h implies there is a V1 unit at least under Jaguar,
which I
infer (being V1) is also available under 10.1. However, in a May 18th
message to this list Bill Stewart said "...this is a new audio unit
(Generic Output) that is available in Jaguar..." which implies this
isn't
the case.
(If there isn't any generic output under 10.1, what can I do? Can I
just
pull AudioUnitRenderSlice() on the peak limiter, or do I NEED to have
an
output unit?)
-ben
--
Ben Kennedy, chief magician
zygoat creative technical services
613-228-3392 | 1-866-466-4628
http://www.zygoat.ca
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.
--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________
__
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________
__
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.