使用Python生成paInt16()格式的随机音频数据
发布时间:2024-01-17 10:29:23
要生成随机音频数据,可以使用Python中的random模块来生成随机数,并将其转换为paInt16格式的音频数据。以下是一个示例代码,用于生成随机音频数据并保存为.wav文件:
import random
import wave
import array
# 设置音频参数
sample_width = 2 # 2 bytes per sample
sample_rate = 44100 # 44.1kHz
duration = 5 # 5 seconds
num_samples = duration * sample_rate
# 生成随机音频数据
audio_data = array.array('h', [random.randint(-32767, 32767) for _ in range(num_samples)])
# 将音频数据保存为.wav文件
with wave.open('random_audio.wav', 'wb') as f:
f.setnchannels(1) # 单声道
f.setsampwidth(sample_width)
f.setframerate(sample_rate)
f.writeframes(audio_data.tobytes())
在上述代码中,我们使用array来维护音频数据,其中'h'表示有符号的16位整数(paInt16格式)。对于每个采样点,我们使用random.randint(-32767, 32767)生成一个随机数,并将其添加到audio_data数组中。最后,使用wave.open打开一个.wav文件,并将音频参数设置为相应的值,然后使用tobytes()将数组转换为字节流,并使用writeframes()将音频数据写入文件。
你可以根据需要更改音频参数,如sample_rate和duration。生成的随机音频数据将保存为random_audio.wav文件。你可以使用音频播放器来播放生成的音频文件并听到随机音频数据。
