您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中立体声到单声道wav

5b51 2022/1/14 8:23:27 python 字数 2694 阅读 621 来源 www.jb51.cc/python

我正在使用scipy方法wavefile.read()加载一个wav,它为我提供了samplerate和audiodata 我知道这个音频数据如果立体声存储为多维数组,如 audiodata[[left right] [left right] ... [left right]] 然后我使用此方法通过(右)/ 2创建一个新的单声道音频数据阵

概述

我知道这个音频数据如果立体声存储为多维数组,如

audiodata[[left right]
          [left right]
          ...
          [left right]]

然后我使用此方法通过(右)/ 2创建一个新的单声道音频数据阵列

def stereoToMono(audiodata)
    newaudiodata = []

    for i in range(len(audiodata)):
        d = (audiodata[i][0] + audiodata[i][1])/2
        newaudiodata.append(d)

    return np.array(newaudiodata,dtype='int16')

然后我用文件将其写入文件

wavfile.write(newfilename,sr,newaudiodata)

这产生了一个Mono wav文件,但声音很脏并且整个点击等

我究竟做错了什么?

audiodata = audiodata.astype(float)

其次,不要按元素编写Python代码元素;矢量化它:

d = (audiodata[:,0] + audiodata[:,1]) / 2

甚至更好

d = audiodata.sum(axis=1) / 2

这将比您编写的逐个元素循环快得多.

总结

以上是编程之家为你收集整理的在Python中立体声到单声道wav全部内容,希望文章能够帮你解决在Python中立体声到单声道wav所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶