要使用生成的wave,complex[]数组写入.wav文件,可以按照以下步骤进行操作:
import wave
import numpy as np
sample_width = 2 # 采样宽度(字节)
sample_rate = 44100 # 采样率(每秒采样点数)
channels = 2 # 声道数(1为单声道,2为立体声)
duration = 10 # 音频时长(秒)
# 创建wave文件对象
wave_file = wave.open('output.wav', 'w')
wave_file.setnchannels(channels)
wave_file.setsampwidth(sample_width)
wave_file.setframerate(sample_rate)
# 生成wave,complex[]数组
wave_data = np.array(your_complex_array, dtype=np.complex64)
# 将复数数组转换为实数数组
wave_data = np.real(wave_data)
# 将实数数组转换为音频数据
audio_data = (wave_data * 32767).astype(np.int16)
# 将音频数据写入wave文件
wave_file.writeframes(audio_data.tobytes())
wave_file.close()
以上代码将生成的wave,complex[]数组转换为实数数组,并将实数数组写入.wav文件中。你可以根据实际情况调整采样宽度、采样率、声道数和音频时长等参数。生成的.wav文件将保存在当前目录下,文件名为output.wav。
请注意,以上代码仅提供了基本的写入.wav文件的操作,如果需要更复杂的音频处理功能,可以使用专业的音频处理库或框架。
领取专属 10元无门槛券
手把手带您无忧上云