Super-Mario-Bros

為什麼原版超級瑪利歐兄弟中的某些事件會導致音樂失真?

  • August 21, 2016

在 1985 年的原始超級瑪利歐兄弟NES 遊戲中,某些短期事件以及與之相關的聲音似乎經常會導致當時播放的任何背景音樂出現波動和失真。例如,當人們在背景音樂中的一個音符開始的同時撿起一枚硬幣時,該音符通常會調製到不同的音高或在硬幣撿起聲音結束後完全消失。跳上或擊敗敵人也經常在音樂中產生失真。為什麼是這樣?是否有與 NES 控制台的聲音或硬體限制相關的解釋?

(誠然,這個問題可能被誤導了,因為我的 NES 幾年前就壞了,從那以後我一直在玩超級瑪利歐兄弟的 Wii 虛擬控制台版本。但我似乎確實記得原始遊戲中發生的故障,並且如果他們願意,他們並不是無法消除現代版本中的這些扭曲。)

導致調製的原因有點難以解釋。在播放過程中音樂/聲音失敗的方式有很多種,但調製通常發生在使用不正確的設置播放一組音符時。這可能是由於程式錯誤,或者(在這種情況下)硬體錯誤,當系統太快地中斷聲道而延遲前一個音符衰減時。我強烈建議查看這個影片 The 8-Bit Guy關於在舊系統上工作的聲音/音樂

(skipped to the NES explaination)

The biggest takeaway here is that the NES has 5 voice channels to work with, but four of that five where locked to one type of sound.

  • Voice 1 - Pulse/Square
  • Voice 2 - Pulse/Square
  • Voice 3 - Triangle
  • Voice 4 - Noise
  • Voice 5 - PCM Sample

In the video, they break down Super Mario Bros 2’s background song and shows each of the voices used. What’s not shown is where sound effects would come into play.

Doing a bit of research, I loaded up Super Mario Bros and turned off all the sound channels except for one.

The thing to notice here is that you can hear the coin sound effect, but it has to interrupt the song being played. (In this case, I found that the coin sound effect was being played on Voice 2 - Square 2.) Notice that the jumping sound effect isn’t heard, (it’s on a different voice channel), and the rest of the background song is muted as well. It’s possible that the modulation you’re hearing is a special instance of picking up a coin at the same millisecond of the track restarting.

引用自:https://gaming.stackexchange.com/questions/282737