欢迎访问宙启技术站
智能推送

在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文件的音频数据即可。