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))
我正在尝试在 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))