使用 PyDub 将立体声音频拆分为单声道
如果您尝试处理或转录立体声音频文件,将立体声音频文件拆分为多个单声道音频文件非常有用。这是因为立体声音频在不同的通道上有 2 个音频源,这使得处理文件非常困难。将立体声音频文件拆分为单声道音频文件使这项工作更容易。
在本文中,我们将使用Pydub Python模块,该模块对于处理音频文件和修改它们非常有用。有关更多信息,请阅读这篇 Pydub 文章。
使用pip安装pydub:
pip install pydub
什么是立体声和单声道?
立体声音频:它是一个 2 声道音频,这意味着在聆听时两个或多个声源定位在左右两侧。这最常用于音频或视频流服务,其中可以从耳机的特定侧面听到不同乐器的声音。
单声道音频:它是单声道音频,这意味着所有声源只能通过一个声道听到。这意味着您将在耳机的左右两侧听到相同的声音。这是电话麦克风录制音频的格式。
文件夹结构
在名为 pydub 的文件夹中,我有名为 main.py 的Python代码文件,其中包含以下代码,以及一个名为stereo_audio.wav 的测试音频文件。
解释
- 从pydub导入AudioSegment
- 使用 AudioSegment.from_file() 方法将音频文件作为 AudioSegment 实例打开。
- 对文件调用 split_to_mono 方法,该方法将立体声音频文件拆分为左右声道音频,并返回一个列表,其中左声道 AudioSegment 对象位于 0 索引处,右声道 1 位于 1 索引处。
- 以所需格式导出/保存两个单声道音频文件。
Note: Remember to change the file paths according to your system.
执行:
Python3
# Python3 program to illustrate
# splitting stereo audio to mono
# using pydub
# Import AudioSegment from pydub
from pydub import AudioSegment
# Open the stereo audio file as
# an AudioSegment instance
stereo_audio = AudioSegment.from_file(
"C:\\Users\\NEERAJ RANA\\Desktop\\GFG_Articles\\pydub\\stereo_audio.wav",
format="wav")
# Calling the split_to_mono method
# on the stereo audio file
mono_audios = stereo_audio.split_to_mono()
# Exporting/Saving the two mono
# audio files present at index 0(left)
# and index 1(right) of list returned
# by split_to_mono method
mono_left = mono_audios[0].export(
"C:\\Users\\NEERAJ RANA\\Desktop\\GFG_Articles\\pydub\\mono_left.wav",
format="wav")
mono_right = mono_audios[1].export(
"C:\\Users\\NEERAJ RANA\\Desktop\\GFG_Articles\\pydub\\mono_right.wav",
format="wav")
输出:
输出视频: