• 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: iPhone kAudioQueueProperty_CurrentLevelMeter > 1.0
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: iPhone kAudioQueueProperty_CurrentLevelMeter > 1.0


  • Subject: Re: iPhone kAudioQueueProperty_CurrentLevelMeter > 1.0
  • From: Brian Willoughby <email@hidden>
  • Date: Sun, 5 Oct 2008 15:53:58 -0700

Mark,

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 between 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.

All of the above comments refer to general CoreAudio situations. I see that you're dealing with recording, and I assume this is from an input device. Perhaps there is an input gain which is causing the samples to exceed the normal range. I know that many of the built-in microphones have as much as 12 dB of gain, which I usually manually set to 0 dB to avoid clipping. If you're exceeding 1.0 levels when recording, there is probably something that needs to be adjusted ahead of the meters.

Brian Willoughby
Sound Consulting


On Oct 5, 2008, at 15:26, Mark Kieling wrote:
I am seeing values > 1.0 returned from AudioQueueGetProperty for the property kAudioQueueProperty_CurrentLevelMeter while recording with AudioQueue. The documentation says that results for this property should be between 0 and 1.0. What am I missing here and how should I interpret the values?


_______________________________________________
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: 
 >iPhone kAudioQueueProperty_CurrentLevelMeter > 1.0 (From: Mark Kieling <email@hidden>)

  • Prev by Date: Re: looking for a list of audio units for iPhone, Is there a way to implement effects like distortion with out using audio units?
  • Next by Date: Re: looking for a list of audio units for iPhone, Is there a way to implement effects like distortion with out using audio units?
  • Previous by thread: iPhone kAudioQueueProperty_CurrentLevelMeter > 1.0
  • Next by thread: AU with side chain in DP6
  • Index(es):
    • Date
    • Thread