使用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中将字典转换为列表的方法
Sep 21 Python
Python编程之微信推送模板消息功能示例
Aug 21 Python
Python GUI Tkinter简单实现个性签名设计
Jun 19 Python
机器学习之KNN算法原理及Python实现方法详解
Jul 09 Python
一行代码让 Python 的运行速度提高100倍
Oct 08 Python
python2和python3在处理字符串上的区别详解
May 29 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
Aug 20 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 Python
Django+boostrap 美化admin后台的操作
Mar 11 Python
pandas数据拼接的实现示例
Apr 16 Python
Python实现初始化不同的变量类型为空值
Jun 02 Python
python基础之匿名函数详解
Apr 21 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安装问题
2006/10/09 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
php生成无限栏目树
2017/03/16 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
iframe父页面获取子页面参数的方法
2014/02/21 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
js多个物体运动功能实例分析
2016/12/20 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
jquery实现加载更多"转圈圈"效果(示例代码)
2020/11/09 jQuery
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
python使用tornado实现简单爬虫
2018/07/28 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
python实现计算器功能
2019/10/31 Python
python在不同条件下的输入与输出
2020/02/13 Python
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
如何转换一个字符串到enum值
2014/04/12 面试题
公司薪酬管理制度
2014/01/31 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
检讨书范文2000字
2015/01/28 职场文书
大学开学感言
2015/08/01 职场文书
团队拓展训练心得体会
2016/01/12 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书