使用python子进程调用sox

时间:2015-01-08 22:45:55

标签: python subprocess sox

我正在尝试使用subprocess.call运行sox命令,如下所示:

import subprocess
subprocess.call(['sox','-n','-b','16','output.wav','synth','2.25','sine','300','vol','0.5'])

虽然这个命令在unix命令行上运行正常,但在这里我收到以下错误:

OSError: [Errno 2] No such file or directory 

我也尝试使用os.system:

os.system('sox -n -b 16 output.wav synth 2.25 sine 300 vol 0.5')

我得到一个命令未找到错误。调用其他unix命令对我来说很好,例如。

subprocess.call(['say' ,'hello'])

有什么想法吗?我正在运行OS 10.8.4,python 2.7.6,sox 14.4.1。

3 个答案:

答案 0 :(得分:0)

切换到pysox可能是明智的,它为sox提供了python绑定。

答案 1 :(得分:0)

尝试使用cmdstring =" sox -n -b 16 relative_path / output.wav synth 2.25 sine 300 vol 0.5"

然后调用os.system(cmdstring)

答案 2 :(得分:0)

使用Shell = True进行以下操作:

->