Comment analyser une musique dans un tableau de fréquences et durées de ses notes
-
14-10-2019 - |
Question
Bonjour,
Je travaille sur un faible niveau du projet de programmation et je veux jouer une musique avec l'ordinateur haut-parleur .
Je suis déjà capable d'utiliser le haut-parleur (avec timer2
) et une chanson est représentée de la façon suivante:
note_t *music;
où note_t
représente une note et il est composé par:
typedef struct {
int freq; /* note frequency */
int dur; /* note duration in miliseconds */
} note_t;
Maintenant, quelle serait la meilleure façon d'obtenir les fréquences et durées des notes à partir d'un fichier musical?
Merci à l'avance!
EDIT
Pour clarifier certains doutes, ce que je veux savoir est le meilleur format pour obtenir les informations nécessaires pour créer une chanson avec la structure indiquée ci-dessus.
La solution
anatolyg 'de la réponse est bonne. Je veux juste montrer la complexité d'une telle tâche peut être: jeter un oeil à MIDI pour l'inspiration.
http://en.wikipedia.org/wiki/Musical_Instrument_Digital_Interface
Les fichiers MIDI peuvent être utilisés comme « partition virtuelle » pour les logiciels de musique, stocker les notes et beaucoup d'informations supplémentaires décrivant les nuances de jeu (par exemple la vitesse, pitch bend, modulation, etc.). Il a été construit pour stocker des pièces entières de musique avec de multiples instruments et polyphonie.
Autres conseils
En fonction de votre objectif précis, vous pouvez utiliser l'un des formats de sonneries ou d'inventer votre propre.
Un exemple simple format sonnerie est RTTTL .