通过 PC 扬声器播放任意 PCM 声音?

通过 PC 扬声器播放任意 PCM 声音?

小时候我玩过一款 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

http://www.linuxquestions.org/questions/slackware-14/how-do-you-use-snd-pcsp-in-slackware-14-1-a-4175534306/

相关内容