小时候我玩过一款 DOS 游戏,叫做电体。
该游戏做了一些令人惊奇的事情 - 它通过 PC 扬声器播放 PCM 样本。不是蹩脚的方形嘟嘟声——它播放了真实的声音特效!
与电脑扬声器发出的常见蜂鸣声相比,它非常安静,但它是一种全新的音质。在那场比赛之前或之后我从未听到过这样的事情。
我想知道 - GNU/Linux 中是否有一种方法可以通过 PC 扬声器播放任意 PCM 声音流,除了 beep 命令发出的“嘟嘟声”之外?我可以通过它播放 WAV 或 Ogg 文件吗?
除了发出一些复杂的噪音会很酷之外,人们还可以将其用作模拟电压控制输出 - 对于任何疯狂的 DIY 项目。
答案1
我没有可以测试它的系统,但 ALSA 似乎可以提供到 PC 扬声器的输出映射。仅供参考,有很多页面都说这是一个坏主意,因为该驱动程序旨在作为“玩具”而不是一般用途(它会消耗大量 CPU 周期),但也就是说,这应该有效:
# Load the PC speaker driver
sudo modprobe snd-pcsp
# Reload ALSA to find the new driver
sudo alsa force-reload
# You should now see pcsp (pcspeaker) as an ALSA output option
sudo aplay -l
选择声卡作为您的输出并享受乐趣!
资料来源:
http://wiki.archlinux.org/index.php/PC_speaker#ALSA
http://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture#Set_the_default_sound_card