引用:
作者inlemar
喔, 謝謝Fabio 兄的資訊, 目前我還是以桌機的使用方便為主, 耳機系統是使用電腦時"搭配"聽一下, 目前不要破音我就很滿意了. 還是聽兩聲道非用電腦做訊源比較多一些!!
以您以及其他網路上的資訊, 看起來那天我得弄一台專聽音樂的電腦或是搞個RamOS 來聽耳機才能真正達到像您這麼低Latency 的境界了. 小弟先不強求了. 
|
其實個人覺得沒必要執著在這, 以異步XMOS usb為例, 不管你快或慢, 都還是要進FIFO(buffer), 再重新以自己的晶振產生的clock輸出給DAC, 除非Latency過程會去修改數位內容(個人覺得不太可能), 不然意義不大.
如果真的要驗證也非常簡單:
1. 在high/low Latency情形下, 直接從dac的rca接到錄音設備, 直接錄一段, 比較看看有無delay.
2. 直接找個人幫你切換個十幾次, 亂數在high/low Latency情形下, 看是否有差.
USB Audio Design Guide
3.6.4.2 USB Rate Control
The Audio core must consume data from USB and provide data to USB at the correct
rate for the selected sample frequency. The USB 2.0 Specification states that the
maximum variation on USB packets can be +/- 1 sample per USB frame. USB frames
are sent at 8kHz, so on average for 48kHz each packet contains six samples per
channel. The device uses Asynchronous mode, so the audio clock may drift and run
faster or slower than the host. Hence, if the audio clock is slightly fast, the device
may occasionally input/output seven samples rather than six. Alternatively, it may
be slightly slow and input/output five samples rather than six. Figure 9 shows the
allowed number of samples per packet for each example audio frequency.
See USB Device Class Definition for Audio Data Formats v2.0 section 2.3.1.1 for
full details.
Frequency (kHz) Min Packet Max Packet
44.1 5 6
48 5 7
88.2 10 11
96 11 13
176.4 20 21
192 23 25
Figure 9:
Allowed
samples per
packet
To implement this control, the decoupler core uses the feedback value calculated
in the buffering core. This valueis used to work out the size of the next packet it
will insert into the audio FIFO.