Python 白噪音生成器:使用 Tkinter 创建按钮控制不同类型噪音
以下代码使用 Python 编写,并使用了 tkinter 库创建了一个简单的窗口,其中包含了三个按钮和一个停止按钮。点击不同按钮会调用相应的函数来播放不同种类的白噪音,并通过 sounddevice 库实现声音的播放。点击停止按钮会停止正在播放的声音。
import tkinter as tk
import numpy as np
import sounddevice as sd
def play_white_noise():
duration = 5 # 持续时间(秒)
sample_rate = 44100 # 采样率
volume = 0.1 # 音量
# 生成白噪音信号
samples = np.random.normal(scale=volume, size=int(duration * sample_rate))
# 播放白噪音
sd.play(samples, sample_rate)
def play_pink_noise():
duration = 5 # 持续时间(秒)
sample_rate = 44100 # 采样率
volume = 0.1 # 音量
# 生成粉噪音信号
samples = np.random.normal(scale=volume, size=int(duration * sample_rate))
samples = np.cumsum(samples)
samples /= np.max(np.abs(samples))
# 播放粉噪音
sd.play(samples, sample_rate)
def play_brown_noise():
duration = 5 # 持续时间(秒)
sample_rate = 44100 # 采样率
volume = 0.1 # 音量
# 生成棕噪音信号
samples = np.random.normal(scale=volume, size=int(duration * sample_rate))
samples = np.cumsum(samples)
samples /= np.max(np.abs(samples))
# 播放棕噪音
sd.play(samples, sample_rate)
def stop_noise():
sd.stop()
# 创建窗口
window = tk.Tk()
# 创建按钮
white_noise_button = tk.Button(window, text='白噪音', command=play_white_noise)
white_noise_button.pack()
pink_noise_button = tk.Button(window, text='粉噪音', command=play_pink_noise)
pink_noise_button.pack()
brown_noise_button = tk.Button(window, text='棕噪音', command=play_brown_noise)
brown_noise_button.pack()
stop_button = tk.Button(window, text='停止', command=stop_noise)
stop_button.pack()
# 运行窗口主循环
window.mainloop()
上述代码使用了 tkinter 库创建了一个简单的窗口,其中包含了三个按钮和一个停止按钮。点击不同按钮会调用相应的函数来播放不同种类的白噪音,并通过 sounddevice 库实现声音的播放。点击停止按钮会停止正在播放的声音。
原文地址: https://www.cveoy.top/t/topic/pfub 著作权归作者所有。请勿转载和采集!