Indications pour la programmation de l'éditeur editmidi

Je décris ici, les choix qui ont été faits pour la réalisation de l'environnement editmidi, en langage c++

L'objectif que je me suis fixé, est de construire une application pour WINDOWS, qui permette de saisir des tablatures et des formules de mathématiques, de les traiter, puis de les insérer, ainsi que les résultats des calculs, dans un document texte.

Des logiciels comme word ou excel peuvent accomplir ce type de travail, mais ils ne sont pas très faciles d'utilisation pour les aveugles, même quand il possèdent un logiciel de revue d'écran comme JAWS

L'idée m'est venu d'utiliser la synthèse vocale de studyvox, pour permettre la lecture sonore des tablatures et des formules de mathématiques, en l'ajoutant dans un éditeur de texte.

La programmation d'un éditeur sdi (simple document interface) pour WINDOWS, avec sa barre de menu et ses raccourcis, est quelque chose de classique, que l'on peut faire à partir d'un modèle standard, que l'on personnalise. J'ai choisi l'exemple apxsdi de bc5 de borland, écrit en c++

Une fois modifié, on compile apxsdi.exe avec la procédure compapxs.bat, et on renomme apxsdi.exe avec le nom editmidi.exe

Si vous êtes interéssé par cet aspect de la programmation, vous pouvez consulter la rubrique winweb dans la page index du site studyvox. Vous y trouverez des projets, comme dynakit, gramdyna, mididyna... construits sur le modèle apxsdi de bc5 Tous les projets sont téléchargeables avec leur source complète, et les procédures .bat qui permettent de les compiler en ligne de commande (vous devez posséder pour cela, les versions bcc et bcc32 de Borland BC5, avec leurs exemples)

La bibliothèque omidifon.cpp pour le traitement MIDI

Je me contente ici de commenter la programmation des outils pour le traitement des tablatures musicales, avec un MIDI MAPPER.

Les fonctions utiles sont dans la bibliothèque omidifon.cpp J'ai utilisé les fonction short midi message de mmsystem.h, pour la programmation MIDI

Il faut tester le MIDI MAPPER disponible sur un PC, suivant la version de WINDOWS utilisée, avant d'espérer entendre quelque chose !

Une fois un MIDI MAPPER trouvé, je place son identificateur dans le fichier midiinit.dev

la bibliothèque omididyn.cpp pour le traitement des données musicales

La programmation consiste à associer aux caractères qui constituent une tablature, l'action MIDI correspondante.

Les notes de musique d'une octave, sont désignées par la notation anglo-saxonne habituelle c d e f g a b pour do ré mi...

On utilise les symboles "inférieur" et "supérieur" pour changer d'octave.

Je ne décris pas ici toutes les conventions adoptées pour l'écriture des tablatures musicales, car elles sont faciles à comprendre.

Il est par contre utile de pouvoir traiter les gammes, les accords, la lecture sonore des notes, de choisir des arpèges ou des rythmes de base...

J'ai placé les fonctions qui permettent ces traitements, dans la bibliothèque omididyn.cpp Toutes ces fonctions sont appelées, quand on active des items de la barre de menu de l'environnement editmidi.exe

editmidi.exe est en fait l'application apxsdi.exe, compilée par compapxs.bat, que l'on a renommée ainsi.

Le projet apxsdi peut être trouvé dans les exemples de la version bc5 de borland.

J'espère que ces commentaires vous donneront des idées, pour aborder ce domaine du traitement MIDI de la musique, et je serais heureux de profiter de vos réfléxions personnelles.

Ceci termine la rubrique midiweb de studyvox.

Retour au sommaire de la rubrique midiweb

Retour dans la page index du site studyvox