import numpy as np from scipy.signal import chirp from pydub import AudioSegment

duration = 50 # 音频时长(秒) sample_rate = 44100 # 采样率(每秒采样数) num_samples = duration * sample_rate # 采样点数

生成随机音频信号

audio_signal = np.random.uniform(-1, 1, num_samples)

生成随机音色的声音

t = np.linspace(0, duration, num_samples) f0 = np.random.uniform(100, 1000) # 音调(Hz) f1 = np.random.uniform(1000, 5000) # 音调(Hz) audio_signal = chirp(t, f0, duration, f1, method='linear')

将音频信号转换为AudioSegment对象

audio_signal = np.int16(audio_signal * 32767) # 将信号从[-1, 1]范围转换为[-32767, 32767]范围的整数 audio_segment = AudioSegment(audio_signal.tobytes(), frame_rate=sample_rate, sample_width=2, channels=1)

保存为WAV格式的音频文件

audio_segment.export('random_sound.wav', format='wav')

Python 生成随机音色音频文件:使用 NumPy, SciPy 和 pydub

原文地址: https://www.cveoy.top/t/topic/mNCt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录