我想使用 Tensorflow 对音频剪辑文件进行分类。但我的音频文件是
.opus
格式。根据我的研究,我需要它们采用 .wav
格式。
因此,我必须转换它们。我想在 Python 中执行此操作,因为我正在 Jupyter 笔记本中工作。我想对数百个文件执行此操作。
到目前为止我发现的所有都是这个命令行方法。我的问题是,一次对一个文件执行速度太慢。我想要一种可以循环遍历多个目录中的数百个文件并将它们全部转换的方法。
opus_path = 'something.opus'
wav_path = 'something.wav'
os.system(f'ffmpeg -i "{opus_path}" -vn "{wav_path}"')
如果您愿意,这显然可以循环应用:
for opus_path,wav_path in zip(opus_paths,wav_paths):
os.system(f'ffmpeg -i "{opus_path}" -vn "{wav_path}"')
from pydub import AudioSegment
def convert_opus_to_wav(input_path, output_path):
audio = AudioSegment.from_file(input_path, format="ogg")
audio.export(output_path, format="wav")
for file in glob.glob('folder/*.ogg'):
output_file = file[:-4] + '.wav'
convert_opus_to_wav(file, output_file)