fiogf49gjkf0d
		
				it seems even Thorsten do not believe computer source could be perfect and he just guide us to reach max from computer.
"
				
				
		
		
		
		
				
				
				
						The  computer is a great music server but also a source of jitter and 
other RF  interferences that are detrimental the sound quality, even 
when bit-perfect  reproduction is ensured."
						
						http://www.amr-audio.co.uk/html/dp777_tech-papers_OSX-Integermode.html
						
				
		---------------------------------------------------------------------------------------------------------------------------------
Beyond bit-perfect: 
The importance of the Player Software
And MAC OS X Playback Integer Mode
		      
		    
		      Damien  PLISSON, Audirvana developer
Abstract
In computer  audio, the player software replaces the CD drive as the 
transport feeding the  DAC. Ensuring bit-perfect output of the original 
audio signal is only a  pre-requisite, while minimizing jitter and RF 
interferences are still strongly  needed.
  This paper  explains the main factors impacting sound quality on the 
computer side, and the  means that have been implemented in Audirvana 
player and the AMR DP-777 DAC to  boost the audio experience to the next
 level above the normal iTunes.
  These main  means are bit-perfect, sample rate switching, asynchronous transfer and Integer  Mode.
Introduction: bit-perfect as the only goal or the myth  of the flat-square world
In the  world of digital audio, the caveats of the CD player are well
 known, namely the  read errors and the jitter induced by its mechanical
 transport.
  It is  widely thought that computer sources are immune to these 
issues, given that  they are faithful to the original signal, that is 
are bit-perfect.
  But  unfortunately the digital world inside a computer is not a 
flat-square world  composed of perfectly timed zeros and ones. The audio
 signal chain goes through  different elements whose each can alter the 
sound quality.
  In this  paper we’ll look in details at these, and see what a “source 
direct” solution  can be to minimize the adverse effects, and achieve 
very high sound quality,  better than nearly all the CD transports.
1. Sources of non-quality
Assuming  the output is bit-perfect, the computer as a source creates two main sources on  non-quality:
Software-induced jitter
Digital  signal is in fact an analogue waveform composed of two 
states separated by a  voltage threshold (1 if above, 0 if under). 
    As  presented in [MeitnerGendron91], the receiver detects the value 
change the  moment the analogue value crosses the threshold. In 
addition, the shift from  one state to another is not instantaneous but 
more slope like.
So a slight  change in the reference voltage of the source will lead to a slight temporal  shift in the value change detection.

Figure 1: Reference voltage induced jitter
So fluctuations in the source reference voltage create jitter, as 
explained in details in [HawksfordDunn96].
    This is the same on the receiver side with measurement threshold 
fluctuations from its power supply and/or ground instability. Moreover 
the computer can still cause this as the grounds are linked most of the 
time through the same signal cables. 
Computer  load means rapidly changing power demands from the CPU 
and its peripherals,  with peak demands that are directly related to the
 software behaviour.
Radio-Frequency & other interferences
In  addition, computation, disk access, … activities mean complex 
current waveforms  are carried on electrical lines and thus generate 
electromagnetic  interferences. Apple computers are now made of 
“unibody” aluminium cases that  are good protectors from inside RF 
interferences. But this is not sufficient as  the cables connected to 
the computer act as antennas.    And these current waveforms are also 
going back through the computer PSU, polluting the mains power supply.
2. The hidden audio filters of OS X
As a modern  operating system OS X needs to offer shared access to 
the devices including the  audio output to all running applications. But
 this is done at the expense of  pure sound quality:
Audio mixer
Fortunately  when only one application is playing audio, it doesn’t 
affect the signal and  thus is at least bit-perfect in this case.
Sample rate conversion	
In this shared model the device sample rate is not switched to match 
the original signal's, but it is this last one that is sample rate 
converted.
In addition a suboptimal algorithm is used to minimize the CPU load of this real-time operation.
Digital volume control
OS X offers through its mixer volume control (e.g. the one offered in
 iTunes). But as it operates on the digital signal, any volume value 
different from 100% means loss of bit-perfect and precision loss (e.g. a
 volume value of 25% means 2 bits precision loss).
3. The data transfer to the DAC
First way  to connect to the DAC is to use the build-in TOSLINK 
output of the Mac. But  this one should be dismissed for being too 
jittery for serious use.    
Strong  improvement comes by using “computer connection” to the DAC, being either USB  or FireWire.
      FireWire  has long been the interface of choice for the pro-market
 as it is made by  design to guarantee continuous streaming of AV data 
on large number of channels.  Anyway its complexity of use (installation
 of driver required, hot plugging even  strongly advised against by some
 manufacturers because of its potentially  harmful issues, …) and its 
unclear future have made USB the widely used choice.
      The first  type of USB devices are called adaptive (or synchronous), meaning the DAC clock is slaved to the computer’s continuous  stream of data.
      More recent  and advanced USB devices use asynchronous 
transfer mode where the DAC controls the flow of audio data, buffers it,
 and  uses its own stable-low-jitter clock. Thus it is immune to short 
interruptions  of USB stream (e.g. bus reset, other device burst 
transfer, …), and much less  prone to computer jittery clock.
This  combines the advantages of both worlds: ease of use of USB 
(no drivers), and  stability of FireWire. This is a great step towards 
sound quality, but it is  not decoupling completely the DAC from the 
computer, and the interferences,  software-induced jitter still apply, 
starting by following the ground loops.
4. The player software impact
First of all the player should ensure bit-perfect reproduction of the signal by:
    
- Adapting the DAC sample rate to each track native to avoid any unwanted sample rate conversion
- Taking exclusive access ("hog mode") of the device to prevent other opened applications from interfering
Furthermore, as we have seen in section 1, the computer load (and
 its variations) has an impact on sound quality. Minimizing such current
 demands and sources of interferences is key:
      
    
- Loading  tracks before playback (“memory play”)  to reduce disk access and its audible, power and RFI impacts 
- Minimizing synchronous CPU load taken for the  audio 
data streaming operations. In addition to reduce jitter, this also helps
  to reduce audible RF interferences patterns, especially in low 
frequencies
5. Further optimization at driver level: Integer Mode
Audio playback in OSX is usually performed through a high-level 
framework, the Audio Units processing graph  [AppleCoreAudio]. The first
 optimization of an audiophile player is to bypass these overhead 
facilities and address directly the CoreAudio lowest layer: the Hardware
 Abstraction Layer. (See figure 2)

Figure 2: Usual OS X file player vs Audiophile concept
      In normal  mode, all data exchanges performed across the 
user/kernel boundary are in PCM  32-bit float format, easing the 
different audio streams mixing process and  associated soft clipping. 
[AppleHAL_1]
      Note that  it is anyway still bit-perfect up to 24bit definitioniv.
Integer mode
Addressing  directly the HAL [AppleHAL_2] gives the possibility 
to bypass the two main  overhead processes of the above standard mode:
Field Programmable Gate Arrays
Mixing bufferFloat  to DAC native format conversion
Figure 3: Float vs Integer Mode
In Integer Mode (see figure 3) the player  software supplies
 a stream already formatted in the native DAC format, thus  optimizing 
synchronous CPU load at the driver level.
  These  operations performed inside the driver, in the kernel space, in
 real-time are  on the critical path for sound quality as they are the 
most synchronous, happening  at the very immediate moment of the data 
transfer to the DAC. So optimizing it  is of great benefit, and this is 
only applicable to compatible DACs that offer  this non-standard mode.
Conclusion
The  computer is a great music server but also a source of jitter and
 other RF  interferences that are detrimental the sound quality, even 
when bit-perfect  reproduction is ensured.
  The player  software needs to optimize and streamline the audio path 
to minimize these  adverse effects essentially linked to the processing 
load synchronous to the  audio streaming. Achieving “source direct”  in addition to “bit-perfect” is key.
This is what I’ve tried to get in the Audirvana player by 
streamlining  to the maximum the real-time operations that are limited 
to simple data  streaming in Integer Mode, while all the other processes
 (loading from disk,  decoding, converting to DAC native format) are 
done
Float mode
offline in a preparation phase, before playback. This is called full 
memory play.
  Best results are achieved when feeding an Integer Mode, asynchronous 
USB DAC like the AMR DP-777 that can take advantage of all these 
optimization features.
References
[HawksfordDunn96] Bits is Bits ? in Stereophile 03/1996
      [MeitnerGendron91] Time Distortions Within Digital Audio  Equipment Due to Integrated Circuit Logic Induced Modulation Products, Ed  Meitner and Robert Gendron, presented at the 91st AES Convention, New York,  October 1991, Preprint 3105
      [AppleCoreAudio] CoreAudio Overview: What is CoreAudio ? in Mac OS X Developer Library
      [AppleHAL_1] Audio Device Driver Programming Guide: A Walk  Through the I/O Model in Mac OS X Developer Library
      [AppleHAL_2] AudioHardware.h documentation in Mac OS  X Developer Library
 Replacing the HDD  by a SSD removes the directly audible mechanical 
noise but not the other issues  as it still requests important current 
waveforms to transit on lengthy wires.  And the OS overhead is still 
present.
  OSX Audio low level  subsystem typically requests data in 512 frames 
chunks, that is at a frequency  of ~86Hz for a 44.1kHz sample rate. 
  Note that  bit-perfect playback can still happen if all effect filters
 (including software  volume control) are deactivated. Thus stock iTunes
 can be bit-perfect.
  32bit float is  composed of 1 sign bit, 8 exponent bits and 23 bits 
for the mantissa. Thus  giving 24 bits of significant precision.
-------------------------------------------------------------------------------------------------------------------------
www.amiraudio.com, www.hifi.ir