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

使用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文件。你可以使用音频播放器来播放生成的音频文件并听到随机音频数据。