使用 Python 中的 SoX 来提高 mp3 比特率

使用 Python 中的 SoX 来提高 mp3 比特率

我正在尝试使用 Python 编写的使用 SoX 的音频存档程序中增加 mp3 的比特率。

以下是部分代码:

    #fullHour is a boolean
    DeltaSeconds = chunk['TimeDelta'].total_seconds()
    fullHour = (3540 < DeltaSeconds < 3660 )        
    targetMp3 = ''.join((tmpFolder, '/', str(x), '.mp3'))
    if fullHour: # no trim necesary, just convert to mp3
        # print tab,'fullHour [',str(x),']'
        # print tab,'    ','SourceOgg -> ', str(SourceOgg)
        # print tab,'    ', 'targetMp3 -> ', str(targetMp3)
        cmd = ['sox', SourceOgg, targetMp3]
        print cmd
        call(cmd)

这是我尝试过的:

cmd = ['sox', SourceOgg, '-C 192.2', targetMp3]

根据文档,这应该可行。以下是完整项目:汽车查理

源文件是 ogg(采样率 44100、每样本位数 32、比特率 499 kpbs)。

我在我的 Ubuntu 机器上的命令行中运行了这个程序,它运行完美:

sox old.ogg -C 192.2 new.mp3

所以我相信这是在 python 中运行命令所特有的。我可能遗漏了语法中的某些内容?

任何想法都将不胜感激,谢谢!

答案1

这真的很简单。你说的命令有效,sox old.ogg -C 192.2 new.mp3在数组表示法中看起来像这样:

[ 'sox', 'old.ogg', '-C', '192.2', 'new.mp3']

注意每个空间开始一个新参数,因为它没有被引用或转义。

相关内容