使用Python实现音频双通道分离


Posted in Python onDecember 25, 2020

某些音频是双方对话,有可能需要对音频作通道的分离。

示例代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
音频双通道分离
"""
import sys
import numpy as np
from scipy.io import wavfile
from converter import mp3_to_wav


def split_channel(wav_path, left_wav_path, right_wav_path):
 """
 通道分离
 :param wav_path: wav音频的路径
 :param left_wav_path: 左声道的wav音频路径
 :param right_wav_path: 右声道的wav音频路径
 :return None:
 """
 try:
  sample_rate, wav_data = wavfile.read(wav_path)
  left = []
  right = []
  for item in wav_data:
   left.append(item[0])
   right.append(item[1])
  wavfile.write(left_wav_path, sample_rate, np.array(left))
  wavfile.write(right_wav_path, sample_rate, np.array(right))
 except IOError as e:
  print('error is %s' % str(e))
 except:
  print('other error', sys.exc_info())


if __name__ == '__main__':
 mp3_to_wav('input/test.mp3', 'tmp/tmp.wav')
 split_channel('tmp/tmp.wav', 'output/left.wav', 'output/right.wav')

其中调用了一个自定义的库,converter.py 加入了代码:

from pydub import AudioSegment


def mp3_to_wav(source, destin):
 """
 mp3 转 wav
 :param source:
 :param destin:
 :return None:
 """
 data = AudioSegment.from_mp3(source)
 data.export(destin, format='wav')

本代码示例可以生成两个通道分离后的 wav 文件。

注意:如果源文件的格式是 wav 文件,可以省掉转换格式的过程。

以上就是使用Python实现音频双通道分离的详细内容,更多关于python 音频分离的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python中定义结构体的方法
Mar 04 Python
python求解水仙花数的方法
May 11 Python
python使用wxpython开发简单记事本的方法
May 20 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
python机器学习之随机森林(七)
Mar 26 Python
python twilio模块实现发送手机短信功能
Aug 02 Python
pytorch 在sequential中使用view来reshape的例子
Aug 20 Python
python生成器推导式用法简单示例
Oct 08 Python
pandas的相关系数与协方差实例
Dec 27 Python
你需要学会的8个Python列表技巧
Jun 24 Python
python实现暗通道去雾算法的示例
Sep 27 Python
python各种excel写入方式的速度对比
Nov 10 Python
Python用户自定义异常的实现
Dec 25 #Python
Django前后端分离csrf token获取方式
Dec 25 #Python
在vscode中启动conda虚拟环境的思路详解
Dec 25 #Python
python语言time库和datetime库基本使用详解
Dec 25 #Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 #Python
用python对excel进行操作(读,写,修改)
Dec 25 #Python
python Pexpect模块的使用
Dec 25 #Python
You might like
php strcmp使用说明
2010/04/22 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
php获取文件类型和文件信息的方法
2015/07/10 PHP
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
代码详解JS操作剪贴板
2018/02/11 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Python实现句子翻译功能
2017/11/14 Python
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
linux环境下Django的安装配置详解
2019/07/22 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
学python最电脑配置有要求么
2020/07/05 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
自我鉴定模板
2013/10/29 职场文书
财务部出纳岗位职责
2013/12/22 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
校园达人秀策划书
2014/01/12 职场文书
会计专业自我鉴定
2014/02/10 职场文书
庆六一宣传标语
2014/10/08 职场文书
离婚协议书格式
2015/01/26 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技