• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: kAudioQueueProperty_CurrentLevelMeter values greater than 1
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


References: 
 >kAudioQueueProperty_CurrentLevelMeter values greater than 1 (From: Daniel Birns <email@hidden>)

  • Prev by Date: kAudioQueueProperty_CurrentLevelMeter values greater than 1
  • Next by Date: Re: Question regarding recording and accounting for drift
  • Previous by thread: kAudioQueueProperty_CurrentLevelMeter values greater than 1
  • Next by thread: Audio Timing on iPhone
  • Index(es):
    • Date
    • Thread