Цифровой метроном Digital Metronom 528 258 Hz

Аватар автора
Genrix_Muller
import sounddevice as sd import numpy as np import time def beep(frequency, duration): fs = 44100 # Частота дискретизации t = np.linspace(0, duration, int(fs * duration), False) wave = 0.5 * np.sin(2 * np.pi * frequency * t) sd.play(wave, samplerate=fs) sd.wait() def metronome(bpm, duration, beats_per_measure=4): interval = 60 / bpm # Интервал между ударами end_time = time.time() + duration # Время окончания beat_count = 0 while time.time() end_time: if beat_count % beats_per_measure == 0: # Сильная доля (например, частота 528 Гц) beep(frequency=880, duration=0.1) print("Сильная доля!") else: # Слабая доля (например, частота 285 Гц) beep(frequency=440, duration=0.1) print("Слабая доля!") beat_count += 1 time.sleep(interval - 0.1) # Ожидание до следующего удара # Пример: 120 BPM, 10 секунд, 4/4 такт metronome(bpm=120, duration=10, beats_per_measure=4)

0/0


0/0

0/0

0/0