我正在通过一个新文件名,长度和版本的字典浏览一个大的wave文件。循环将各个切片导出为文件:
mix.export(key, format='wav')
但是,它将原始的24位文件转换为32位片。我一直在使用专业工具进行往返,以将文件恢复到24个,因为我既无法确定ffmpeg设置,也无法将切片引入子进程中。
我已经尝试过该主题的几种变体:
mix.export(key, format='wav', codec='pcm_s24le')
以及这个:
mix.export(k, format='wav', parameters=['ffmpeg', '-i', '-acodec', 'pcm_s24le', '-ar', '48000'])
在下面的子流程调用中,我似乎无法让单个切片工作。 key
是键值对中的文件名。这在32位导出中效果很好,但是不确定当需要调用切片的临时文件(例如/var/folders/vc/q7jggn7900l099w45463lgx40000gn/T/tmpw_6mxyg8
)时如何使其工作。
subprocess.call(['ffmpeg', '-i', key,
'-acodec', 'pcm_s24le', '-ar', '48000', 'output.wav'])
希望查找与原始输入格式完全相同的切片:
mix_file = AudioSegment.from_wav(file_name)