Как преобразовать WAV из стерео в моно в Python?

Я не хочу использовать другие приложения (например, sox) - я хочу сделать это в чистом Python. Установка необходимых библиотек Python в порядке.

2 ответов


Если WAV-файл закодирован PCM, вы можете использовать wave. Откройте исходный и конечный файлы, прочитайте образцы, усредните каналы и запишите их.


Я поддерживаю библиотеку с открытым исходным кодом,pydub, что сделать это довольно просто

from pydub import AudioSegment
sound = AudioSegment.from_wav("/path/to/file.wav")
sound = sound.set_channels(1)
sound.export("/output/path.wav", format="wav")

одно предостережение: он использует ffmpeg для обработки конверсий аудиоформатов, но если вы используете только wav, это может быть чистый python.