Créez vos "GRILLES", transposez, jouez, sauvez les en format Midi. Imprimez la grille et faites un Boeuf avec vos potes musicos.
Programme sympa mais pas prof de musique.
On peut toujours et encore l'améliorer et vos remarques sont les bienvenues.
Version 3.1
Ajout de GRILLES.DOC pour mode d'emploi.
Correction des Delta Time
Ajout de notion de LOOP
Correction du meta Event 51.
- Libèrer le périh ...
Private Sub MenuQuitter_Click()
midi_out_close
Quitter_Click
End Sub
- Retirer les DoEvents superflus
Sub note_off(ch As Integer, ByVal kk As Integer)
Call midi_outshort(&H90 + ch, kk, 0)
-> DoEvents ????????????
End Sub
Ces instructions ne servent à rien et consomme du CPU.
Bon j'espère que je ne blesse personne.
A plus
Afyn
Navedac
Je repasse par ici !
A tout hazard ?
Il me semble que tu ne libères pas comme il faut le périphérique MIDI ... c pas trés grave mais bon ct a signaler.
A plus
Afyn
Navedac
Pour l'utilisation CPU, il suffit de lancer 5 ou 6 occurences du programme pour voir que les Doevents font leur office de distribution de ressource et je pense qu'il est naturel que la CPU soit employée à 97% sur une sule occurence si c'est la seule tâche qui tourne... Essaie de lancer CakeWalk et de jouer un fichier midi; l'occupation de la CPU atteint allégrement les 95%.
De plus, il est assez exceptionnel que je travaille en même temps sur plusieurs applications quand je m'amuse en jouant avec des petites compositions musicales (ma CPU est presque mono tâche dans ce domaine).
J'ai essayé plusieurs méthodes pour diminuer l'occupation CPU sans aucun changement notoire.
J'ai donné ce source pour servir d'exemple et faire partager mes idées, ma prétention n'est pas d'écrire Band in a Box ou tout autre générateur de zique, ces produits existent déjà. Bien sur, je prends en compte les désidératas des utilisateurs potentiels mais, je programme en VB par goût et non pour vendre des logiciels.
De toute manière, si une prochaine version existe (à part les corrections de bugs), elle tiendra compte de tes idées qui sont très sympa.
A+ et merci d'avoir passé du temps sur mon modeste programme.
A conserver :
Le principe d'une interface simple ...
A améliorer (fonction du temps que l'on a souvent) :
L'interface (attention, pour les puristes le Fb (Fa bémol) se note E et le E est déja dans la liste de la Basse)
Je te propose plutôt cette notation : (et dans cet ordre)
C - C# - D - Eb - E - F - F# - G - G# - A - Bb - B
Le calcul des Delta Times (si tu as lu la Bible du MIDI
de Christian Braut, il y a une petite erreur
sur le livre page 407 et 408. Eventuellement regarde mes
sources pour le calcul des Delta Times).
Pour les autres : ISBN-2-7361-1400-0 (Livre d'or Tome 1)
La gestion du sequencer est trés mauvaise (si tu appuies
sur les touches Alt+Ctrl+Sup, tu verras que ton prog
consomme toutes les ressources du processeur !!!)
A ajouter :
C'est également bien de pouvoir faire tourner une boucle entre
2 Locators. (pour répéter un passage ou improviser).
Tu peux utiliser mon waitable timer, qui compte des Ticks
précisément. (En plus il ne consomme que trés peu de ressources
et il est cadeau sur VBfrance.com, alors plus d'excuses !)
Pour une résolution de 96, il comptera 96 ticks pour une noire.
(Tu n'as pas besoin de plus de précisions)
Si tu veux boucler entre la deuxième et troisième mesure
If Tick 383 then Tick 192 (par exemple)
Courage !
Afyn
NAVEDAC
MIDI-SDKVB@wanadoo.fr
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.