我想在 Ubuntu 上生成 PWM 信号。我第一次尝试使用siggen
包。启动时signalgen
出现以下错误:
$ signalgen -v sin 120
signalgen Ver. 2.3.10 (May 2008) Digital Signal Generator
/dev/dsp : DAC Opened for output
22050 mono, signed 16 bit, little endian, samples/sec.
8192 bytes per DAC buffer.
[signalgen] Invalid argument : Sound card doesn't support format requested.
$ sudo signalgen -v sin 120
signalgen Ver. 2.3.10 (May 2008) Digital Signal Generator
[signalgen] Input/output error : /dev/dsp
怎么了 ?
答案1
最后一个提供支持的 Ubuntu 版本/dev/dsp
是 10.04。此后,对它的支持/dev/dsp
被取消。
为了能够继续使用依赖于/dev/dsp
兼容性包装器的旧软件垫片它将声音输出重定向到dsp
正在运行的 pulseaudio 服务器。我们可以用以下术语使用此包装器:
padsp [options] APPLICATION [arguments ...]
padsp signalgen -v sin 120
通过这种方式,我们也可以播放信号发生器到我们的声卡。OSS 兼容层将作为依赖项安装信号 。
如果我们不想直接输出声音,我们可以signalgen
直接写入原始音频文件,然后使用 ALSA 播放此文件aplay
signalgen -w filename -t 5 sin 120 & aplay filename
filename
请注意,如果已经存在,signalgen 将退出。
不需要兼容层的生成波的更好方法是能够直接寻址 ALSA 或 PuleAudio 的应用程序。
袜子 。
Sox 将安装命令行实用程序玩它不仅可以播放声音文件,还可以生成音频波形并为其添加效果:
play -n synth sine 120.0 gain 0.0