• 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: Mixing manually vs. Mixer AudioUnit and avoiding clipping
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mixing manually vs. Mixer AudioUnit and avoiding clipping


  • Subject: Re: Mixing manually vs. Mixer AudioUnit and avoiding clipping
  • From: David Reaves <email@hidden>
  • Date: Fri, 18 Jun 2010 22:07:41 +0200

When summing multiple sources of audio of equal volume, but whose signals are NOT coherent (i.e., totally unrelated program in each source), they will not sum to a 6dB (2.0x) increase as would identical programs, but rather 3 dB (1.414x). In other words it is more like a summation of power, rather than voltage.

So a mixer can sum channels, pretty reliably without clipping, with a reduction of input gain of -3 dB (0.707) per input more than one (-3dB * N-1 inputs).

Example:
2 sources summed: each source's gain in to the mixer should be dropped by 3 dB (multiply each by 0.707).
3 sources: each should be dropped by 6 dB (multiply each by 0.707 squared, which is 0.5).
4 sources: each should be dropped by 9 dB (multiply each by 0.707 cubed, which is about 0.35), etc.


If you have, say, 30 inputs, you could seriously compromise the signal to noise ratio by following that rule, so typically you use the number of inputs that are *actually* used at any one time, rather than the total number of available inputs.

Also, if you have adequate internal overhead above 1.0, you can more simply multiply the summation rather than each individual input.

Dynamic processing is not needed or warranted.

David Reaves



On Fri, 18 Jun 2010 11:58:57 -0700, <email@hidden> wrote:

On Jun 18, 2010, at 11:44 AM, Gregory Wieber wrote:

You have to think in terms of the max output signal being "1". You need to divide that by the number of busses you have and set the volume for each bus accordingly.


I tried something like that but it didn't work very well. Take, for instance, the case where you have one note playing, 5 notes are silent and two notes are playing at very low levels. Dividing the mixed signal by 8 is not going to sound right.

I think the trick is to reduce the volume of the very high notes, but not to reduce the lower notes.

Google has pointed me to some articles on compression or Dynamic Range Compression... maybe that's the direction I need to move in...



_______________________________________________ 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
  • Follow-Ups:
    • Re: Mixing manually vs. Mixer AudioUnit and avoiding clipping
      • From: Admiral Quality <email@hidden>
  • Prev by Date: Re: Mixing manually vs. Mixer AudioUnit and avoiding clipping
  • Next by Date: Re: Mixing manually vs. Mixer AudioUnit and avoiding clipping
  • Previous by thread: Re: Mixing manually vs. Mixer AudioUnit and avoiding clipping
  • Next by thread: Re: Mixing manually vs. Mixer AudioUnit and avoiding clipping
  • Index(es):
    • Date
    • Thread