使用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 28 Python
浅析Python中MySQLdb的事务处理功能
Sep 21 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
pyqt5自定义信号实例解析
Jan 31 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
Jul 25 Python
python实现年会抽奖程序
Jan 22 Python
Python中正则表达式的用法总结
Feb 22 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
np.dot()函数的用法详解
Jan 17 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
JAVA及PYTHON质数计算代码对比解析
Jun 10 Python
基于python实现判断字符串是否数字算法
Jul 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
通过html表格发电子邮件
2006/10/09 PHP
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
PHP加密解密实例分析
2015/12/25 PHP
PHP在线书签系统分享
2016/01/04 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
用js实现随机返回数组的一个元素
2007/08/13 Javascript
Array.prototype.slice 使用扩展
2010/06/09 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
vue组件父与子通信详解(一)
2017/11/07 Javascript
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
Python实现的简单模板引擎功能示例
2017/09/02 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
解决DataFrame排序sort的问题
2018/06/07 Python
Sanic框架应用部署方法详解
2018/07/18 Python
浅谈python之自动化运维(Paramiko)
2020/01/31 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
一道写SQL的面试题和答案
2013/11/19 面试题
委托公证书范本
2014/04/03 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
七一表彰大会简报
2015/07/20 职场文书
校园运动会广播稿
2015/08/19 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
关于公司年会的开幕词
2016/03/04 职场文书