使用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网络编程学习笔记(九):数据库客户端 DB-API
Jun 09 Python
Python中的ConfigParser模块使用详解
May 04 Python
python实现DES加密解密方法实例详解
Jun 30 Python
python 调用HBase的简单实例
Dec 18 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
python bmp转换为jpg 并删除原图的方法
Oct 25 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
ipad上运行python的方法步骤
Oct 12 Python
python递归调用中的坑:打印有值, 返回却None
Mar 16 Python
通过代码实例了解Python sys模块
Sep 14 Python
Python中tkinter的用户登录管理的实现
Apr 22 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实现jQuery扩展函数
2009/10/30 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
JS绘图Flot如何实现动态可刷新曲线图
2020/10/16 Javascript
python操作日期和时间的方法
2014/03/11 Python
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
Python字符串匹配算法KMP实例
2015/07/18 Python
Python使用functools实现注解同步方法
2018/02/06 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
pygame实现飞机大战
2020/03/11 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
大专毕业生简历的自我评价
2013/10/20 职场文书
大学学年自我鉴定
2013/10/28 职场文书
计算机专业推荐信范文
2013/11/27 职场文书
出国留学经济担保书
2014/04/01 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
2015中秋节晚会主持词
2015/07/01 职场文书