← Back to team overview

ubuntustudio-bugs team mailing list archive

[Bug 608964]

 

Focusing on the title and steps to reproduce, I contend that this is
correct behaviour.

1. If rectangular dither is used on silence, 0.99 bits of noise are added, and quantization entirely eliminates the dither noise, so the silent audio is exported perfectly.
2. Whilst open, the '16bit' track is held as float values and operated on as float values.  There may be an envelope, panning and gain applied, which take the intermediate data outside the values 16 bit can represent.  

Just as Audacity cannot operate on Mp3 audio without round-trip losses,
so too, with its current architecture, Audacity cannot operate on 16 bit
without using float as an intermediate.  That's an architectural choice,
and a good one.

Our 16 bit format is held as float whilst in RAM.  That is good design.
We only pay a 'dither' tax for the extra precision on export or save.
An actual 16 bit internal format would be worse, as we would instead pay
a 'quantization tax' on every operation on the audio.  Since an envelope
or gain change IS an operation on the audio as far as the export stage
is concerned, we would almost always pay the 'quantization tax' on
export rather than as now the (lesser) dither tax.

Of course, just as Audacity could have been designed to allow cut and
paste and stepped amplification of Mp3 audio without round trip losses,
so too Audacity could have been designed to allow cut and paste of 16
bit format without round trip losses.  With it's current architecture it
comes very close indeed.

I'd recommend that when working in 16 bit format users select
rectangular dither.  That way cut and paste of 16 bit sources including
pure silence are unaffected, and at the same time quantization noise on
processed or generated audio is handled really well.  The shaped dithers
may handle the quantization noise very slightly better, but at the cost
of disrupting silence.

A possible enhancement request is to recommend rectangular dither when
16 bit format is selected as the default in prefs.

-- 
You received this bug notification because you are a member of Ubuntu
Studio Bugs, which is subscribed to audacity in Ubuntu.
Matching subscriptions: Ubuntu Studio Bugs
https://bugs.launchpad.net/bugs/608964

Title:
  Select-all + Export Selected produces different .wav file

Status in Audacity:
  Unknown
Status in audacity package in Ubuntu:
  Triaged

Bug description:
  Binary package hint: audacity

  Exporting the entirety of a .wav file produces a .wav file with
  different contents.

  This is surprising.  The "Original" file was actually produced by a previous export from Audacity,
  so I'm assuming there is nothing special about the format, at least nothing which Audacity does not understand.

  $ audacity Original.wav
  Control-A (select all of waveform)
  File->Export Selection to ExportedFromAudacity.wav
  File->Exit

  $ cmp Original.wav ExportedFromAudacity.wav
  ExportedFromAudacity.wav Original.wav differ: byte 57, line 1

  (I will attach demo files)

  ProblemType: Bug
  DistroRelease: Ubuntu 10.04
  Package: audacity 1.3.12-2
  ProcVersionSignature: Ubuntu 2.6.32-23.37-generic 2.6.32.15+drm33.5
  Uname: Linux 2.6.32-23-generic x86_64
  AlsaCards:
   0 [Intel          ]: HDA-Intel - HDA Intel
                         HDA Intel at 0xfbaf8000 irq 22
    1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                         HDA ATI HDMI at 0xfbbfc000 irq 34
  Architecture: amd64
  Date: Thu Jul 22 16:44:12 2010
  InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
  ProcEnviron:
   PATH=(custom, user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: audacity

To manage notifications about this bug go to:
https://bugs.launchpad.net/audacity/+bug/608964/+subscriptions