正在将.aiff音频文件转换为。

2024-05-17 16:47:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python脚本转换一些音频文件。源文件夹包含.wav.aiff音频文件,具有不同的比特率和采样率。在

输入文件示例

enter image description here

我需要所有的音频文件转换到单声道16位44.1khz.wav

输出文件示例

enter image description here

目前,我成功地使用pysoundfile库打开并将.wav文件写入/转换为PCM_16类型。在

我不知道怎么做,就是把.aiff文件转换成.wav个。在

我知道Python用aifc库处理.aiff文件,但它似乎没有包含任何类型的转换功能。在

我怎么能做到呢?在


Tags: 文件脚本文件夹示例类型音频文件pcm比特率
2条回答

免责声明:这可能不是您要寻找的答案,因为它不是“Python only”;但是,当我试图在一个大Python脚本中处理媒体文件时,我发现这种方法比搜索和阅读所需的每种媒体格式的一堆库文档更容易。在

安装一个媒体转换器(例如,我使用FFmpeg),它的命令可以从Windows命令行或Linux终端执行。然后可以从Python脚本调用以下命令:

from subprocess import call 
call('ffmpeg -i D:/Audio/IN/sample.aiff -acodec pcm_s16le -ac 1 -ar 44100 D:/Audio/OUT/sample.wav')

(这里“-ac1”表示1个音轨,也就是说,我们转换成单声道)你也可以用类似的方法从任何视频格式中提取音频。在

这不是问题。您已经使用的soundfile模块支持现成的AIFF文件。只需指定文件名,您就完成了!在

您可以使用函数soundfile.available_formats()获取受支持格式的列表。 soundfile模块在引擎盖下使用libsndfile库。他们的主页上有一个list of supported formats(其中包含AIFF)。在

就像@Wolfram提到的,当然也可以使用FFmpeg来代替。 另一个很好的音频转换外部工具是SoX。在

相关问题 更多 >