使用Python,如何将flac流转换为WAV流?

时间:2019-10-17 02:41:03

标签: python stream pyaudio

我知道我可以使用PyAudio.flac文件转换为.wav文件。但是我想知道是否可以以某种方式将其作为流而不用保存.wav文件吗?

当前,我有:

stream = open('84-121123-0000.flac', 'rb')

但是我想将该流转换为wav文件。任何帮助将不胜感激。明确一点,我不想保存.wav文件。相反,我想保留wav转换后的内容流。

2 个答案:

答案 0 :(得分:1)

您可以使用pydub库来轻松实现所需的功能:

from pathlib import PurePath
from pydub import AudioSegment

file_path = PurePath("test.flac")

flac_tmp_audio_data = AudioSegment.from_file(file_path, file_path.suffix[1:])

flac_tmp_audio_data.export(file_path.name.replace(file_path.suffix, "") + ".wav", format="wav")

Documentation

答案 1 :(得分:1)

在Linux中,您可以安装ffmpeg

sudo apt update
sudo apt install ffmpeg

在Windows中:从以下位置下载ffmpegFFMPEG Download,在Edit the system environment variablesPathNewC:\ffmpeg\bin\上设置环境变量

然后在Python中运行:

import os
os.system('ffmpeg -i inputfile.flac output.wav')

您可以将此输出用作临时文件,延迟3-5秒。