KREEPAR123 Asked:2023-12-20 18:03:43 +0000 UTC2023-12-20 18:03:43 +0000 UTC 2023-12-20 18:03:43 +0000 UTC 如何在 Python 中创建声音? 772 有谁知道如何创造并产生声音,这可能吗?(我在互联网上搜索过,但一切都不清楚)。希望代码不是超级困难且易于理解(我是一个新手程序员) python 2 个回答 Voted Best Answer Oopss 2023-12-20T19:35:06Z2023-12-20T19:35:06Z import winsound #winsound.Beep(frequency, duration) #Звуковой сигнал частотой 10кГц, длительность 5 сек winsound.Beep(10000, 5000) 我用耳机听。 Amgarak 2023-12-20T19:43:41Z2023-12-20T19:43:41Z 有一个小例子,但这更多的是一种放纵: import numpy as np import sounddevice as sd # Задаем параметры для звука sample_rate = 44100 # частота дискретизации (количество сэмплов в секунду) note_duration = 0.1 # длительность звука каждой ноты (в секундах) fade_duration = 0.1 # длительность затухания (fade-out) в конце каждой ноты (в секундах) # Функция для создания массива 1-битных сэмплов с плавным затуханием def generate_smooth_1bit_samples(freq): t = np.linspace(0, note_duration, int(note_duration * sample_rate), False) fade_out = np.exp(-(t - (note_duration - fade_duration)) / fade_duration) samples = 32767.0 * np.where(t % (1 / freq * 2) < (1 / freq), 1, -1) * fade_out return np.array(samples, dtype=np.int16) melody = [220.00, 293.66, 329.63, 392.00, 440.00, 493.88] # Создаем массив сэмплов для мелодии с плавным затуханием all_samples = np.concatenate([generate_smooth_1bit_samples(freq) for freq in melody]) # Воспроизводим мелодию из массива сэмплов sd.play(all_samples, samplerate=sample_rate) sd.wait() # Ожидание завершения воспроизведения
我用耳机听。
有一个小例子,但这更多的是一种放纵: