【音频】python读取写入wav文件

读取wav文件:

使用librosa库:librosa.load(文件路径,采样率sampling rate)

import librosa
# 读取WAV文件
audio, sr = librosa.load('record.wav', sr=44100)

写入wav文件:

直接用librosa的函数librosa.output.write_wav('output.wav', y, sr)会报错:"AttributeError: module 'librosa' has no attribute 'output'"
这是因为librosa库在0.8.0版本后把这个函数删掉了,我们可以用soundfile库的soundfile.write()函数达到同样的目的:

import soundfile as sf
# 写入WAV文件
sf.write('ouput.wav', audio, sr, 'PCM_24')

其中,该函数参数分别为soundfile.write(输出路径,音频,采样率,某种媒体子类型格式)

‘PCM_24’ 表示 24 位的 Pulse Code Modulation (脉冲编码调制)格式。在音频编码中,PCM 是一种数字化的方法,将模拟音频信号转换为数字信号。PCM 格式的音频数据使用比特率来表示音频的质量。其中,24 位的 PCM 格式可以提供更高的音频质量和更广的动态范围,但也会占用更大的存储空间。

除了 ‘PCM_24’ 格式外,soundfile 库还支持其他子类型格式,包括 ‘PCM_16’ 和 ‘PCM_32’。‘PCM_16’ 表示 16 位的脉冲编码调制格式,‘PCM_32’ 则表示 32 位的脉冲编码调制格式。用户可以根据需要选择不同的子类型格式。例如,如果需要更小的存储空间,可以选择 ‘PCM_16’ 格式。

猜你喜欢

转载自blog.csdn.net/weixin_41932970/article/details/130713881