OSX相当于管道声音到linux的播放

seb*_*piq 5 audio macos

在Ubuntu上,我可以aplay通过将脚本的输出传递给aplay的stdin来播放从脚本中生成的声音:

./generate_sound.py | aplay -r 2000 -c2 -f MU_LAW
cat sample.wav | aplay
Run Code Online (Sandbox Code Playgroud)

有没有办法在OSX中从终端做同样的事情?我认为afplay不支持这个......

也许有人知道另一个OSX命令行声音播放器可以做到这一点?

Rhy*_*man 6

我对重定向/管道寄予厚望,但afplay /dev/stdin <<< $(generate_sound.py)我尝试的所有格式都失败了。遗憾的afplay是,它不允许您指定格式,因此它会尝试嗅探它,这可能涉及寻找不适用于管道的格式。

我认为你最好再找一个命令行播放器。sox似乎是一个不错的候选人。和!它可以通过自制程序安装:brew install sox并且您可以像这样将数据传输到它:

cat whatever.raw | play -t raw -e floating-point -b 32 -c 2 -r 44100 -

  • 我发现 mpv 运行良好 - `nc(地址)| mpv -` 在我的例子中。 (2认同)