最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

延時:一切數(shù)字設備的“原罪”

2022-11-26 19:15 作者:徐唯軼  | 我要投稿

延時:一切數(shù)字設備的“原罪”
一次學會 MIDI 控制器

徐唯軼

建個系統(tǒng)來提質增效降本
專欄:工程師聊音樂設備

2022-11-26

延時定義
在這里是指按下鍵、或踩釘?shù)扔|發(fā)部件后,開始觸發(fā) MIDI 指令,通過 MIDI 線傳輸,最后到達 MIDI 設備后,由最終 MIDI 響應的這一段時間。

延時,或者延遲,都隨著混用已經變得不易區(qū)別。似乎用“延時”描述因設備本身機制導致的時間差,比較多點。“延遲”似乎用于指效果多點。

英文的“Delay”有用于指延遲效果,也有用于延時的這個概念。而“Latency”則一般會特指延時。當然,在英文的對比說明中,也是容易混,只是目前工程師較習慣“Latency”。

數(shù)字設備,延時是天性

我們的世界是“模擬”的,不管是看的,聽的,還是接觸的?!澳M”意味著極大的信息量,我們可以類比膠片拍照。

“數(shù)字”是我們對“模擬”世界的抽象定義,將主要信息、主要節(jié)點經過模數(shù)轉換(ADC)變成 0、1 字節(jié)。然后通過數(shù)模轉換(DAC),變成我們可接觸的信息,如數(shù)字拍照。

膠片拍照在生活中已經離我們越來越遠,但與數(shù)字拍照比,膠片在質量上有個無以倫比的優(yōu)勢:精度。膠片在后期,可以放大很多倍,而數(shù)字就有極限。比如我們的相機,從300萬像素,500萬,1000萬,到現(xiàn)在1億等等。膠片說:“都是小朋友,我只負責從外太空拍街景”。
數(shù)字暫時還無法100%取代模擬:

一方面提升精度就意味著數(shù)據(jù)量增長。如我們用手機拍視頻,720p 一分鐘可能幾十m,4k 一分鐘就可能1G。這對設備都是一種負擔?;蛘哒f成本。

另一方面,人的感知存在邊界,精度再大,如果不放大,對最終用戶是無感的。正如壁紙只要和屏幕分辨率一致即可,再高的分辨率對最終結果不會有本質區(qū)別,或者說人享受不到分辨率增加的好處。

第三,就是我們討論的延時。數(shù)據(jù)量越大,處理時間越長,這是常識。所以在聲音領域,一方面是壓縮數(shù)據(jù)量,即采樣率在這么多年后,44.1kHz 還一直活躍著。另一方面提升芯片性能。


受限于數(shù)字的框架:數(shù)字處理時間,數(shù)字傳輸時間,數(shù)模轉換時間這三大項,多數(shù)數(shù)字音頻設備的設計基準為 5 ms(0.005 秒)。低于 5 ms 的設備就比較稀缺。
實戰(zhàn)中,5 ms 根本不算事,甚至我們演奏時,自己的節(jié)奏就經常在 +/- 5 ms 范圍波動。
但是數(shù)字設備經不起疊加,如 10 塊 5 ms 效果器串聯(lián),結果就是 50 ms 延時,這就有不跟手的感覺了。

所以數(shù)字設備就是因為延時,對實時要求高的場合,如效果器,就不推薦多串聯(lián)。通常 2-3 塊是極限了。
特別注意,數(shù)字效果器最佳方案是綜合效果器,因為有統(tǒng)籌規(guī)劃,多個效果器可以數(shù)據(jù)并行的方式,控制整體延時仍然在 5 ms。

MIDI 延時三大來源:觸發(fā)機制、合并機制、和傳輸速度

MIDI 是數(shù)字協(xié)議,所以天然具有數(shù)字設備的“原罪”——延時。

接下來將深挖什么在影響延時,影響有多大?

觸發(fā)機制
觸發(fā)是我們有意識,操作了設備,產生 MIDI 指令。在這過程中會存在一些不為人注意到的細節(jié),導致“延時”。

一、踩釘策略
相對 MIDI 鍵盤、打擊墊等設備,MIDI 控制器的踩釘,需要特別強調一下。

踩釘觸發(fā)后的指令在設備內部是瞬發(fā),然后在 OUT/THRU 口依據(jù)合并機制處理。

但部分為更好識別雙踩,如 1號 + 2號 釘同踩執(zhí)行某功能時,就會傾向將踩釘觸發(fā)形式,設定抬起為觸發(fā)。如果踩下后有慢抬習慣的用戶,就會人為造成延時。

注:在傳統(tǒng)音樂教學,和直覺中,下壓會定義成合拍,沒有強調馬上抬起。可參考指揮時,手下壓合拍后,會習慣繼續(xù)停留在下方位置。同樣用腳打節(jié)拍時,腳也會習慣停留,不抬起,因為這很省力。

二、踏板策略

表情踏板在 EXP/CTRL 口使用時,是模擬信息,嚴格說每個變化都有值。精度高、速度快。
但表情踏板接入 MIDI 控制器后,就是要被轉化成數(shù)字信號,然后傳輸出去。

MIDI 本身的速度不喜歡海量數(shù)據(jù),就像數(shù)碼相機在早期設備不發(fā)達的條件下,無法生產出1億像素的相機一樣,數(shù)據(jù)太大太多,會堵塞 MIDI 通道。

MIDI 識別踏板時,會“以一定間隔識別表情踏板",即設計之初就設定了延時。實測中,就見過 10 ms,20 ms 級的產品。

而對應的 MIDI 響應設備,即效果器,需要設計漸變來平滑兩個“臺階”樣的 MIDI 指令。這也導致反復波動的操作值會略小于踏板的數(shù)據(jù)值。如手動哇音就會感覺效果不佳。

以應用效果來看,10 ms 是能用級。在和表情踏板直插效果器對比時,也能被感知到差別。對于哇音這類反復動作的效果差點味道,對于漸強音(Swell)這類單向動作的效果就可以滿足使用了。

而 10ms 以上,如 20ms 級是無法使用的,會明顯感覺不跟腳,出現(xiàn)“我已經回踩了,怎么效果還在增長”的感覺。

另外 10ms 以下,如 5ms 級,暫時未接觸到,希望有哪位朋友推薦一下。

三、海量指令策略

少量指令基本是瞬發(fā)。5~6條指令這種,都是一次發(fā)送,壓著 MIDI 傳輸速度走。

但大量指令時,就不一樣了,會存在額外的延時。系統(tǒng)需要確保 IN 口的輸入指令,會被即時的轉發(fā)。如:6 條指令可能平均 0.9 ms/條,200 多條指令則平均 1.7 ms/條。

當然,這個海量僅僅相對 MIDI 1.0 協(xié)議,這是一份 1982 年的協(xié)議。

以上就是 MIDI 設備在觸發(fā)層面可能產生的延時,我們暫定有個最大 10ms(踏板刷新率)的延時吧。

合并機制

當 MIDI 控制器從上游,如電腦,收到一組 MIDI 指令,正向下游,如效果器,轉發(fā)時。

MIDI 控制器自己產生了一條指令,問:“怎么合并到一起?”

先上圖:

指令 A、B、C 正愉快的依次輸入

假設以極限 MIDI 1.0 速度,3,125 條/s,每條指令 0.32 ms/條。正從 MIDI 控制器的輸入口,排隊進入,然后再從輸出口,被轉發(fā)出去。

額外出現(xiàn)的指令 D

當 A 越過某判定點后,設備自身指令 D 觸發(fā)了,且在 A 后,B 前。注意圖中的藍線為假定的判定點。

如果設備自身不斷產生指令時,輸入新指令,也是同樣處理策略,不停將自身指令與轉發(fā)指令對比到達判定點的時間。

輸出 A、D、B、C

B、C 在原基礎上,就被向后順延了。

以基礎的 0.32ms/條 計算,就是延遲了 0.32ms。

如果考慮海量數(shù)據(jù)影響,延遲未知。

當然,還會有類似表情踏板的策略:將 A 視為緩沖單元,以 N ms 為一單元進行處理,每一單元處理 4 或 8 條指令,類似地鐵、高鐵的定時發(fā)車。那這個延時,就可能嚇人了。

實戰(zhàn)中,多是以一定的間隔處理,如 3ms,這個 3ms 發(fā)轉發(fā)指令,下個 3ms 發(fā)自身指令。
過程中,如果轉發(fā)指令只有 1 條,則會馬上切換到自身指令,如果轉發(fā)指令有很多條,則 3ms 內轉發(fā)了若干指令。然后發(fā)自身指令,接下再轉發(fā)收到指令。

目前只記得見過在海量數(shù)據(jù)下,轉發(fā)存在 3 ms 的印象。是 MIDI 控制器一邊不停發(fā)送,再由電腦發(fā)出指令,經 MIDI 控制器轉發(fā),檢查同一指令的發(fā)出時間,和收到時間。

注意:將 MIDI 控制器發(fā)出指令固定在通道1,電腦發(fā)出指令固定在通道10以上(兩位數(shù)),對查找指令比較有幫助。

此時,我們可以看出,在《轉發(fā):MIDI 設備必要的“小心機”》中,

"3、響應通道不轉發(fā):比如 MIDI 效果器接收通道1,則通道1的指令將不再轉發(fā),以減少 MIDI 指令流的信息量。但這種設計,會導致在 MIDI? 檢查時,無法確定效果器無動作時,是沒收到 MIDI? 指令,還是自身故障不執(zhí)行。不是很推薦,通常是電腦類軟件可考慮,因為方便監(jiān)控數(shù)據(jù),再針對性設計 MIDI 數(shù)據(jù)流方式。”

其設計原則就是為了減少指令,讓后續(xù) MIDI 設備減少負荷。

徐唯軼:轉發(fā):MIDI 設備必要的“小心機”:https://zhuanlan.zhihu.com/p/582980078

同樣,我們暫定合并機制延時有 3ms 吧。

傳輸速度

當指令已經發(fā)出,進入 MIDI 線,開始向 MIDI 設備前進。此時也有一個速度,即 MIDI 線中,0、1 變化的速度,和一條指令所需要占據(jù)的長度。

仍然是 MIDI 1.0,指令的極限傳輸速度:3,125 條/s。這是 MIDI 協(xié)議的定義。

當發(fā)出 256 條指令時,第一條與最后一條就相差:81.92 ms(256 × 1000 ÷ 3125)。

放在 BPM = 120 的歌曲中,一拍 = 500 ms(60×1000÷120)
延遲 ≈1/6 拍,不明顯,但對部分人來說,會略為感覺奇怪。

以回聲分辨率來說,回聲 ≥0.1s(100 ms)。
81.92ms 是無法分辨成回聲的,通常會感覺這個原聲被加強了。

但是以聲像分辨率:≥0.01ms,來進行分辨聲音的位置。
81.92ms 影響聲像,如果居中,還行,如果偏離,會產生比想像更大的偏離。

所以,如果第一條和最后一條指令是音符(出聲),人耳難以聽出 2 個聲音。但在合奏中,音頭(音量最大位置)會錯開,導致聽感差異,如電子樂的側鏈壓縮,避開底鼓的音頭。

同時,如果這個聲音涉及聲像(Pan)可能會導致聲像異常。如,缺少從 0 到 10 的變化。
實戰(zhàn)中,一方面會推薦減少無效指令,如:“響應通道不轉發(fā)”。

另一方面,是在最易出現(xiàn)多指令的場景下,如音樂開始前,對系統(tǒng)進行預設、參數(shù)調整的時候,會推薦停頓或空一小節(jié),讓非音符指令全部傳輸并響應完畢。

此外,還有一個不如人知的細節(jié),部分 MIDI 設備會主動降速,來適應老設備的條件。因為速率有差別時,會導致設備誤識別,這也是比較尷尬的情形。

此時,我們難以給出參考延時,因為傳輸數(shù)量、傳輸速率是難以界定的信息。
暫定 8 條指令基于極限速率吧,那就是 2.6 ms 延時。(8 × 1000 ÷ 3125)

個人使用可以忽略延時

其他,還有 MIDI 設備,如效果器,收到指令,進行解碼,執(zhí)行,這就無法明確了,暫時延時為 0 吧。

所以我們稍稍統(tǒng)計一下,就可能有:16 ms 延時。(10 + 3 + 2.6)。

作為個人使用,完全不用擔心,因為數(shù)據(jù)總量小,延時可以忽略不計。

作為樂隊使用,則需檢查線路,預置空小節(jié)等,減少延時的風險。

作為一墻的模塊化合成器,MIDI 延時就不能不考慮了,需要優(yōu)化各個環(huán)節(jié),來達到最佳體驗。

所以,MIDI 作為數(shù)字通訊,延時是必然的,有 MIDI 控制器本身的延時,也有多設備共同使用的延時,更有 MIDI 協(xié)議本身的速率影響。個人使用,數(shù)據(jù)量小,完全不用擔心,樂隊、樂園使用就需要研究一下。

當然 MIDI 2.0 已經發(fā)布,在速度上已經有了提升,只不過對于吉他手,MIDI 1.0 還是個新鮮事物情況下,整個行業(yè)還是 MIDI 1.0 居多。

以上就是《延時:一切數(shù)字設備的“原罪”》,接下來,我們將進入實際的指令分析環(huán)節(jié)。敬請期待。

延時:一切數(shù)字設備的“原罪”
一次學會 MIDI 控制器

徐唯軼

建個系統(tǒng)來提質增效降本
專欄:工程師聊音樂設備

2022-06-24

延時:一切數(shù)字設備的“原罪”的評論 (共 條)

分享到微博請遵守國家法律
漳平市| 澎湖县| 郁南县| 枣阳市| 个旧市| 信阳市| 成都市| 民勤县| 冀州市| 大同县| 林口县| 进贤县| 台江县| 吴堡县| 奎屯市| 海伦市| 青浦区| 新昌县| 玉山县| 射洪县| 洱源县| 班玛县| 海原县| 绥江县| 大渡口区| 武宣县| 井研县| 城口县| 文山县| 田林县| 镇平县| 七台河市| 辛集市| 日土县| 新兴县| 武隆县| 乡城县| 宣武区| 定安县| 沁阳市| 深泽县|