📜  使用 PyDub 将立体声音频拆分为单声道

📅  最后修改于: 2022-05-13 01:54:36.805000             🧑  作者: Mango

使用 PyDub 将立体声音频拆分为单声道

如果您尝试处理或转录立体声音频文件,将立体声音频文件拆分为多个单声道音频文件非常有用。这是因为立体声音频在不同的通道上有 2 个音频源,这使得处理文件非常困难。将立体声音频文件拆分为单声道音频文件使这项工作更容易。

在本文中,我们将使用Pydub Python模块,该模块对于处理音频文件和修改它们非常有用。有关更多信息,请阅读这篇 Pydub 文章。

使用pip安装pydub:

pip install pydub

什么是立体声和单声道?

立体声音频:它是一个 2 声道音频,这意味着在聆听时两个或多个声源定位在左右两侧。这最常用于音频或视频流服务,其中可以从耳机的特定侧面听到不同乐器的声音。

单声道音频:它是单声道音频,这意味着所有声源只能通过一个声道听到。这意味着您将在耳机的左右两侧听到相同的声音。这是电话麦克风录制音频的格式。



文件夹结构

在名为 pydub 的文件夹中,我有名为 main.py 的Python代码文件,其中包含以下代码,以及一个名为stereo_audio.wav 的测试音频文件。

初始文件夹结构

解释

  1. 从pydub导入AudioSegment
  2. 使用 AudioSegment.from_file() 方法将音频文件作为 AudioSegment 实例打开。
  3. 对文件调用 split_to_mono 方法,该方法将立体声音频文件拆分为左右声道音频,并返回一个列表,其中左声道 AudioSegment 对象位于 0 索引处,右声道 1 位于 1 索引处。
  4. 以所需格式导出/保存两个单声道音频文件。

执行:

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


输出:

运行代码后的文件夹结构

输出视频: