Il s'agit encore une fois d'utiliser son buzzer intégré, mais de façon différente.
Au salon de l'Orme 2.16 à Marseille en juin dernier, Texas Intruments démontrait à l'aide d'un mini programme qu'il était possible de jouer de la musique, ci-contre même si ça ne s'entend pas un petit extrait de bon anniversaire.
Mais voilà le problème. A partir d'une partition de musique, comment obtenir de façon simple et juste, la liste des fréquences jouables ?
Problématique à laquelle répond le projet d'aujourd'hui, MUSICATOR.
Le projet définit une façon textuelle de retranscrire de façon simple et complète des partitions :
- notation anglaise unicaractère des notes : C=Do, D=Ré, E=Mi, F=Fa, G=Sol, A=La, B=Si
- caractère espace pour un silence
- chiffres pour spécifier la durée des notes/silences suivants : 8=ronde, 7=blanche, 6=noire, 5=croche...
- possibilité de régler l'octave de façon absolue avec O0, O1, ... O9, ou bien relative en demandant le passage à l'octave supérieur/inférieur avec les caractères * ou ,
- support des altérations dièse, bémol ou point de la note ou du silence précédent, à l'aide des caractères +, - et .
- et même, possibilité de préciser librement le rythme en bpm (battements par minute, c'est-à-dire nombre de noires par minute) en début de texte
Quelques exemples de retranscriptions simples :
- gamme majeure ascendante :
CDEFGAB*C
- gamme mineure ascendante :
CDE-FGA-B-*C
- gamme chromatique ascendante :
CC+DD+EFF+GG+AA+B*C
Deux outils permettent alors :
- la compilation de ces transcriptions texte en listes de fréquences+durées jouables
- la lecture de ces liste sur le TI-Innovator si connecté
La seule contrainte est que le TI-Innovator ne représente qu'un seul et unique instrument à une seule voie.
A moins d'en avoir plusieurs et autant de calculatrices compatibles, ne pourront donc être retranscites sans modifications :
- les partitions faisant jouer plusieurs instruments en même temps
- l'éventuelle partie accompagnement des partitions
- les partitions demandant à un même instrument de jouer plusieurs notes en même temps
Nous allons voir de suite ce que cela donne avec la vraie partition ci-contre, dont voici la transcription complète :
- Code: Select all
128:O35 AAA6AAGECCAAGF7G 6FB-B-B-AGFFAAGF8A6 5AAAA6AGE7C6AAGF7G 5 B-B-B-6B-B-AGFFAAGF7A5 A*CD6 5,AA6*CD7D ..CDEF6E.D5C,A*CD6 7D6DC,AF5FG6AAGF7A5 A*CD6 5,AA6*CD7D ..DDEF6E.D7C6,B-*FFFCF7FF6FFE5,AA6*CDD5,AA*CD6F
Comme tu peux l'entendre, la transcription de la partition est bien correcte.
Un petit défaut subsiste toutefois. Ici tout a été fait pour que la calculatrice n'ait rien d'autre à faire pendant la lecture du morceau :
- compilation à priori de la transcription en une liste de fréquences directement jouable
- aucun affichage pendant la lecture
C'est donc le temps perdu à chaque itération de la boucle de lecture.
Nous ignorons la raison exacte de ce retard, mais à notre avis c'est sûrement le temps mis :
- soit pour envoyer la commande construite au TI-Innovator
- soit pour construire cette commande, notamment avec la nouvelle instruction eval( du système 5.2 permettant d'inclure une valeur numérique dans une chaîne de caractères
Au lieu de 128bpm pour du moderately fast, il nous a fallu régler 860bpm.
Si l'on pouvait récupérer le temps perdu dès la première note, on pourrait corriger en rognant sur la durée des notes ou silences ultérieurs. Mais malheureusement, les instructions d'horloge du seul langage Basic retournent toutes un nombre entier de secondes, et ne permettent pas de connaître la fraction de seconde perdue dès la première note.
Au final, encore une fois un projet qui s'inscrirait parfaitement dans le contexte des enseignements de ICE, TPE et ISN au lycée, ou des nouveaux EPI de la réforme du collège depuis cette rentrée.
Dans ce dernier cas, ce serait d'ailleurs une excellent moyen d'associer activement au sein d'un même projet scientifique l'enseignement d'Education musicale, afin de voir avec ses collègues et les élèves comment construire l'ensemble des différentes valeurs de fréquences nécessaires à la lecture de partitions.
Téléchargement : archives_voir.php?id=687757
Crédits : partition