Re: [問題] 低延遲的一些概念想澄清

作者: Oswyn (Oswyn)   2020-09-28 12:42:13
※ 引述《dunhillli (a6214666)》之銘言:
: 一、
: 相較於數位設備,類比器材的速度較快也不會造成延遲,但目前在聲音的編輯處理上,時
: 常需要轉數位化,這也就是造成延遲的開始。
: =>
: 1.1現在所有方便取得的音檔,CD、線上音樂,都是由類比=>數位=>類比,換言之,延
: 遲是必然的?
: 1.2而延遲分主要為兩個部份,一個在於類比轉數位的過程,另一個則在數位轉類比的過
: 程,簡言之,在訊息傳遞的過程中,每傳一次就會損失一次,這也就是造成延遲的所在?
A to D + 後製當成為音檔輸出,過程中的 Latency 就消失了
可想成是隔離,因為不是實時而是轉換完成了所以 Latency 並不會傳遞到下一個階段
就像中秋烤肉,肉要烤熟要時間,開始烤到烤好入口的時間是 Latency
但如果你買現成烤好的,不用等也就沒有 Latency
(不過實際上沒有0延遲,還是會花時間點單付錢拿東西送進嘴)
D to A
買冷凍即食包,工廠生產與物流的時程與並不會算在「你」的感受中
所以並沒有對你產生 Latency 感
但要吃要微波 3min,這 3min 對你形成了 Latency
DA 的過程也一定會有 Latency
主要發生在傳遞的過程、數據傳遞幾乎都是以打包的方式傳送所以形成一定的延遲
與 DSP 處理需一定長度的資料,才能開窗分析頻率
計算過程反倒沒形成什麼延遲
其它、雖然不是專針對 BT 做解說
Android Audio's 10 Millisecond Problem: The Android Audio Path Latency
Explainer
https://superpowered.com/androidaudiopathlatency
對於什麼是 Latency (延遲) 可以參考上面這篇

補充下一些 Latency 的543
彈實體鋼琴、按下琴鍵時聲音會沒有任何延遲嗎?
答案是否
琴鍵透過槓桿趨動打擊槌、敲琴弦、發出聲音
過程會有延遲但很短,短到人類認為沒有什麼延遲
數位也是一樣沒有真的零延遲這種東西
Latency 一般只影響實時&需同步的應用
數位的 Latency 如果太長,如上面的彈琴的例子彈 MIDI Keyboard
如果按下 MIDI 琴鍵後聲音出來的太慢,慢到讓人覺得不同步了
那就是所謂的延遲太高,如果不會那延遲就是夠低
以 BT 來舉例的話,如果跟人通話時好像在講無線電的不順感
那就是延遲不夠低
延遲不影響音質、只影響同步與否的感受
作者: ultimatevic (龜龜龜)   2020-09-28 12:50:00
作者: addy7533967 (火爆刺香腸)   2020-09-28 12:59:00
推推
作者: gameguy (gameguy號:)   2020-09-28 13:09:00
卡 卡 的 動 次 動 次(不爽) 卡卡的動次動次(爽),GG
作者: djboy (雞尾酒)   2020-09-28 13:14:00
o大認真了
作者: greg7575 (顧家)   2020-09-28 13:50:00
每個人都同時延遲一步,巨觀上隊伍並沒有改變除非你的延遲跳來跳去的才會影響
作者: yamatai (迴避性人格障礙症)   2020-09-28 14:05:00
我知道這聽起來很像玄學 但是低延遲聲音真的比較好
作者: bh2142 (瀕臨絕種的Emacser)   2020-09-28 16:11:00
玄學喇
作者: Tosca (hi)   2020-09-28 16:15:00
其實是原文把Buffer和latency搞混了有緩衝的設計 你播放音樂必定會延遲一下才有聲音你要換下一首也是 他沒辦法馬上反應 一定會停一下這不叫延遲 這是有buffer的關係
作者: house09gbk (兔子)   2020-09-28 16:17:00
錯板了(?
作者: Tosca (hi)   2020-09-28 16:17:00
你如果不想要buffer 那jitter就會超大 音質會劣化chord M scaler在這點就超明顯 他buffer超大所以使用上就不會那麼方便 畢竟音質至上的結果就是犧牲方便
作者: mikemagic88 (Mikemagic88)   2020-09-28 16:30:00
buffer造成latency 還是延遲啊==
作者: Tosca (hi)   2020-09-28 16:32:00
buffer造成的latency是必然的 不是一般討論要降低的latency
作者: yamatai (迴避性人格障礙症)   2020-09-28 16:33:00
低 buffer 聲音也比較直接如果系統夠敏感 這些現象都很明顯 所以之前才會有人在玩超低buffer 超低 latency
作者: breadf ( Lifting Turn )   2020-09-28 16:35:00
latency是輸入和輸出時間差,所以要先定義輸入和輸出是啥才能討論,如果buffer是輸入輸出系統內的一環,那系統中說有buffer造成的latency也不算說錯現在通常會降低UX的地方通常在於影音的不同步,如果純聲音應該不會造成什麼感覺的修正一下,純聲音播放,如果是做錄音、混音,那latency就滿重要的了
作者: max8201 (我是一隻沙沙羊)   2020-09-28 16:54:00
延遲越高等效路徑越長,jitter會越高跟你打的比方其實沒什麼關係……
作者: znew1219 (NULL)   2020-09-28 18:10:00
錄音滿常遇到的問題,像是歌手聆聽即時收音結果會受ADC與DAC延遲影響,NV有個End to End延遲計算方式也可以參考從周邊到終端的延遲都納入計算https://news.xfastest.com/review/review-05/85172/nvidia-ldat-reflex/把影像處理換成音訊相關處理
作者: selnec (就是一隻毛貓)   2020-09-28 18:33:00
數位電路裡buffer的功用包含把路徑用clock切開,所以訊號路徑要重新從buffer處開始算
作者: bh2142 (瀕臨絕種的Emacser)   2020-09-28 18:35:00
有buffer+reclock 才沒有什麼等校電路越長jitter越多好嗎
作者: jacky850429 (MATA)   2020-09-28 21:07:00
雖然我都聽不懂但我還是覺得很厲害我覺得無線耳機音質不破方便就好不用要求太多
作者: max8201 (我是一隻沙沙羊)   2020-09-28 21:13:00
在場真的有人是做數位電路的designer嗎,以為buffer萬能?
作者: selnec (就是一隻毛貓)   2020-09-28 21:21:00
請m大解釋buffer怎麼影響jitter
作者: max8201 (我是一隻沙沙羊)   2020-09-28 21:24:00
沒有校正碼的情況下還是仰賴系統clock跟data的同步性去latch要有自檢的系統才會像你們想的那樣完全切開但有沒有可能這樣的jitter會導致data錯誤基本上我覺得也不太可能,所以不要誤會我的意思
作者: goldie (阿良)   2020-09-28 21:38:00
作者: greg7575 (顧家)   2020-09-28 21:44:00
jitter不會造成data錯誤
作者: e2167471 (喬妹)   2020-09-28 23:44:00
buffer越多的確會造成jitter啊 當你01不斷toggle的時候buffer內的dynamic power對系統都是負擔 做過power就知道power在意什麼 其中一項就是外部瞬間抽電另外buffer造成的latency越高的時候的確也有可能會造成訊號和的極少許不一致影響訊號品質 但這人耳能不能分辨我就不敢說了這就跟音樂人調音都是用耳朵聽而不是對調音器可能類似絕對波形 vs. 各種極細微不一致形成的你想要的波形
作者: selnec (就是一隻毛貓)   2020-09-29 01:32:00
單純buffer就讓power有問題的話其實訂spec的人問題最大…
作者: e2167471 (喬妹)   2020-09-29 15:40:00
power不會出問題 但是就是會有jitter呀講白了就是看你電容多大顆 瞬間抽電不可避jitter變糟也許不代表音訊就會變糟 我只是表達一個事實toggle越多對power負擔越大 你外部觀測不到 示波器勾下去看power就是變髒
作者: pameum (胖達)   2020-09-29 18:58:00
好專業的討論 所以有buffer必定會造成jitter的誤差嗎?

Links booklink

Contact Us: admin [ a t ] ucptt.com