Cómo analizar una música en una variedad de frecuencias y duraciones de sus notas
-
14-10-2019 - |
Pregunta
Saludos,
Estoy trabajando en un bajo nivel Proyecto de Programación y quiero jugar una música con el ordenador Altavoz .
Ya estoy capaz de utilizar el altavoz (con timer2
) y una canción se representa de la siguiente manera:
note_t *music;
donde note_t
representa una nota y es compuesto por:
typedef struct {
int freq; /* note frequency */
int dur; /* note duration in miliseconds */
} note_t;
Ahora, ¿cuál sería la mejor manera de obtener las frecuencias y duraciones de las notas de un archivo de música?
Gracias de antemano!
Editar
Para aclarar algunas dudas, lo que quiero saber es el mejor formato para obtener la información necesaria para crear una canción con la estructura indicada anteriormente.
Solución
anatolyg 's respuesta es buena. Sólo quiero mostrar la complejidad de una tarea de este tipo pueden ser: echar un vistazo a MIDI para la inspiración.
http://en.wikipedia.org/wiki/Musical_Instrument_Digital_Interface
Los archivos MIDI se puede utilizar como "partitura virtual" para el software de música, almacenar las notas y una gran cantidad de información adicional que describe los matices del juego (por ejemplo, la velocidad, la inflexión de tono, la modulación y así sucesivamente). Fue construido para el almacenamiento de piezas enteras de música con múltiples instrumentos y la polifonía.
Otros consejos
En función de su propósito exacto, puede utilizar uno de los formatos de melodía o inventar su propio.
formato de ejemplo sencillo Un tono es RTTTL .