一. WAV与PCM
WAV:一种无损的音频文件格式,符合 PIFF(Resource Interchange File Format)规范。所有的WAV都有一个文件头(文件头占44字节)。
PCM:Pulse Code Modulation----脉码调制录音,PCM是将声音等模拟信号变成符号化的脉冲列,由[1]、[0]等符号构成的数字信号,而未经过任何编码和压缩处理,与模拟信号相比,它不易受传送系统的杂波及失真的影响,动态范围宽,可得到音质相当好的影响效果。
二. PCM->WAV转化
代码如下:
import os
import wave as wv
import numpy as np
from matplotlib import pyplot as plt
def pcm2wav(pcm_path, out_path, channel, sample_rate):
with open(pcm_path, 'rb') as pcm_file:
pcm_data = pcm_file.read()
pcm_file.close()
with wv.open(out_path, 'wb') as wav_file:
wav_file.setparams((channel, 16 // 8, sample_rate, 0, 'NONE', 'NONE'))
wav_file.writeframes(pcm_data)
wav_file.close()
转换为wav文件后,可读取wav文件并画出左右声道的波形图:
完整代码