使用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定时器使用示例分享
Feb 16 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
对numpy中数组元素的统一赋值实例
Apr 04 Python
python实现关键词提取的示例讲解
Apr 28 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
Aug 08 Python
python requests包的request()函数中的参数-params和data的区别介绍
May 05 Python
查看keras各种网络结构各层的名字方式
Jun 11 Python
聊聊python中的异常嵌套
Sep 01 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
Nov 02 Python
使用Python实现音频双通道分离
Dec 25 Python
Python函数式编程中itertools模块详解
Sep 15 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 特殊字符处理函数
2008/09/05 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
2018/02/09 Javascript
Node使用Nodemailer发送邮件的方法实现
2020/02/24 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
python中split方法用法分析
2015/04/17 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
selenium+python实现基本自动化测试的示例代码
2021/01/27 Python
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
环境工程大学生自荐信
2013/10/21 职场文书
演讲比赛获奖感言
2014/02/02 职场文书
公司户外活动总结
2014/07/04 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
移除Selenium中window.navigator.webdriver值
2022/06/10 Python