import sounddevice as sd
from scipy.io.wavfile import write
import numpy as np
duration = 5
samplerate = 44100
channels = 1
def record_audio(duration, samplerate, channels):
"""
录制音频
参数:
duration (float): 录音时长,单位为秒
samplerate (int): 采样率
channels (int): 声道数
返回:
numpy.ndarray: 录制的音频数据
"""
print(f"开始录音,时长{duration}秒...")
audio = sd.rec(int(samplerate * duration), samplerate=samplerate, channels=channels)
sd.wait()
print("录音结束。")
return audio
def save_wave_file(filename, data, samplerate):
"""
将音频数据保存为 WAV 文件
参数:
filename (str): 要保存的文件名
data (numpy.ndarray): 要保存的音频数据
samplerate (int): 采样率
返回:
None
"""
write(filename, samplerate, data)