python 音频通道分离的源码实现
2023-09-11 14:17:11 时间
一 前记
作为一个音频工程师,仅仅依靠鼠标点击,没有一些自己的小工具的话,肯定是不合格的了。 最近用到了一个音频通道分离的功能,这里就用python敲击了一下,这里做个备忘吧,给有需求的小伙伴抛砖引玉了。
二 python代码实现
其实,这个实现方法使用python有好几种方法,这里先给出比较简单的一种:
直接上源码吧。代码是我运行过的,能够在python3下直接work的:
#!/usr/bin/env python import sys import numpy as np from scipy.io import wavfile def split_channel(wav_path, left_wav_path,right_wav_path): 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__': split_channel('./testg.wav','output/left.wav','output/right.wav')
三 命令行实现:
其实,还有一种比较简单的额实现方法,就是直接sox:
sox test.wav -c1 output.wav
四 总结:
python真是太好用了,这里不得不赞一个,后面很多工具看来真是要用python写了啊。需要源码的可以可以到github:
https://github.com/DyLanCao/python_scrpits/tree/master/audio_process/wavdiv
相关文章
- grpc python 源码分析(2):server 处理请求
- 第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图
- python:ERROR: No matching distribution found for Pillow==9.1.0的处理(Python 3.6.8)
- python操作docker SDK:Docker SDK for Python
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- Python之多线程:python多线程设计之同时执行多个函数命令详细攻略
- Python之matplotlib:基于matplotlib库利用python语言实现一张画布显示多张图的多种方法
- Python语言学习之打印输出那些事:python输出图表和各种吊炸天的字符串或图画、版权声明(如README.md)等之详细攻略
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Listbox/Scrollbar)
- Python之多线程:python多线程设计之同时执行多个函数命令详细攻略
- Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法
- 已解决2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and w
- 〖Python接口自动化测试实战篇⑧〗- 小案例 - 使用python实现接口请求 [查询天行数据]
- 使用python 采集某网站全站美女图片 ,这么好看得图还不学起来(含完整源码)
- AI模型设计:完美demo实现C调用python的tensorflow模型pb(附件源码python与C/C++动态库互相调用)
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- 【Python实战】 ---- python 实现 CSDN 的定时自动签到
- [智慧农业]Python基于改进YOLOv5的猕猴桃叶病害检测系统(完整源码&数据集&视频教程)