在Python中利用sounddevice库实现音频数据的保存和加载
发布时间:2023-12-15 19:45:52
sounddevice是一个用于在Python中录制和播放音频数据的库。它是基于PortAudio开发的,支持跨平台功能。
在Pyhton中,使用sounddevice库保存和加载音频数据非常简单。下面是一个实例来展示如何使用sounddevice库保存和加载音频数据。
首先,我们需要安装sounddevice库。你可以通过以下命令来安装sounddevice库:
pip install sounddevice
然后,我们可以开始编写代码。
保存音频数据:
import sounddevice as sd
import numpy as np
# 使用sounddevice库录制音频数据
sample_rate = 44100
duration = 5 # 录制时长为5秒
recording = sd.rec(int(duration * sample_rate), samplerate=sample_rate, channels=1)
sd.wait()
# 保存音频数据为.wav文件
file_path = "recording.wav"
sd.write(file_path, recording, sample_rate)
print("音频数据保存成功!")
在上面的代码中,我们使用sd.rec()函数来录制音频数据,指定了录制的时长和采样率。
然后,我们使用sd.write()函数将录制得到的音频数据保存为.wav文件。注意,这里的音频数据是一个NumPy数组,需要指定保存格式为.wav文件。
最后,我们打印保存成功的提示信息。
加载音频数据:
import sounddevice as sd
# 加载.wav文件的音频数据
file_path = "recording.wav"
recording, sample_rate = sd.read(file_path)
print(f"音频数据的采样率为:{sample_rate}")
print(f"音频数据的长度为:{len(recording)}")
在上面的代码中,我们使用sd.read()函数加载.wav文件的音频数据。
然后,我们可以获取到音频数据的采样率和长度,并打印这些信息。
综上所述,利用sounddevice库实现音频数据的保存和加载非常简单。我们只需要使用sd.write()函数将音频数据保存为.wav文件,使用sd.read()函数加载.wav文件的音频数据即可。
