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

示例代码如下:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 """
 4 音频双通道分离
 5 """
 6 import sys
 7 import numpy as np
 8 from scipy.io import wavfile
 9 from converter import mp3_to_wav
10
11
12 def split_channel(wav_path, left_wav_path, right_wav_path):
13     """
14     通道分离
15     :param wav_path: wav音频的路径
16     :param left_wav_path: 左声道的wav音频路径
17     :param right_wav_path: 右声道的wav音频路径
18     :return None:
19     """
20     try:
21         sample_rate, wav_data = wavfile.read(wav_path)
22         left = []
23         right = []
24         for item in wav_data:
25             left.append(item[0])
26             right.append(item[1])
27         wavfile.write(left_wav_path, sample_rate, np.array(left))
28         wavfile.write(right_wav_path, sample_rate, np.array(right))
29     except IOError as e:
30         print('error is %s' % str(e))
31     except:
32         print('other error', sys.exc_info())
33
34
35 if __name__ == '__main__':
36     mp3_to_wav('input/test.mp3', 'tmp/tmp.wav')
37     split_channel('tmp/tmp.wav', 'output/left.wav', 'output/right.wav')

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

 1 from pydub import AudioSegment
 2
 3
 4 def mp3_to_wav(source, destin):
 5     """
 6     mp3 转 wav
 7     :param source:
 8     :param destin:
 9     :return None:
10     """
11     data = AudioSegment.from_mp3(source)
12     data.export(destin, format='wav')

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

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

转载于:https://www.cnblogs.com/noluye/p/11224137.html

使用Python音频双通道分离相关推荐

  1. python音频两条路径_使用Python实现音频双通道分离

    使用Python实现音频双通道分离,音频,路径,通道,代码,示例 使用Python实现音频双通道分离 易采站长站,站长之家为您整理了使用Python实现音频双通道分离的相关内容. 某些音频是双方对话, ...

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

    某些音频是双方对话,有可能需要对音频作通道的分离. 示例代码如下: """ 音频双通道分离 """ import sys import nu ...

  3. Python音频信号处理库函数librosa介绍

    文章目录 Python音频信号处理库函数librosa介绍(部分内容将陆续添加) 介绍 安装 综述(库函数结构) Core IO and DSP(核心输入输出功能和数字信号处理) Audio proc ...

  4. 【基于pyAudioKits的Python音频信号处理(一)】pyAudioKits安装与API速查手册

    文章目录 pyAudioKits 基本用法 创建或加载音频 来自NumPy数组 来自文件 录音 模拟 Audio对象 播放 绘制 转为NumPy数组 获取属性 保存 索引和切片 连接 合成 四则运算 ...

  5. python图片通道分离

    python图片通道分离 文章目录: 一.通道分离的方法 1.opencv的split()函数 2.使用Numpy 数组分离图像通道 二.通道合并的方法 1.opencv自带的merge() 函数 2 ...

  6. Python音频信号处理 2.使用谱减法去除音频底噪

    使用谱减法去除音频底噪 上一篇文章我主要分享了短时傅立叶变换及其逆变换在python中的实现,有兴趣的可以阅读一下该篇文章,地址如下: Python音频信号处理 1.短时傅里叶变换及其逆变换 那么在本 ...

  7. python的pyaudio教程入门_『开发技巧』Python音频操作工具PyAudio上手教程

    『开发技巧』Python音频操作工具PyAudio上手教程 ​ 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. ...

  8. python音频分析工具_『开发技巧』Python音频操作工具PyAudio上手教程

    『开发技巧』Python音频操作工具PyAudio上手教程 ​ 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. ...

  9. matlab 音频处理、Python音频处理

    1. matlab 读取与播放 load gong.mat; % y 42028x1 double soundsc(y); % 可调节其频率 soundsc(y, 2*Fs); 读取 .wav 等音频 ...

最新文章

  1. 解决IE下jquery ajax无法获得最新数据的问题(IE缓存)
  2. linux下shell编程print与printf的区别
  3. python性能解决_我们如何发现并解决Python代码中性能下降的问题
  4. 二、将mysql用作一个简单的计算器
  5. 【原创】大叔算法分享(6)机器学习概览
  6. 联想微型计算机v1.0,联想Energy Management
  7. matlab2010a编译器,MATLAB 2010a 添加 VS2010 编译器
  8. 面向 5G 的新型多载波传输技术比较
  9. 爱思助手更新后无法连接服务器,爱思助手无法连接手机怎么办 爱思助手连接失败问题解决办法...
  10. 计算机专业英语求职自我介绍,计算机专业英语面试自我介绍
  11. 加载PNG图片的处理方式
  12. vs添加监视快捷键_询问操作方法:监视Android移动设备使用情况,Windows键盘快捷键和修复损坏的照片...
  13. 2022冬-DownKyi 辅助使用的小插件源码分享
  14. 虚拟主机的构建——基于域名、端口、IP
  15. 五:.net core(.NET 6)使用Autofac实现依赖注入
  16. 十几套JavaWeb项目,拿去当毕业设计简直太爽了(源码)
  17. 情以何堪的伤感QQ日志分享:一句话,了断一切
  18. 思杰虚拟服务器退出管理主机,详解Citrix思杰XenServer虚拟化(8)
  19. ETL工具之Informatica
  20. python设计一个节假日字典_python实现在无须过多援引的情况下创建字典的方法

热门文章

  1. 20165237 2017-2018-2 《Java程序设计》第1周学习总结
  2. java加载配置文件
  3. 虎牙AI基础技术部招聘深度学习/计算机视觉实习生
  4. 基于YOLOv3 与CRNN的中文自然场景文字检测与识别
  5. Python基础知识:当字典碰到类时会发生什么?
  6. Python学得好,升职加薪下班早
  7. 黑马冠军快手在国际回声消除大赛中战绩颇丰
  8. 厉害了,比Transformer还好用!
  9. 收藏 | 聊聊 GPU 的计算能力上限
  10. 收藏 | 那些机器学习必备知识