Re: kAudioQueueProperty_CurrentLevelMeter values greater than 1
Re: kAudioQueueProperty_CurrentLevelMeter values greater than 1
- Subject: Re: kAudioQueueProperty_CurrentLevelMeter values greater than 1
- From: Brian Willoughby <email@hidden>
- Date: Mon, 12 Jan 2009 14:07:51 -0800
On Jan 12, 2009, at 13:40, Daniel Birns wrote:
I thought I saw a question about this in the last month, but can't
find it in my archives, so I apologize for repeating a question:
using kAudioQueueProperty_CurrentLevelMeter I get values greater
than 1, and wondered what's deal? The doc says values between 0 and
1.
Search the archives for the subject:
"iPhone kAudioQueueProperty_CurrentLevelMeter > 1.0"
... and you will find my reply from Oct 5...
Based on the overall concepts of CoreAudio, if you are seeing 'levels'
above 1.0, then that means they would clip if sent to an output device
or saved in a file without further processing. Normally, however,
CoreAudio allows levels to exceed 1.0 without clipping, because of the
floating point nature of the native / canonical format, so long as the
values are not converted to a fixed point format before the level is
brought down by some means.
I believe what is really meant by the property documentation is that
the values of the audio data itself should be between 0.0 and 1.0, but
it is understood that the meter will reflect the actual values even
when they exceed that expected range. Perhaps the documentation could
be improved to clarify the distinction between the input data and the
level meter values. A value of 1.0 represents 0 dBFS, but that is
only the standard reference level, not a hard limit (as would happen
with a fixed-point format).
You have a few choices here. If you are developing your own GUI for
metering, then you could implement some sort of 'OVER' indication to
alert users when they have gone beyond the expected range with their
audio data. Or, you could build in a few dB of headroom above 0
dBFS. Logic, for example, shows 6 dB of headroom in part of their
meter UI, and only beyond that does the meter stop indicating the
actual value.
Alternatively, you could make sure there is a limiter or some other
form of level control ahead of your meters to insure that 0 dBFS is
not exceeded before the Level Meter.
[snip]
Brian Willoughby
Sound Consulting
_______________________________________________
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