Pr0gramer icon

Conversor de Nota a Frecuencia | Notacion de Tono Cientifico

Pr0gramer | PRO | 02/11/18 03:55:43 AM UTC | 0 ⭐ | 312 👁️ | Never ⏰ | []
Python |

2 KB

|

None

|

0 👍

/

0 👎

from math import pow
#creado por Pr0gramer (https://pastebin.com/u/Pr0gramer)
 
C0 = 440*pow(2, -4.75) #define la nota C0 en base de la frecuencia 440 Hz (A4).
 
notasCompletaPiano = ["A0", "B0", "C1", "D1", "E1", "F1", "G1", "A1", "B1", "C2", "D2", "E2", "F2", "G2", "A2", "B2", "C3", "D3", "E3", "F3", "G3", "A3", "B3", "C4", "D4", "E4", "F4", "G4", "A4", "B4", "C5", "D5", "E5", "F5", "G5", "A5", "B5", "C6", "D6", "E6", "F6", "G6", "A6", "B6", "C7", "D7", "E7", "F7", "G7", "A7", "B7", "C8"] #lista de notas
frecuenciasCompletaPiano = ["27.50", "30.87", "32.70", "36.71", "41.20", "43.65 ", "49.00", "55.00", "61.74", "65.41", "73.42", "82.41", "87.31", "98.00", "110.0", "123.5", "130.8", "146.8", "164.8", "174.6", "196.0", "220.0", "246.9", "261.63", "293.66", "329.63", "349.23", "392.00", "440.00", "493.88", "523.3", "587.3", "659.3", "698.5", "784.0", "880.0", "987.8", "1047", "1175", "1319", "1397", "1568", "1760", "1976", "2093", "2349", "2637", "2794", "3136", "3520", "3951", "4186"] #lista de frecuencias para las notas enumeradas en la lista anterior
 
print ("Notacion de Tono Cientifico en Piano")
print (" ")
 
def pregunta(): #definir la funcion "pregunta" para poder repetirla cuantas veces sea necesario
    s = input("Cual es la nota para la cual desea saber la frecuencia? ") #permite que el usuario introduzca la nota que desea buscar
    count = 0
    if s == "C0":
        print("la frecuencia de C0 es ", C0, "Hz")
        while True: #define que mientras True sea verdadero (siempre lo es) debe repetir la funcion "pregunta"
            pregunta()
    while True:
        if count == 52:
            print ("Porfavor ingrese una nota valida")
            break;
        if notasCompletaPiano[count] == s:
            break;
        count += 1
    if count != 52:
        print("la frecuencia de ", str(s), "es ", frecuenciasCompletaPiano[count], "Hz")
    while True: #define que mientras True sea verdadero (siempre lo es) debe repetir la funcion "pregunta"
        pregunta()
 
pregunta()

Comments