You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
745 B

9 months ago
from math import exp, log
import numpy as np
import matplotlib.pyplot as plt
plt.style.use("bmh")
import sounddevice as sd
def frec(nota: int, octava: int) -> int:
expo = octava * 12 + (nota - 58)
return int(440 * ((2 ** (1 / 12)) ** expo))
framerate = 44100
duration = 1000
t = np.linspace(0, duration / 1000, int(framerate * duration / 1000))
frequency = frec(10, 4) # LA4
data = np.sin(2 * np.pi * frequency * t)
def beep(nota: int, octava: int, duracion: int) -> None:
framerate = 44100
t = np.linspace(0, duracion / 1000, int(framerate * duracion / 1000))
frequency = frec(nota, octava)
data = np.sin(2 * np.pi * frequency * t)
sd.play(data, framerate)
sd.wait()
for i in range(1, 13):
beep(i, 4, 1000)

Powered by INFORMATICA.FP.EDU.ES.