Python分离立体声WAV压缩文件的左右声道

左右声道可以记录更多的信息,使用python如何分离左右通道呢?

wav文件通常会记录左右声道,但wav文件通常会被压缩,我在网上找了几种方法,都不能正常读取压缩后的wav文件,下面介绍一种方法,使用python分离wav文件的左右声道

以下是读取wav文件的代码。

import soundfile as sf

musicFileName = "1016(37)_13733163362(4)_In_20190808140419.wav"
sig, sample_rate = sf.read(musicFileName)
print("采样率:%d" % sample_rate)    
print("时长:", sig.shape[0]/sample_rate, '秒')    

serviceData = sig.T[0]
clientData = sig.T[1]

获取到的serviceData,clientData是从声音中分离出来的两个声道,接下来对这两个数据进行可视化。

下面是clientData可视化的代码与波形图

import matplotlib.pyplot as plt
import numpy as np

plt.figure()
l=sig.shape[0]
x = [i/8000 for i in range(l)]
plt.plot(x, clientData, c='r')
plt.show()

下面是serviceData可视化的代码与波形图

import matplotlib.pyplot as plt
import numpy as np

plt.figure()
l=sig.shape[0]
x = [i/8000 for i in range(l)]
plt.plot(x, serviceData , c='r')
plt.show()

下面是serviceData与clientData可视化的代码与波形图,为了更直观的显示两个声道的信号,这里在可视化的时候,调整了不透明度。

import matplotlib.pyplot as plt
import numpy as np

plt.figure()

l=sig.shape[0]
x = [i/8000 for i in range(l)]
plt.plot(x, serviceData, c='r', alpha=0.8)
plt.plot(x, clientData, c='b', alpha=0.8)
plt.show()

转载请注明出处:机器在学习 » Python分离立体声WAV压缩文件的左右声道

赞 (0) 打赏

评论 0

觉得文章有用,请作者吃个鸡腿

支付宝扫一扫打赏

微信扫一扫打赏