Re: [codec] draft-ietf-codec-oggopus and "album" gain

Calvin Walton <> Mon, 04 August 2014 18:41 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 6BB201A00FC for <>; Mon, 4 Aug 2014 11:41:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id QstNHguuCmzI for <>; Mon, 4 Aug 2014 11:41:01 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4001:c05::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id A6B7F1A0110 for <>; Mon, 4 Aug 2014 11:40:04 -0700 (PDT)
Received: by with SMTP id l13so5822414iga.10 for <>; Mon, 04 Aug 2014 11:40:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=google; h=message-id:subject:from:to:cc:date:in-reply-to:references :content-type:mime-version:content-transfer-encoding; bh=ytkgxBxd0B3NrGT7GWjuDrG1N4KciiuxTg3wASK3IUk=; b=YajLcOpTFeUyKvqrB/cKXVmKJ+plq/bIWmK+iR9Rj6V4NrKWdXfBoTCrJ24UjJBDWG PlyTbn8qrlLgYGnVI41OBkG/vGejmLNIbDemNcSyDnM42+kS64ZwNRCfarnk0uilXShF zxBnYKuk9ttRJobJIlY4F4smpRu53QTiw2yCU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:content-type:mime-version:content-transfer-encoding; bh=ytkgxBxd0B3NrGT7GWjuDrG1N4KciiuxTg3wASK3IUk=; b=KLT1kKnzqwzCVMZsTukd43Br2SBng9d3EBohFxoZ1NfBI8n6av5VFaD0ZlJI2aoPmz gM/pLQbu5WCNdUjGJUQPJOg7Y8FBWORoAw+TEK7glaV1SZY7ZPWRzjFsVtI4UIZS1hRX TlmavXcr+b01URU+I2xq69zBygpo34nRK/lilhYMkYpwf9uNTwBQiei8UKOKLQ15yRiW 4VlGppLKHowashTIAa2NRMT0mlxS4hfwcjPgE8FIJgul1TAg62MYFaL9mkdVJtdj/Bfk 5NWXYj2HS+YunPpOg+e5BLyUKpGzjPtr2PHRj8GnCynHlv3BlCo2UTw/xB4Aeb8hOvhj RMyg==
X-Gm-Message-State: ALoCoQkJoY30gWSHhFKqIpxnvEW85KW+JXamLvgDxlgkhp9NUEjeZmVPnnvAHFRV++79PDlv4NYZ
X-Received: by with SMTP id rv1mr40513995igb.13.1407177603888; Mon, 04 Aug 2014 11:40:03 -0700 (PDT)
Received: from [] ([]) by with ESMTPSA id y14sm10638223igg.0.2014. for <multiple recipients> (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Aug 2014 11:40:03 -0700 (PDT)
Message-ID: <>
From: Calvin Walton <>
To: Gregory Maxwell <>
Date: Mon, 04 Aug 2014 13:40:00 -0500
In-Reply-To: <>
References: <>
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.12.4
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [codec] draft-ietf-codec-oggopus and "album" gain
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Codec WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 04 Aug 2014 18:41:06 -0000

Hi, I noticed a typo in the diff; see the inline note below.

Note that I'm still of the opinion that there should not be any language
in the spec that explicitly disallows use of the REPLAYGAIN_*_GAIN tags
as implemented in Vorbis; the use of these tags in Ogg Opus is already
interoperable with many applications including Rockbox, GStreamer-based
players like Rhythmbox, and foobar2000 (when added manually via an
external tool).

Perhaps there should be something that states that if both R128_*_GAIN
and REPLAYGAIN_*_GAIN tags are present, the application should use
either one set or the other, but not attempt to apply both.

On Thu, 1970-01-01 at 00:00 +0000, Gregory Maxwell wrote:
> There have been a comments from a number of implementers that their
> applications would like to know if "album" gain adjustment had been
> performed on a track. An album gain is a feature the replaygain
> tagging has which allowed the dynamics within a collection of tracks
> to be preserved while still normalizing the collection overall.
> Right now, the draft just recommends the encoder store it in the
> header gain field— which works okay but doesn't allow a player to know
> for sure which gain is being applied.
> To clear this up I'm proposing we add a R128_ALBUM_GAIN which works
> just like R128_TRACK_GAIN and which can be set to zero when the header
> gain matches the album gain.
> Here is a diff against the current draft:


> -An Ogg Opus file MUST NOT have more than one such tag, and if present its
> - value MUST be an integer from -32768 to 32767, inclusive, represented in
> +An Ogg Opus file MUST NOT have more than one of each tags, and if present
> + their values MUST be an integer from -32768 to 32767, inclusive,
> represented in
>   ASCII with no whitespace.
> -If present, it MUST correctly represent the R128 normalization gain relative
> - to the 'output gain' field specified in the ID header.
> -If a player chooses to make use of the R128_TRACK_GAIN tag, it MUST be
> - applied <spanx style="emph">in addition</spanx> to the 'output gain' value.
> +If present, REPLAYGAIN_TRACK_GAIN MUST correctly represent the R128

This should be "R128_TRACK_GAIN"

> _______________________________________________
> codec mailing list

Calvin Walton <>