Excel Downloads
Forum

Précédent   Excel Downloads Forums > Accueil > Le salon de XLD


Réponse
 
LinkBack Outils de la discussion
Vieux 11/04/2008, 21h15   #16 (permalink)
XLDnaute Barbatruc
 
Avatar de jeanpierre
 
Date d'inscription: février 2005
Localisation: Sortie ouest Le mans 6 km
Version Excel : Excel 2000 (PC)
Messages: 8 146
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re,

Pourtant, c'est de la musique (enfin, si l'on veut (du bruit peut-être)) très simpliste. Il n'y a rien que du 1, 2.... Elvis, je ne connais pas. Pour le reste, avec ou sans dièze ou bémol, on peut le faire sous excel (VBA), comme on a pu le faire sous d'autres langages avant?

La question est : Où est le blème ?
__________________
En toutes circonstances, il faut savoir juger jusqu'où on peut aller trop loin.

Si vous êtes satisfait des réponses qui vous sont données. Si vous souhaitez que cette énorme base de connaissance Excel puisse vous accompagner longtemps encore....

Aidez-la.


C'est ici : http://www.excel-downloads.com/forum...orter-xld.html
jeanpierre est connecté maintenant   Réponse avec citation
ANNONCES
Vieux 11/04/2008, 21h28   #17 (permalink)
XLDnaute Barbatruc
 
Avatar de Staple1600
 
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re


Si cela avait été un problème, jeanpierre, j'aurai posé la question dans le forum Excel.

Comme cela n'est juste qu'un divertissement pour moi, né au hasard d'un surf sur le net (qui a motivé mon premier message dans ce salon)

J'ai continué sur ma lancée.

Je ne sais pas lire une partition musicale.

J'ai le code VBA* pour jouer dans Excel des "notes MIDI"

J'ai une partition classique au format pdf

Je voudrais convertir les 30/45 secondes de cette partition
en notation MIDI pour ensuite inclure cela dans le code VBA.

N'étant pas en mesure de le faire , seul, je sollicite l'aide de ceux qui ont la compétence pour le faire et qui lisent/suivent ce fil.

Merci donc à ceux qui pourront m'aider.

Bonne soirée à tous.

* cf. PlayMidi
(code inspiré comme le dit l'auteur d'un site français)
__________________
Cordialement,
__________________
JM

Addict


Staple1600 est déconnecté   Réponse avec citation
Vieux 11/04/2008, 21h51   #18 (permalink)
XLDnaute Barbatruc
 
Avatar de jeanpierre
 
Date d'inscription: février 2005
Localisation: Sortie ouest Le mans 6 km
Version Excel : Excel 2000 (PC)
Messages: 8 146
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re,

Pour la partie musicale : Les gammes se divisent en gammes diatoniques et en gammes chromatiques.

1) La gamme majeure, qui se compose de cinq tons de de deux demi-tons.
2) La gamme mineure qui se compose de trois tons, d'un ton et demi et de trois demi-tons

C'est simple, non ?

Sans inspiration ni lien extérieur
__________________
En toutes circonstances, il faut savoir juger jusqu'où on peut aller trop loin.

Si vous êtes satisfait des réponses qui vous sont données. Si vous souhaitez que cette énorme base de connaissance Excel puisse vous accompagner longtemps encore....

Aidez-la.


C'est ici : http://www.excel-downloads.com/forum...orter-xld.html
jeanpierre est connecté maintenant   Réponse avec citation
Vieux 11/04/2008, 22h20   #19 (permalink)
XLDnaute Barbatruc
 
Avatar de Staple1600
 
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re


Merci pour ces informations, jeanpierre.

Voici un extrait de la partition
test1.jpg

Ma belle-fille (16 ans) qui est là pour les vacances

me dit que les notes affichées sur cet extrait sont:
(RE ou DO) SOL FA SOL LA MI LA SOL FA MI FA SOL (RE ou DO) SOL FA SOL

(C'est ce qu'elle a appris au collège me dit-elle)

A-t-elle eu un bon prof de musique ?

Je vais essayer ces notes dans le code VBA

En attendant que les musiciens du forum (dont jeanpierre semble faire partie) puissent m'en dire plus.

Bon week-end à tous.
__________________
Cordialement,
__________________
JM

Addict


Staple1600 est déconnecté   Réponse avec citation
Vieux 11/04/2008, 22h37   #20 (permalink)
XLDnaute Barbatruc
 
Avatar de jeanpierre
 
Date d'inscription: février 2005
Localisation: Sortie ouest Le mans 6 km
Version Excel : Excel 2000 (PC)
Messages: 8 146
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re,

Un exemple plus complexe de du 1 2.... et sans doute plus difficile à transposer en VBA
Fichiers attachés
Type de fichier : zip Paga_V_Campanella.zip (62,9 Ko, 10 affichages)
__________________
En toutes circonstances, il faut savoir juger jusqu'où on peut aller trop loin.

Si vous êtes satisfait des réponses qui vous sont données. Si vous souhaitez que cette énorme base de connaissance Excel puisse vous accompagner longtemps encore....

Aidez-la.


C'est ici : http://www.excel-downloads.com/forum...orter-xld.html

Dernière modification par jeanpierre ; 14/04/2008 à 10h34.
jeanpierre est connecté maintenant   Réponse avec citation
Vieux 12/04/2008, 01h12   #21 (permalink)
XLDnaute Barbatruc
 
Avatar de jeanpierre
 
Date d'inscription: février 2005
Localisation: Sortie ouest Le mans 6 km
Version Excel : Excel 2000 (PC)
Messages: 8 146
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re,

Toujours ch.... sur certains trucs...

Tes deux mesures.... Ré, sol, fa sol et un Ré obligé... la, mi (do dièze sur les deux) et laa (1 - 2)... Je ne suis plus musicien mais un grand virtuose.... Je souhaite comprendre.

Mais là....

A te lire.

Jean-Pierre
__________________
En toutes circonstances, il faut savoir juger jusqu'où on peut aller trop loin.

Si vous êtes satisfait des réponses qui vous sont données. Si vous souhaitez que cette énorme base de connaissance Excel puisse vous accompagner longtemps encore....

Aidez-la.


C'est ici : http://www.excel-downloads.com/forum...orter-xld.html
jeanpierre est connecté maintenant   Réponse avec citation
Vieux 12/04/2008, 01h43   #22 (permalink)
XLDnaute Barbatruc
 
Avatar de Staple1600
 
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re

Je sais pas comment mieux me faire comprendre.
Je vais réessayer

1) site de l'archive d'origine au format *.rar : sur ce site
Je poste le même fichier au format zip : Elvis Presley - Love Me Tender.zip

Ce fichier contient la partition au format pdf (en "notation classique")

Maintenant pour les personnes sachant le solfège et les équivalences suivantes :
(A -LA, B -SI, C - DO, D -RE, E -MI, F -FA, G -SOL)
et qui connaissent les normes MIDI
Voir ici: (1) Summary of MIDI Note Numbers

Il doit être facile en lisant la partition de "convertir" les notes "classiques"
en lettres.
(Juste quelques mesures, ou dans mon langage, l'équivalent de 30 à 45 secondes en partant du début de la partition)

Pour moi, cela n'est pas intuitif. (Je ne connais pas le solfège et je ne sais pas lire une partition)

Mais une fois que j'aurais ces quelques lettres, à l'aide du tableau de correspondance (1), j'obtiendrai une suite de chiffres, qui seront exploitables dans le code VBA PlayMidi (cité plus bas dans le fil)

Quant à la finalité, comme dit précédemment, tout ceci, n'est que pur divertissement (en tout cas pour moi).

J'espère jeanpierre que ce dernier message t'aura aidé à comprendre.

Merci en tout cas de t'être arrêté ici.

Bonne soirée à tous et bon week-end.
__________________
Cordialement,
__________________
JM

Addict


Staple1600 est déconnecté   Réponse avec citation
Vieux 12/04/2008, 12h23   #23 (permalink)
XLDnaute Barbatruc
 
Avatar de Staple1600
 
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re


Devant mon inculture musicale, j'ai orienté mes recherches vers un traitement "informatique" de la chose.

Bilan des opérations:

1) un fichier midi : love-me-tender.zip (version karaoké)

2) cet applicatif java: MidiSwing
MidiSwing

3) A ce stade, j'obtiens (enfin je crois) les notes ("numéro MIDI")
et ce qui semble être la "durée des notes".

4) J'ai donc incorporé ces chiffres dans VBA
mais le résultat n'est guère probant (lol) on reconnait absolument pas ce tube du King.

PS: je sais (grâce à la FAQ (pages WIKI de MichelXLD) que je pourrais jouer directement le fichier MIDI dans Excel, mais justement je voudrais faire
(comme le fait si bien Sitting Hoax sur mpfe) mettre les notes en dur dans le code VBA.)

Je poursuis mes investigations (tout aide ou suggestions sera la bienvenue)

Bon week-end à tous.
__________________
Cordialement,
__________________
JM

Addict



Dernière modification par Staple1600 ; 12/04/2008 à 12h37.
Staple1600 est déconnecté   Réponse avec citation
Vieux 12/04/2008, 13h00   #24 (permalink)
XLDnaute Barbatruc
 
Avatar de Staple1600
 
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re


EDITION: un autre outil plus simple ( sous Dos) pour rendre plus compréhensible le contenu d'un fichier midi et obtenir les notes en notation abc
abc.zip


_________________________
Voici un exemple plus parlant

A mettre dans un module standard
Puis allumez les enceintes de votre PC
Ensuite lancer danse_du_sabre
(sauf si vous êtes mélomane )
Source:
MPFE
Auteur: Sitting Hoax
Code:
Private Declare Function midiOutClose Lib "winmm.dll" _
                (ByVal hMidiOut As Long) As Long
'-------------------------------
Private Declare Function midiOutOpen Lib "winmm.dll" _
                (lphMidiOut As Long, _
                ByVal uDeviceID As Long, _
                ByVal dwCallback As Long, _
                ByVal dwInstance As Long, _
                ByVal dwFlags As Long) As Long
'-------------------------------
Private Declare Function midiOutShortMsg Lib "winmm.dll" _
                (ByVal hMidiOut As Long, _
                ByVal dwMsg As Long) As Long
Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
Dim hMidiOut As Long
Public notes
Public instrument
Public temps
Sub jouer_la_note()
midiOutClose hMidiOut
    midiOutOpen hMidiOut, 0, 0, 0, 0
    midiOutShortMsg hMidiOut, RGB(192, instrument - 1, 127)
    lanote = 12 + CInt(notes)
    note = RGB(144, lanote, 127)
    midiOutShortMsg hMidiOut, note
Sleep (temps)
fin:
End Sub

Sub danse_du_sabre()
Numéro = 0
notes_a_jouer = "6262626262626262626262626262" & _
"616262626162626261626262616262626161" & _
"606059595858006158006158"
 For Notess = 0 To Len(notes_a_jouer) Step 2
 noteG = Mid(notes_a_jouer, (Numéro * 2) + 1, 2)
      Application.EnableCancelKey = xlErrorHandler
On Error GoTo fin
TEMP = "150150150150150150150150150150150" & _
"150150150150150150150150150150150150150150" & _
"150150150150150150150150150200150" & _
"150150100200300100200300"
    temps = Mid(TEMP, (Numéro * 3) + 1, 3)
    lanote = 12 + CInt(noteG)
    note = RGB(144, lanote, 127)
    notes = lanote
   instrument = 87 'Int(Rnd * 128)
   jouer_la_note
    Numéro = Numéro + 1
Next
fin:
midiOutClose hMidiOut
End Sub
Pour ce qui concerne Elvis, je pense avoir les
notes_a_jouer mais pas TEMP
__________________
Cordialement,
__________________
JM

Addict



Dernière modification par Staple1600 ; 12/04/2008 à 15h50.
Staple1600 est déconnecté   Réponse avec citation
Vieux 12/04/2008, 22h58   #25 (permalink)
XLDnaute Impliqué
 
Avatar de ya_v_ka
 
Date d'inscription: février 2005
Localisation: Collombey-le-Grand
Version Excel : Excel 2003 (PC)
Messages: 554
Envoyer un message via Yahoo à ya_v_ka
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Salut tout le monde

Citation:
Envoyé par Staple1600 Voir le message
(code inspiré comme le dit l'auteur d'un site français)
Je me demande ce que sous-entend cette phrase ?

L'auteur d'un site en français a trouvé ce code inspiré ?

Ce code est inspiré, tel que le dit l'auteur d'un site français ?

Ce code est inspiré d'un site français, comme le dit l'auteur ?

Belle demoiselle d'amour mon coeur...

Ya'v
__________________
Ne craignez pas de chercher la perfection, vous ne l'atteindrez de toute façon jamais. (Salvador Dali)
ya_v_ka est déconnecté   Réponse avec citation
Vieux 12/04/2008, 23h16   #26 (permalink)
XLDnaute Barbatruc
 
Avatar de Staple1600
 
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Bonsoir ya_v_ka

La version originale
Citation:
I found some code that uses API functions to play MIDI music at a French site. I adapted the code so it's easy to use. Copy the code below and paste it into a VBA module.
Comme cela chacun traduira comme il le voudra.

Tu n'es pas musicien par hasard?

Bon week-end à tous.
__________________
Cordialement,
__________________
JM

Addict



Dernière modification par Staple1600 ; 12/04/2008 à 23h19.
Staple1600 est déconnecté   Réponse avec citation
Vieux 14/04/2008, 08h31   #27 (permalink)
XLDnaute Accro
 
Avatar de mutzik
 
Date d'inscription: février 2005
Localisation: Lixing les Rouhling
Version Excel : Excel 2003 (PC)
Messages: 1 454
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Salut le foule,

pas de prob pour te donner les temp, mais le code de Sitting Hoax ne fonctionne pas chez moi, faut-il activer kkchose de spécial

les notes : Ré Sol Fa# Sol La Mi La Sol Fa# Mi Fa# Sol (cette ligne 2 fois)
ensuite : Si Si Si Si Si Si Si Si La Sol La Si
Si Si Do Si La Mi La Sol Fa# Mi Fa# Sol

les temp
en prenant comme base de temps 1 = 0,5 sec (2=1sec ...)
1 1 1 1 1 1 2 1 1 1 1 4 (2x)
1 1 1 1 1 1 2 1 1 1 1 4
1 1 1 1 1 1 2 1 1 1 1 4
on peut affiner par la suite, suivant les tempéraments d'éxecution

voili, à plus
__________________
@+ertrand
mutzik est déconnecté   Réponse avec citation
Vieux 14/04/2008, 08h48   #28 (permalink)
XLDnaute Accro
 
Avatar de mutzik
 
Date d'inscription: février 2005
Localisation: Lixing les Rouhling
Version Excel : Excel 2003 (PC)
Messages: 1 454
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re, sinon, on peut aller voir sur le site

Notes
qui explique assez bien le début de la zik
__________________
@+ertrand
mutzik est déconnecté   Réponse avec citation
Vieux 14/04/2008, 15h04   #29 (permalink)
XLDnaute Barbatruc
 
Avatar de Staple1600
 
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Bonjour Mutsik


Cela peut venir de ta configuration

(Carte son et périphérique MIDI)


midiOutOpen hMidiOut, 0, 0, 0, 0


Sur certains forums, certains parlent de changer les chiffres

Je vais chercher plus d'infos et je reviens te dire

Autrement, voici les notes que j'ai récupéré (avec le logiciel abc)

mais les notes sont en notation abc

Et je ne vois comment faire pour retrouver leur "duration"

ci-joint le fichier txt contenant

(quelques notes)


EDITION: Mutzik : les notes que tu indiques sont celles de Love Me tender ?

Je vais essayer de les convertir en "numéros MIDI"
Fichiers attachés
Type de fichier : zip notes.zip (572 octets, 3 affichages)
__________________
Cordialement,
__________________
JM

Addict



Dernière modification par Staple1600 ; 14/04/2008 à 15h14.
Staple1600 est déconnecté   Réponse avec citation
Vieux 14/04/2008, 15h48   #30 (permalink)
XLDnaute Barbatruc
 
Avatar de Staple1600
 
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
Par défaut Re : [VBA] La macro ultime (POUR CEUX QUI SAVENT LA VERITE) - Ne pas DIFFUSEZ -

Re

Mutzik:
Voila ce que j'ai trouvé comme infos

Citation:
NB : incrémenter le 1er parametre 0 sert dans le cas ou
plusieurs Devices Midi sont présents sur la machine.
La macro ci-dessous joue les notes.

Code:
'auteur: Modeste
'source
'MPFE
Private Declare Function midiOutClose Lib "winmm.dll" _ 
                 (ByVal hMidiOut As Long) As Long 
 '------------------------------- 
 Private Declare Function midiOutOpen Lib "winmm.dll" _ 
                 (lphMidiOut As Long, _ 
                 ByVal uDeviceID As Long, _ 
                 ByVal dwCallback As Long, _ 
                 ByVal dwInstance As Long, _ 
                 ByVal dwFlags As Long) As Long 
 '------------------------------- 
 Private Declare Function midiOutShortMsg Lib "winmm.dll" _ 
                 (ByVal hMidiOut As Long, _ 
                 ByVal dwMsg As Long) As Long 
 '--------------------------------------------------- 
 Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As 
 Long) 
 Dim hMidiOut As Long 
 Public note As long 
 '------------------------------- 
 Sub notesmidi() 
     For i = 32 To 96 
         note = RGB(144, i, 127) 
   'si aucun son emis : incrémenter le 1er 0 ci-dessous 
         midiOutOpen hMidiOut, 0, 0, 0, 0 
 
        midiOutShortMsg hMidiOut, note 
         Sleep (200) ' durée entre notes 
     Next 
     midiOutClose hMidiOut 
 End Sub
__________________
Cordialement,
__________________
JM

Addict



Dernière modification par Staple1600 ; 14/04/2008 à 16h01.
Staple1600 est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Pour ceux qui excélent dans excel freenaute Forum Excel 17 13/10/2006 16h29
pour ceux qui veulent apprendre à faire des graphiques Néophyte Forum Excel 5 10/09/2006 13h00
Pour celles et ceux qui postent du code Sylvain Forum Excel 6 05/07/2005 22h02
pour ceux que ça intéresse : code pour suivre l'avancement d'une boucle Sylvain Forum Excel Downloads - Archives 4 24/02/2004 02h54
pti prob régler en 2s pour ceux ki sy connaisse...mai pa pour moi!!! gael Forum Excel Downloads - Archives 5 11/07/2003 07h58


Fuseau horaire GMT +2. Il est actuellement 15h20.


(C) 2006 Excel Downloads