Quantcast

Export midi d'un fichier batterie

classic Classique list Liste threaded Arborescence
8 messages Options
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Export midi d'un fichier batterie

Carlus
Bonjour à tous,

Je cherche depuis ce matin comment exporter un fichier en midi. J'ai lu des dizaines de pages, fais plein de tests, rien à faire.
Je suis sous GNU/Linux avec Frescobaldi.

Dans la doc il est spécifié que le bloc midi doit être insérer dans le bloc Score.
Or dans toutes mes partitions de batterie, je n'ai pas de bloc score mais un Drumstaff.

J'utilise Lilypond de façon plus ou moins empirique depuis des années et j'en suis fort satisfait.
En revanche je ne maîtrise pas toutes la construction des fichiers, entre les scores, les staffs, etc..
Mais bon, j'ai fait des dizaines de partitions et ça fonctionne.

Là j'ai un élève non voyant et donc la seule façon que j'ai de lui transmettre des partitions, c'est le midi.
Donc si quelqu'un a une idée pour m'aider sans m'obliger à remettre toute ma façon de faire dans Lilypond, je suis preneur.

Voici ci-dessous le code d'une partition qui se compile sans problème.

Merci d'avance à tous et bon dimanche.
Carl



\version "2.18.2"

#(define ma_notation '(
        (bassdrum () #f -5)
        (pedalhihat cross #f -5)
        (snare () #f 0)
        (lowfloortom () #f -3)
        (lowmidtom () #f 1)
        (himidtom () #f 3)
        (closedhihat cross #f 5)
        (halfopenhihat cross "halfopen" 5)
        (openhihat xcircle #f 5)
        (ridecymbal cross #f 6)
        (crashcymbal xcircle #f 6)
        (splashcymbal diamond #f 6)
        (chinesecymbal mensural #f 6)
        (ridebell diamond #f 6)
))
%bd
%hhp
%sn
%tomfl
%tomml
%tommh
%hhc
%hho
%hhho
%hhca
%cymc
%cyms
%cymch

D=^\markup { \fontsize #4 \char ##x00B0 }
G=^\markup { \char ##x2022 }

\paper {
  % espace entre portées
  system-system-spacing #'basic-distance = #18
  % espace entre notes/exercice et portee
  markup-system-spacing #'basic-distance = #18
  %system-system-spacing #'space = 3\cm
  score-system-spacing =
  #'((basic-distance . 14)
  (minimum-distance . 1)
  (padding . 1)
  (stretchability . 1))
  indent=0
}

\header{
  title = "Oliver Swing"
  subtitle = ""
  composer = "Carl Bouchaux"
}

\layout {
    % Pleine largeur
  ragged-right = ##f
}



\new DrumStaff \with {
                \override DrumStaff #'TimeSignature #'style = #'()
                fontSize = #1
                \override StaffSymbol #'staff-space = #(magstep 1)
                \consists "Parenthesis_engraver"
                }

<<
        \new DrumVoice = "1" { s1 *4 }
        \new DrumVoice = "2" { s1 *4 }
        \set DrumStaff.drumStyleTable = #(alist->hash-table ma_notation)
  \drummode
        {
                <<
                        \tempo 4 = 110
                        {
                                s1
                                cymc4^> cymr8 cymr cymr4 cymr
                                s2. s8 cymc^>
                                cymc4^> cymr8 cymr cymr4 cymr8 cymr
                                \break
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr s2
                                \break
                                cymc4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                \break
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr8 s4.
                                \break
                                \break
                                cymc4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                \break
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                 cymr8 s2. cymc8^> ~
                                \break
                                cymc4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymr cymr4 cymr8 cymr
                                cymr4 cymr8 cymc^> ~ cymc8 cymc8^> ~ cymc4
                                \break
                                cymr4 cymr8 cymc^> ~ cymc2
                                s1
                                s2. s8. cymc16^>
                                cymc1^> \fermata
                                \break
                                \bar "|."

                        }
                        \\
                        {
                                \times 2/3 {sn8 sn tommh} tommh4 \times 2/3 {sn8 sn tomfl} tomfl4
                                bd4 r2.
                                \times 2/3 {sn8 sn tomfl} tomfl4 \times 2/3 {sn8\G sn\D tommh\G} tommh\D bd
                                bd4 r2.
                               
                                r8 bd r4 r8 sn ~ sn [bd] ~
                                bd4 r8 sn ~ sn [bd] ~ bd4
                                r8 sn ~ sn [bd] ~ bd4 r
                                 r2 \times 2/3 {sn8\G tomfl bd} \times 2/3 {tommh\G tomfl bd}
                               
                                bd4 r8 sn sn4 r
                                sn8 sn bd4 r tommh8 tommh
                                bd4 r tomfl8 tomfl bd4
                                r4 r8 bd bd [sn] sn4
                               
                                r4 r8 bd sn4_> r
                                bd8 [bd] sn sn r bd tomfl4
                                bd8 [bd] sn sn r bd tommh4
                                bd4 r \times 2/3 {r8 tommh tomfl} \times 2/3 {sn sn sn^>}
                               
                                bd4 r \times 2/3 {r4 sn sn}
                                \times 2/3 {sn sn sn} bd4 sn8 bd~
                                bd4 r \times 2/3 {r4 sn bd}
                                \times 2/3 {tomfl bd tommh} bd4 bd8 sn~
                               
                                sn4 sn bd bd8 sn
                                r2 \times 2/3 {sn8 bd sn} bd4
                                r4 \times 2/3 {bd8 sn bd} sn4 r
                                r8 tommh \times 2/3 {tommh sn sn} \times 2/3 {sn tomfl sn} \times 2/3 {sn sn bd ~}
                               
                                bd4 r r8 sn sn [bd]
                                bd4 r8 sn sn [bd] bd4
                                r8 sn sn [bd] bd4 r8 sn
                                sn [bd] bd bd ~ bd bd ~ bd4
                               
                                r4. bd8 ~ bd4 r8 bd
                                \times 2/3 {sn8 sn sn} \times 2/3 {tommh tomfl bd}  \times 2/3 {sn sn sn} \times 2/3 {tommh tomfl bd}
                                sn16 sn bd tomfl tommh bd sn sn bd tomfl tommh bd \times 4/6 {sn sn sn tommh tomfl bd}
                                bd1
                               
                }
                >>
        }
>>

Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Export midi d'un fichier batterie

Bernard Meylan
Bonjour,

il te suffit d'insérer un "\score {" juste avant le \new DrumStaff \with {, de mettre l'accolade fermante juste
après les chevrons fermants ">>", et entre deux un \midi {}, cela va te générer un fichier MIDI... mais il y a toutes les percussions que tu as crées auxquelles il faut assigner un instrument, et des hauteurs de sons au vu de ta notation... et là, je sèche... parce que si tu ne le fais pas, LilyPond va bien te générer un fichier MIDI... mais sans rien dedans...

J'espère t'avoir fait tout de même avancer un brin...

Bernard
 
Cordialement

Bernard
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Export midi d'un fichier batterie

Carlus
Merci Bernard. Je l'ai fait et effectivement j'ai un fichier midi, vide...
Je continue à essayer de comprendre les histoires d'attribution mais pour le moment c'est très obscur....
Je cherche aussi un exemple batterie qui fonctionne en export midi....
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Export midi d'un fichier batterie

Jean GOUJON
Le 07/05/2017 à 17:51, Carlus a écrit :
> Merci Bernard. Je l'ai fait et effectivement j'ai un fichier midi, vide...
> Je continue à essayer de comprendre les histoires d'attribution mais pour le
> moment c'est très obscur....
> Je cherche aussi un exemple batterie qui fonctionne en export midi....
Bonjour,
pour exporter en midi tu peux fabriquer avec Hydrogen qui fait l'export
midi :
http://www.hydrogen-music.org/hcms/
salut.

--
Jean GOUJON, www.toucheetsonne.fr - http://www.ensemblechoraldelibourne.org/
www.abul.org (Linux & logiciels libres) - Téléchargez et essayez linux!
http://www.mageia.org/fr/

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Export midi d'un fichier batterie

Carlus
Merci Jean. J'y ai pensé. Le problème c'est que je serais obligé de tout recoder sous Hydrogen alors que j'ai déjà tout sous Lilypond.
Donc je ne ferai ça que si vraiment je ne trouve pas la solution.
Bonne journée
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Export midi d'un fichier batterie

Carlus
Bonjour à tous,

Je relance le sujet après plusieurs messages échangés par mail avec Jean-Jacques en privé, que je remercie grandement pour avoir fait avancer la chose.
Ce dernier a réussi à écrire un code (ci-dessous) qui exporte bien le midi.
Le seul souci c'est que ce code est sur deux portées et que la partition de batterie doit être écrite sur une seule avec deux voix, comme mon code initial (premier post).
J'ai passé plusieurs heures à essayer de transformer ce code en une seule portée, sans succès.
J'ai essayé aussi d'appliquer les parties de son code sur mon fichier initial, j'ai toujours du midi vide.

La consultation des forums, notamment américains, m'a montré qu'en fait ce problème de midi vide est fréquent.

Je fais donc à nouveau appel à tous pour essayer de résoudre définitivement ce problème.

Merci d'avance pour vos idées ou suggestions.


\version "2.18.2"

#(define ma_notation '(
        (bassdrum () #f -5)
        (pedalhihat cross #f -5)
        (snare () #f 0)
        (lowfloortom () #f -3)
        (lowmidtom () #f 1)
        (himidtom () #f 3)
        (closedhihat cross #f 5)
        (halfopenhihat cross "halfopen" 5)
        (openhihat xcircle #f 5)
        (ridecymbal cross #f 6)
        (crashcymbal xcircle #f 6)
        (splashcymbal diamond #f 6)
        (chinesecymbal mensural #f 6)
        (ridebell diamond #f 6)))
%{
;bd
;hhp
;sn
;tomfl
;tomml
;tommh
;hhc
;hho
;hhho
;hhca
;c;ymc
;cyms
;cymch
%}

\header{
  title = "Oliver Swing"
  subtitle = ""
  composer = "Carl Bouchaux"
}

\paper {   % Pleine largeur
  ragged-right = ##f
}

D=^\markup { \fontsize #4 \char ##x00B0 }
G=^\markup { \char ##x2022 }

voixUNE = \drummode {
\tempo 4 = 110

s1
cymc4^> cymr8 cymr cymr4 cymr
s2. s8 cymc^>
cymc4^> cymr8 cymr cymr4 cymr8 cymr
\break
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr s2
\break
cymc4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
\break
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr8 s4.
\break
\break
cymc4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
\break
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr8 s2. cymc8^> ~
\break
cymc4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymr cymr4 cymr8 cymr
cymr4 cymr8 cymc^> ~ cymc8 cymc8^> ~ cymc4
\break
cymr4 cymr8 cymc^> ~ cymc2
s1
s2. s8. cymc16^>
cymc1^> \fermata
\break
\bar "|."

}

voixDEUX = \drummode {

\times 2/3 {sn8 sn tommh} tommh4 \times 2/3 {sn8 sn tomfl} tomfl4
bd4 r2.
\times 2/3 {sn8 sn tomfl} tomfl4 \times 2/3 {sn8\G sn\D tommh\G} tommh\D bd
bd4 r2.

r8 bd r4 r8 sn ~ sn [bd] ~
bd4 r8 sn ~ sn [bd] ~ bd4
r8 sn ~ sn [bd] ~ bd4 r
r2 \times 2/3 {sn8\G tomfl bd} \times 2/3
{tommh\G tomfl bd}

bd4 r8 sn sn4 r
sn8 sn bd4 r tommh8 tommh
bd4 r tomfl8 tomfl bd4
r4 r8 bd bd [sn] sn4

r4 r8 bd sn4_> r
bd8 [bd] sn sn r bd tomfl4
bd8 [bd] sn sn r bd tommh4
bd4 r \times 2/3 {r8 tommh tomfl} \times 2/3
{sn sn sn^>}

bd4 r \times 2/3 {r4 sn sn}
\times 2/3 {sn sn sn} bd4 sn8 bd~
bd4 r \times 2/3 {r4 sn bd}
\times 2/3 {tomfl bd tommh} bd4 bd8 sn~

sn4 sn bd bd8 sn
r2 \times 2/3 {sn8 bd sn} bd4
r4 \times 2/3 {bd8 sn bd} sn4 r
r8 tommh \times 2/3 {tommh sn sn} \times 2/3
{sn tomfl sn} \times 2/3 {sn sn bd ~}

bd4 r r8 sn sn [bd]
bd4 r8 sn sn [bd] bd4
r8 sn sn [bd] bd4 r8 sn
sn [bd] bd bd ~ bd bd ~ bd4

r4. bd8 ~ bd4 r8 bd
\times 2/3 {sn8 sn sn} \times 2/3 {tommh
tomfl bd} \times 2/3 {sn sn sn} \times 2/3 {tommh tomfl bd}
sn16 sn bd tomfl tommh bd sn sn bd tomfl
tommh bd \times 4/6 {sn sn sn tommh tomfl bd}
bd1

}


 \score {  <<

    \new DrumVoice { \voiceOne \voixUNE }
    \new DrumVoice { \voiceTwo \voixDEUX }

           >>

    \layout { \numericTimeSignature

           \set DrumStaff.drumStyleTable = #(alist->hash-table ma_notation)
  \drummode { }

 }
  \midi { \tempo 4 = 60 }

} % score
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Export midi d'un fichier batterie

filosophem
Bonsoir,

Le code ci dessous marche impec chez moi:

\version "2.18.2"

#(define ma_notation '(
                        (bassdrum () #f -5)
                        (pedalhihat cross #f -5)
                        (snare () #f 0)
                        (lowfloortom () #f -3)
                        (lowmidtom () #f 1)
                        (himidtom () #f 3)
                        (closedhihat cross #f 5)
                        (halfopenhihat cross "halfopen" 5)
                        (openhihat xcircle #f 5)
                        (ridecymbal cross #f 6)
                        (crashcymbal xcircle #f 6)
                        (splashcymbal diamond #f 6)
                        (chinesecymbal mensural #f 6)
                        (ridebell diamond #f 6)))
%{
;bd
;hhp
;sn
;tomfl
;tomml
;tommh
;hhc
;hho
;hhho
;hhca
;c;ymc
;cyms
;cymch
%}

\header{
  title = "Oliver Swing"
  subtitle = ""
  composer = "Carl Bouchaux"
}

\paper {   % Pleine largeur
  ragged-right = ##f
}

D=^\markup { \fontsize #4 \char ##x00B0 }
G=^\markup { \char ##x2022 }

voixUNE = \drummode {
  \tempo 4 = 110

  s1
  cymc4^> cymr8 cymr cymr4 cymr
  s2. s8 cymc^>
  cymc4^> cymr8 cymr cymr4 cymr8 cymr
  \break
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr s2
  \break
  cymc4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  \break
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr8 s4.
  \break
  \break
  cymc4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  \break
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr8 s2. cymc8^> ~
  \break
  cymc4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymr cymr4 cymr8 cymr
  cymr4 cymr8 cymc^> ~ cymc8 cymc8^> ~ cymc4
  \break
  cymr4 cymr8 cymc^> ~ cymc2
  s1
  s2. s8. cymc16^>
  cymc1^> \fermata
  \break
  \bar "|."

}

voixDEUX = \drummode {

  \times 2/3 {sn8 sn tommh} tommh4 \times 2/3 {sn8 sn tomfl} tomfl4
  bd4 r2.
  \times 2/3 {sn8 sn tomfl} tomfl4 \times 2/3 {sn8\G sn\D tommh\G} tommh\D bd
  bd4 r2.

  r8 bd r4 r8 sn ~ sn [bd] ~
  bd4 r8 sn ~ sn [bd] ~ bd4
  r8 sn ~ sn [bd] ~ bd4 r
  r2 \times 2/3 {sn8\G tomfl bd} \times 2/3
  {tommh\G tomfl bd}

  bd4 r8 sn sn4 r
  sn8 sn bd4 r tommh8 tommh
  bd4 r tomfl8 tomfl bd4
  r4 r8 bd bd [sn] sn4

  r4 r8 bd sn4_> r
  bd8 [bd] sn sn r bd tomfl4
  bd8 [bd] sn sn r bd tommh4
  bd4 r \times 2/3 {r8 tommh tomfl} \times 2/3
  {sn sn sn^>}

  bd4 r \times 2/3 {r4 sn sn}
  \times 2/3 {sn sn sn} bd4 sn8 bd~
  bd4 r \times 2/3 {r4 sn bd}
  \times 2/3 {tomfl bd tommh} bd4 bd8 sn~

  sn4 sn bd bd8 sn
  r2 \times 2/3 {sn8 bd sn} bd4
  r4 \times 2/3 {bd8 sn bd} sn4 r
  r8 tommh \times 2/3 {tommh sn sn} \times 2/3
  {sn tomfl sn} \times 2/3 {sn sn bd ~}

  bd4 r r8 sn sn [bd]
  bd4 r8 sn sn [bd] bd4
  r8 sn sn [bd] bd4 r8 sn
  sn [bd] bd bd ~ bd bd ~ bd4

  r4. bd8 ~ bd4 r8 bd
  \times 2/3 {sn8 sn sn} \times 2/3 {tommh
                                     tomfl bd} \times 2/3 {sn sn sn} \times 2/3 {tommh tomfl bd}
  sn16 sn bd tomfl tommh bd sn sn bd tomfl
  tommh bd \times 4/6 {sn sn sn tommh tomfl bd}
  bd1

}


\score {
  \header {
    piece = "Oliver_Swing"
  }
  \new DrumStaff
  <<
    \new DrumVoice { \voiceOne \voixUNE }
    \new DrumVoice { \voiceTwo \voixDEUX }
  >>

  \layout {
    \numericTimeSignature
    \set DrumStaff.drumStyleTable = #(alist->hash-table ma_notation)
  }
} % score

\book {
  \bookOutputName "Oliver_Swing"
  \score {
    \new DrumStaff
    <<
      \time 4/4
      \tempo 4 = 110
      \new DrumVoice { \voiceOne \voixUNE }
      \new DrumVoice { \voiceTwo \voixDEUX }
    >>
    \midi { }
  }
}
"/home sweet /home" Filosophem
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: Export midi d'un fichier batterie

Carlus
Bonsoir,

Effectivement le code fonctionne chez moi aussi.
Merci beaucoup.
Il y a plusieurs notions que je n'avais jamais employé comme book par exemple.
Je vais regarder ça;

Bonne soirée
Chargement...