560 likes | 577 Views
Bits is Bits? Right? Check Again. George Blood, Safe Sound Archive Joint Technical Symposium Oslo, Norway Monday, May 3, 2010. Typical Playback Chain. Analog source. Analog-to-digital converter. Digital Audio Workstation. Digital File. Physical Carrier of Files. Typical Playback Chain.
E N D
Bits is Bits? Right?Check Again. George Blood, Safe Sound Archive Joint Technical Symposium Oslo, Norway Monday, May 3, 2010
Typical Playback Chain Analog source Analog-to-digital converter Digital Audio Workstation Digital File Physical Carrier of Files
Typical Playback Chain Analog source Analog-to-digital converter } Digital Audio Workstation Digital File Physical Carrier of Files
From ADC to Digital File ADC Digital Output (AES-3) Cable/patching/switching Digital Audio Workstation: Interface: AES-3 to FW/USB/etc. Driver Computer: CPU/Bus/etc. Software OS/Drivers Storage interface/drivers: FW, USB, SATA, FC, iSCSI Storage Device (HDD) Digital File
Disappointments • Don’t mention brands • Don’t tell you our solution • Very pervasive problem • http://www.avpreserve.com/wp-content/uploads/2010/01/Digital_Audio_Interstitial_Errors.pdf
Disappointments • Planned to announce a software tool to automate this testing….
Tested Hardware • Lynx AES16 • M-Audio (96 and 192) • M-Box • Metric Halo ULN-2 • Nagra V • SonicStudio 302 (aka ULN2+DSP)
Tested Software • Boom • Metric Halo Console • ProTools LE (Mac) • Sonic Solutions HDSP • Sonic Studio soundBlade • SoundForge • WaveLab
Tested OS • Mac OS9 • Mac OS X • Windows 98 • Windows Home • Windows ME
Tested Drivers • Stock drivers (mostly) • OS stock drivers • Hardware bundled drivers • Dedicated Drivers • OS 9 (Sonic Solutions) • OS X (SonicStudio & MH)
Tested Storage • Fat32 • FibreChannel (2Gb, RAID5) • FireWire 400 • HFS+ (SCSI Ultra160) • HFS-extended • SATA
Not Tested • Audacity • AudioCube • [Bias Peak] • iSCSI • ProTools HD • ProTools LE (PC) • Pyramix • RME • ADC to FireWire
Testing Multiple Components Simultaneously • A b 1 • A b 2 • B b 1 • B b 2 • A a 1 • A a 2
Finding errors • 100% Listen • Inefficient • Unreliable • Software verification • Doesn’t certify authenticity • Limited parameter testing • Unreliable
Finding Errors • Null Test: • 2 presumed identical files • Sample-accurate alignment • Invert polarity • Add together • If a1=a2, then a1 - a2=0
Testing for 2 parameters • Time • Number of samples • Amplitude • Number of bits
from: http://www.avpreserve.com/wp-content/uploads/2010/01/Digital_Audio_Interstitial_Errors.pdf
Bits vs. samples missing • 1010101010101010 • 1010101011101010
Bits vs. samples missing • 1010101010101010 • 1010101011101010
What happened? • New Hardware • Failure • Reviewed set up with engineer • Failure • Reviewed old systems • Failure • Simplified Test • Finally some passes • Failures continue between identically configured systems
Qualifying a Control • Round Robin Test • A≠B • B≠C • A=C • …B is wrong
Qualifying a Control • Assumes only one variable at play • Host • I/O Hardware • Driver • Application …test configuration
Hardware in hand • SonicStudio • Great editor • Semi-proprietary file types • Non-destructive editing • No support for WAV or BWF output • No AES-31 ADL support • Nagra V • Simple • Self-contained • Can’t change variables • (other than resolution)
Results • Null tests passed • Every time • Always • Validates testing procedures
Talent Pool • Head of QA with physics background • 2 experienced audio engineers • 2 dealers • 2 outside technical engineers
Tech “support” • Universally appalling • Short attention span • Don’t understand concepts • Always some other link in chain • Regional sales reps care more • Engineer curious but unable to help
Computer code “traps” • Intractable problem buried in code • Build routine to watch for it • Applies fix • Efficient solution
Computer code “traps” • Masking (aka “hiding”) problem! • Little crossfades at glitches • Other lies…
Very small error in Null Close up
Incomplete Null Non-zero offset
Calculating size of error • “Normalize” difference signal • Increases gain to zero headroom • 1 bit = ~ 6dB • Normalizing amplitude divided by 6dB equals # of bits (amplitude) of difference…
Calculating size of error • 90dB / 6 dB = 15 bits
Incomplete Null Spectrum of difference signal
Conclusion • Not passing 24 bits • Truncating at 16 bits • Dithering 16th - 24th bits • More noise but Lower distortion than truncating at 16 bits and dithering 17-24
Struggling to keep up Different bit depth, all non-zero Example 3 drops samples
Struggling to keep up Example 1 & 2 Normalized -- “properly” dithered