sox 仅在左声道或右声道上创建和播放音调

sox create and play tone only on left or right channel

我正在尝试在 python 中创建一个音调并仅在左声道或右声道上播放。我不知道如何指定在所选频道上播放。

到目前为止,这是我的代码:

import os

frequency = 1000 #hz

duration = 2000 #milliseconds

os.system('play -n synth %s sin %s' % (duration/1000, frequency))

我尝试过“混音”,但没有成功。

感谢您的帮助!

我建议先让 sox 输出您想要的内容,然后再添加到您的 python 代码中。这应该可以满足您的要求(先左后右)。

play -n -c 2 synth 2 sin 1000 remix 1 0
play -n -c 2 synth 2 sin 1000 remix 0 1

您可能还遇到了 sox 的默认设备问题。 play 只是 sox -d 的别名,即使用默认设备进行输出。要检查这个,或者如果你想输出到一个文件,你可以使用这个:

sox -n -c 2 left.wav synth 2 sin 1000 remix 1 0
sox -n -c 2 right.wav synth 2 sin 1000 remix 0 1

您的 python 代码可以像这样合并:

import os    

frequency = 1000 #hz

duration = 2000 #milliseconds

os.system('play -n -c 2 synth %s sin %s remix 1 0' % (duration/1000, frequency))