Python sox仅在左或右频道创建和播放音调
我试图用python创建一个音调,并且只在左声道或右声道播放。我不知道如何指定在所选频道播放 以下是我目前的代码:Python sox仅在左或右频道创建和播放音调,python,sox,Python,Sox,我试图用python创建一个音调,并且只在左声道或右声道播放。我不知道如何指定在所选频道播放 以下是我目前的代码: import os frequency = 1000 #hz duration = 2000 #milliseconds os.system('play -n synth %s sin %s' % (duration/1000, frequency)) 我尝试过“混音”,但没有成功 谢谢你的帮助 我建议让sox在添加到python代码之前先输出您想要的内容。这应该是你想要的
import os
frequency = 1000 #hz
duration = 2000 #milliseconds
os.system('play -n synth %s sin %s' % (duration/1000, frequency))
我尝试过“混音”,但没有成功
谢谢你的帮助 我建议让sox在添加到python代码之前先输出您想要的内容。这应该是你想要的(先左后右) 您可能还存在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))
谢谢你的回答!是否有任何方法可以实现这种非阻塞,即在声音播放时开始播放声音并执行其他操作,而不是等到声音播放后再开始其他操作?如果使用
subprocess.Popen()
,则可以-请参阅
import os
frequency = 1000 #hz
duration = 2000 #milliseconds
os.system('play -n -c 2 synth %s sin %s remix 1 0' % (duration/1000, frequency))