[codec] draft-ietf-codec-oggopus: R128_TRACK_GAIN units
Mark Harris <mark.hsj@gmail.com> Mon, 08 September 2014 17:11 UTC
Return-Path: <markh.sj@gmail.com>
X-Original-To: codec@ietfa.amsl.com
Delivered-To: codec@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 329801A893F for <codec@ietfa.amsl.com>; Mon, 8 Sep 2014 10:11:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.101
X-Spam-Level:
X-Spam-Status: No, score=-0.101 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8A7OQrnQs268 for <codec@ietfa.amsl.com>; Mon, 8 Sep 2014 10:11:43 -0700 (PDT)
Received: from mail-ie0-x234.google.com (mail-ie0-x234.google.com [IPv6:2607:f8b0:4001:c03::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 44ED61A88FF for <codec@ietf.org>; Mon, 8 Sep 2014 10:09:50 -0700 (PDT)
Received: by mail-ie0-f180.google.com with SMTP id rd18so1217242iec.39 for <codec@ietf.org>; Mon, 08 Sep 2014 10:09:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=ghdsuZbsgg1sd6pKq6XwPONiRx5wbiyYaKXhEg2skrQ=; b=U4z19rPnlykMVqoWv8dDhXrHSAmQ09BNBzgoBmZGzgsoLSZWmoPawPHHY4ynOTMV5p D1q8G+W+uITHd+XQb77T1er0O7KVIqJvxXSI5aKVkTUL4gd9iKE8Q7L3TX1GFvxo1+d7 A8Z7m76BOO33AKXs2ahjgxtG08VAEGKk5SRrpj7SQgzrsvSBRK3O4NwD9I5NaJI+G6PU CdAPRlNzJeL3TkPYcaIxX/K4NPUkkec2efbMAAfl3lgRn/PnDIq8MbTvKYuIlXpoIWYP fd5KCD1tQkEtRws2/hDyJUL4/jPQzZDE9Afix6/feU4EQwhVtx6rIWdJ1MLp8cOWoCDV /OzQ==
MIME-Version: 1.0
X-Received: by 10.50.33.73 with SMTP id p9mr443735igi.24.1410196189646; Mon, 08 Sep 2014 10:09:49 -0700 (PDT)
Sender: markh.sj@gmail.com
Received: by 10.107.1.81 with HTTP; Mon, 8 Sep 2014 10:09:49 -0700 (PDT)
Date: Mon, 08 Sep 2014 10:09:49 -0700
X-Google-Sender-Auth: Dcu7lcyJ9l-j5oNixT7oOG3oxbU
Message-ID: <CAMdZqKGW7QvHwfKFyY1xNPJ0R=Roi0-_KPmm8oLZC2U4GY_NQA@mail.gmail.com>
From: Mark Harris <mark.hsj@gmail.com>
To: "codec@ietf.org" <codec@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: http://mailarchive.ietf.org/arch/msg/codec/7R8XUfJQY39XKJ1UU6kFM-VAwuY
Subject: [codec] draft-ietf-codec-oggopus: R128_TRACK_GAIN units
X-BeenThere: codec@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Codec WG <codec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/codec>, <mailto:codec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/codec/>
List-Post: <mailto:codec@ietf.org>
List-Help: <mailto:codec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/codec>, <mailto:codec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Sep 2014 17:11:45 -0000
The tags R128_TRACK_GAIN and R128_ALBUM_GAIN are specified by draft-ietf-codec-oggopus-04 to contain a level adjustment as a fixed point Q7.8 value; i.e. in the 1/256 LU units that are used in the output gain field of the Ogg Opus header. Is it expected that these units would be adopted by other codecs? Because tags are most often used for codec-independent metadata such as TITLE and ARTIST, code to handle them is often shared between formats and they may be copied when transcoding or remuxing. I am concerned that if Ogg Opus uses 1/256 LU units, and another format or codec uses the much more obvious LU (dB) units, then someone may be in for a jolt (or almost complete silence) when their player interprets a value intended to be in 1/256 LU units as being in standard LU units. Because there is an existing nearly universally used standard unit, it would seem to be much better to use that unit in tag values, especially if the value is a string with no units, in order to minimize the chance that the wrong units will be used and reduce confusion for people who are viewing or editing the text tags or converting or comparing with standard ReplayGain tags. It should not be necessary to be an expert on the Ogg Opus specification in order to be able to interpret the value of these tags, since there is no reason for such information to be codec-specific or container-specific. A related issue is the reference level. The EBU R128 reference level is -23 LUFS. Prior to EBU R128 a -18 LUFS reference level was commonly used, and there are other reference levels used in some specific contexts. Because the tag is used to normalize loudness of audio from different sources, possibly using different codecs, containers, and reference level standards, it would seem more sensible to put the actual loudness measurement in the tag, and let the player adjust it as needed to match the target loudness that it is using for all audio sources. In fact EBU R128 specifically recommends that "Loudness Metadata shall correctly indicate the actual Programme Loudness", not a gain adjustment. In light of these issues, would it not be better to record a TRACK_LOUDNESS tag in LUFS and an ALBUM_LOUDNESS tag (which would have the same value for all tracks that are part of the album) also in LUFS? In order to allow a player to adjust the loudness to any desired target loudness and dynamic range, ideally the loudness range and maximum true peak level would also optionally be available in a well-defined tag in order to allow the player to insert dynamic range compression if necessary. All of these tags should be codec-independent. As specified by EBU R128, loudness, loudness range, and true peak measurements should be made according to ITU-R BS.1770 and EBU Tech 3341. - Mark
- [codec] draft-ietf-codec-oggopus: R128_TRACK_GAIN… Mark Harris
- Re: [codec] draft-ietf-codec-oggopus: R128_TRACK_… Timothy B. Terriberry
- Re: [codec] draft-ietf-codec-oggopus: R128_TRACK_… Calvin Walton
- Re: [codec] draft-ietf-codec-oggopus: R128_TRACK_… Ron