读取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 格式可以提供更高的音频质量和更广的动态范围,但也会占用更大的存储空间。文章来源:https://www.toymoban.com/news/detail-774789.html
除了 ‘PCM_24’ 格式外,soundfile 库还支持其他子类型格式,包括 ‘PCM_16’ 和 ‘PCM_32’。‘PCM_16’ 表示 16 位的脉冲编码调制格式,‘PCM_32’ 则表示 32 位的脉冲编码调制格式。用户可以根据需要选择不同的子类型格式。例如,如果需要更小的存储空间,可以选择 ‘PCM_16’ 格式。文章来源地址https://www.toymoban.com/news/detail-774789.html
到了这里,关于【音频】python读取写入wav文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!