在 Linux 中,我曾经使用以下命令,它接受音频输入、应用混响和音调变化效果,然后将结果输出到指定的音频设备。
sox -r 44100 -t alsa hw:1 -t alsa hw:0 reverb 1 50 10 50 pitch 100
在 mac/OSX 上,我安装了命令行音频实用程序sox
,我可以使用-d
(默认音频设备)录制或播放音频,但我无法让 sox 执行与我在 Linux 中执行的相同的实时音频操作。我认为关键是找出要为选项指定-t
什么
答案1
事实上,诀窍在于 1. 指定-t coreaudio
设备名称,然后 2. 弄清楚使用什么作为设备名称。
设备名称的用途:
$ sox -V6 -n -t coreaudio junkname
<snip>
sox INFO coreaudio: Found Audio Device "Built-in Mi"
sox INFO coreaudio: Found Audio Device "Built-in Ou"
sox INFO coreaudio: Found Audio Device "Scarlett 2i"
完整命令行:
sox -r 48000 -t coreaudio "Scarlett 2i2 USB" -t coreaudio "Built-in Output" reverb 1 50 10 50 pitch 100
我能够使用 -V6 输出中显示的缩写名称以及系统偏好设置下的声音设置中看到的全名成功运行该命令。
操作系统:Mojave/10.14、Darwin 18.7.0 Darwin 内核版本 18.7.0:2019 年 10 月 12 日星期六 00:02:19 PDT;root:xnu-4903.278.12~1/RELEASE_X86_64 x86_64