使用Python音频双通道分离

使用Python音频双通道分离,第1张

概述某些音频是双方对话,有可能需要对音频作通道的分离。 示例代码如下: 其中调用了一个自定义的库,converter.py 加入了代码: 本代码示例可以生成两个通道分离后的 wav 文件。 注意:如果源文

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

示例代码如下:

 1 #!/usr/bin/env python 2  -*- Coding: utf-8 -*- 3 """ 4 音频双通道分离 5  6 import sys 7  numpy as np 8 from scipy.io  wavfile 9 from converter  mp3_to_wav10 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,np.array(right))29     except IOError as e:30         print('error is %s' % str(e))31     32         other error',sys.exc_info())33 34 35 if __name__ == __main__36     mp3_to_wav(input/test.mp3',tmp/tmp.wav)37     split_channel(output/left.wavoutput/right.wav')

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

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

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

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

 

总结

以上是内存溢出为你收集整理的使用Python音频双通道分离全部内容,希望文章能够帮你解决使用Python音频双通道分离所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1189700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存