一 前记
作为一个音频工程师,仅仅依靠鼠标点击,没有一些自己的小工具的话,肯定是不合格的了。 最近用到了一个音频通道分离的功能,这里就用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
作者:虚生 出处:https://www.cnblogs.com/dylancao/ 以音频和传感器算法为核心的智能可穿戴产品解决方案提供商 ,提供可穿戴智能软硬件解决方案的设计,开发和咨询服务。 勾搭热线:邮箱:1173496664@qq.com weixin:18019245820 市场技术对接群:347609188 |
![]() |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2019-04-27 C/C++性能测试工具GNU gprof
2019-04-27 ubuntu 16.04安装perf
2019-04-27 带你了解SDL