| 论坛- FC DPCM相關信息集中貼 |
作者:
winterkuifa 创建时间: 2024 09 07 23:46
标题:
FC DPCM相關信息集中貼*本文「DPCM」指Famicom/NES RP2A03 APU的第五個發聲通道,即Delta Modulation Channel(DMC),而不是差值編碼(Diffrential Pulse Code Modulation 差分脈衝編碼調製)。現在一般混用「DMC」和「DPCM」,本文不專門區分這兩種名稱。
一、DPCM介紹
1.原理
DPCM即Delta Pulse Code Modulation 調製脈衝編碼,FC的2A03芯片使用的是1bit DMC,一次用一个比特位来存储波形。
如果对比一下同樣是1bit的同級PCM,它只有两个状态:低、高,這樣放音樂的音質,類似於學校喇叭音量開太大時的爆電平失真;這時DPCM這種占用同等空間、效果還不錯的調製方式就顯得十分有用了。
DPCM有個「Delta」,並不直接存儲波形,而是用1個比特位儲存下一時刻波形的上(1)下(0),且波形變化的幅度被限制,使得最後播放出的波形看起來有連貫性。採樣率約為33452Hz(Pitch 15,接近C)。
(在現代音樂上,類似的有1bit DSD,調製方法很像,但DSD是用超高的採樣率來彌補信息的不足,如DSD 256,採樣率高達11.2MHz。)
這個「波形連貫性」導致DPCM完全無法處理高頻信息(如隨機噪聲)。如果直接導入高頻波形進入DMC,只會得到失真。相反,DPCM很適合處理低頻信息,比如用作貝斯,即著名的「SUNSOFT黑科技」,就是把一套貝斯採樣了進去。
一些人會問,這麼麻煩,為什麼不直接用PCM?答案很簡單:沒錢。直接儲存PCM波形,即無損音樂,佔用的空間極大,在那个存儲空间就是黄金的年代,显然不可能;况且FC這個弱雞6502CPU的機能壓根支撐不起PCM音頻流的播放。
(直接把數據寫入DAC地址其實可播放7bit PCM音頻,这样做需要大量ROM、RAM和全部的CPU時間,播放音樂時,同時運行遊戲想都不要想。效果在B站上有視頻)
既然DPCM好处这么多,为什么前期游戏都不用呢?
首先,虽然DPCM省空间,但也不是不占空间。随便一个采样几百字节,几个就用上KB了!要是放上一
而且1bit DPCM由于其本身的特性,也不适用于放旋律。就算你财大气粗想采样一套钢琴,空间有得是,直接88个采样塞进去,效果也不会太好。
而且,没有给静音准备的bit位!如果波形是一条水平直线,转换成1bitDPCM,就是"01010101010101010101……",听着就是响度小、频率高的噪音。放大看就如同城墙
因此,DPCM多用于无音高的简短打击乐器。什么?你想要混响?建议回家做梦,梦里啥都有…
那,SUNSOFT的DPCM放贝斯是什么黑科技??
这个……未完待续!
(寫於2024/5/4,9/8修改)
winterkuifa 2024 09 08 22:11主题作者鄧寧-克魯格效應
The Dunning-Kruger effect
指個體在完成某一項任務、計畫時,對自身真實能力所產生的認知誤差。
能力較弱的人,容易過分高估自身的能力,超出自己的實際水平,使自己盲目自信,也就是所謂的「無知者無畏」
Eason20000 (2024 09 08 21:45):
你还要咕咕咕到什么时候(
Eason20000, (((
寫不出來(
回复 |
引用举报