tarea modulo 2

tarea modulo 2

de PASTOR EMILIANO -
Número de respuestas: 2

Buenas! Me gustaria tener alguna devolucion mas de los trabajos del modulo 2 con el operador % ya que no pude resolverlos de esa manera, gracias! Espero respuesta! Saludos!

Lo unico que se me ocurrio hasta ahora para el primero de los dos por lo menos es si se le asigna a la funcion devolver el resto (%) de la division del numero midi entre 127, y que cada uno de estos resultados de 0.x sea asignado a una variable de clase de altura con una asignacion para cada resto o si se puede asignar mas de un resultado posible a una variable ( o sea al revez, que cada clase de altura tenga varios resultados asignados =). La excepcion seria 127%127 que daria 0 de resto y este se le asignaria a la altura sol.

En respuesta a PASTOR EMILIANO

Re: tarea modulo 2

de JURE LUIS -
Utilizando el operador módulo que vimos (%), el cálculo es trivial.

1. pasar de número de nota MIDI a clase de altura:

clase_de_altura = MIDI_number % 12

2. pasar de número de octava y clase de altura a número de nota MIDI:

MIDI_number = (octava+1)*12 + clase_de_altura

(Los números de nota MIDI empiezan en la octava -1, por eso se suma 1, para que la octava 4 sea la octava del Do central = MIDI 60 )
En respuesta a JURE LUIS

Re: tarea modulo 2

de PASTOR EMILIANO -
Entendi.
Sinceramente no conocia la ley del resto.
El segundo lo resolvi de esta manera ahora:

def notamidi(octava, clasedealtura):
notamidi=octava*12+clasedealtura
return notamidi
#las octavas irian de 0 en adelante nomas donde cero seria la menos 1 en midi, no se si es la notacion cientifica tambien.
#por otra parte las se podrian ingresar dentro de 10 octavas 12 clases de altura que corresponderia a la nota midi 131.