ZX Spectrumの1ビットブザーで高品質デジタルオーディオを鳴らす
Digital Audio on the ZX Spectrum's 1-Bit Beeper
ZX Spectrumの全モデルに搭載された1ビットブザーから高品質なデジタルオーディオを出力する技術を解説。著者は2度の書き直しを経て、8kHzサンプリングのPCM再生を実現。実機とエミュレータで動作確認済みだが、音量が非常に小さく、サンプル用のRAMがほぼ全メモリを占有するという実用上の制限もある。
回路には容量があり、スピーカーには質量がある。だから1ビット信号が0から1へ、あるいはその逆へ実際に移行するには時間がかかり、さらにスピーカーのコーンが実際に動いて音波を生み出すまでにも時間がかかる。
HNでの議論
14- socializer
8ビット時代にこういうことをするのは、別にそこまで難しい話じゃなかった。難しかったのは、これをやりながら他のこともやるってことだ。音声合成だけでCPUをほぼ丸ごと使うことになるからね。ゲームだと、映像の計算、ゲームの状態、サウンドの間で本当に厳しいトレードオフがあって、サウンドはたいてい後回しにされた。
ハードウェアでグラフィックのスプライトや音声生成をサポートしていた8ビットコンピュータのほうが、たとえCPUが非力でも、すべてが良く見え、良く聞こえた理由でもある。そして16ビットのグラフィックがなぜあんなに良く見えたのか、その語られざる話でもある。CPUの問題というよりは、専用のビデオカード/チップセットが独自のメモリを持ち、ポリフォニックサウンドやMIDIシンセシスを扱うサウンドカードがあった、ということなんだ。
- urbandw311er
Spectrumのゲームで、スピーカーから何かの合成音声が流れてきて、時代をはるかに先取りしているように思えた記憶がある。たしか『iBall』というゲームだったはず。サンプルは「Fight iBall!」みたいなことを言っていた。これって記憶違いかな?それとも熱にうかされた夢だったのかな?
- musha68k
制約だらけのおかげで、ZX Spectrumは趣味のプログラミングには最高のシステムなんだよな。去年のSpectrum Nextの最新ロットを逃したのは残念でならない。