С Python, как я могу преобразовать поток FLAC в поток WAV? - PullRequest
0 голосов
/ 17 октября 2019

Я знаю, что могу использовать PyAudio для преобразования файла .flac в файл .wav. Но мне интересно, могу ли я как-то сделать это в виде потока и не нужно сохранять файл .wav?

В настоящее время у меня есть:

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

Но я хочу преобразоватьэтот поток в wav файл. Любая помощь будет принята с благодарностью. Просто чтобы прояснить, я не хочу сохранять файл .wav. Вместо этого я хочу сохранить поток wav преобразованного контента.

Ответы [ 2 ]

1 голос
/ 22 октября 2019

В Linux вы можете установить ffmpeg:

sudo apt update
sudo apt install ffmpeg

В Windows: загрузить ffmpeg в: FFMPEG Загрузить , установить переменные окружения в Edit the system environment variables, Path, New, C:\ffmpeg\bin\

Затем запустите на Python:

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

Этот вывод можно использовать как временный файл с задержкой 3-5 секунд.

1 голос
/ 17 октября 2019

Вы можете использовать pydub lib, чтобы легко выполнить нужную вам функцию:

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")

Документация .

...