如果我有MP3文件,我该如何将其转换为WAV文件? (最好使用纯python方法)
答案 0 :(得分:60)
我维护了一个开源库pydub,它可以帮助你解决这个问题。
from pydub import AudioSegment
sound = AudioSegment.from_mp3("/path/to/file.mp3")
sound.export("/output/path/file.wav", format="wav")
一个警告:它使用ffmpeg来处理音频格式转换(除了wav文件,python本身处理这些文件)。
注意:您可能不应该在GAE上执行此转换:/即使它 支持ffmpeg。虽然
,EC2将是一个很好的匹配工作答案 1 :(得分:5)
答案 2 :(得分:3)
如何看待这个:
Python Audio Tools
答案 3 :(得分:3)
这对我有用:
import subprocess
subprocess.call(['ffmpeg', '-i', 'audio.mp3',
'audio.wav'])
答案 4 :(得分:2)
安装模块pydub
。这是Python的音频处理模块。该模块可以打开许多多媒体音频和视频格式。您可以使用pip
安装此模块。
pip install pydub
如果尚未安装ffmpeg,请安装它。您可以使用包裹管理器来做到这一点。
对于Ubuntu / Debian Linux:
apt-get install ffmpeg
准备好后,执行以下代码:
from os import path
from pydub import AudioSegment
# files
src = "transcript.mp3"
dst = "test.wav"
# convert wav to mp3
sound = AudioSegment.from_mp3(src)
sound.export(dst, format="wav")
检查此link以获得详细信息。
答案 5 :(得分:-3)
在对sbery2A答案的评论中,你说你想把一个MP3解码功能放到Google App Engine中。
您唯一可能的希望是使用Python将MP3数据发送到另一台服务器,并在该服务器上进行MP3解码,然后将解码后的数据发送回App Engine服务器。通过在服务器上实际进行MP3解码,Google不会让你对App Engine服务器的CPU造成沉重的负担。谷歌也阻止你运行任何C代码;请参阅App Engine常见问题解答。您甚至不允许生成子流程或使用Python线程。
App Engine确实有Java API。我刚检查并发现Java MP3 decoder,它是LGPL,所以你不必担心许可证。
我不知道是否有任何方法可以从App Engine中的Python代码调用Java代码,但您可能会尝试查看。