lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mid and midi


From: Francois Planiol-Auger
Subject: mid and midi
Date: Tue, 10 Jul 2007 20:30:02 +0200
User-agent: KMail/1.9.1

Hi!
I am searching how to convert *.mid to ly. (mainly from tobis-notenarchiv.de
I wrote already about, but I dont still have a working solution.

It seems to me that mid and midi very different file-formats are.
See in PS.
With
> midi2ly file.midi (from mutopia)
... works fine 
but not with midi2ly file.mid. (from tobis-notenarch...)
I get then a not usable file.ly
(I got these 2 files of the same choral from bach in mid and midi for test)

I tried/searched till now:

- First way: convert mid2midi then midi2ly (look for differences in PS)
I found a script mid2midi*, but unfortunately it is a matlab script, so I cant 
use it. Matlab doesnt seems to have much contact with private persons...

- Second way:
open file.mid with noteedit then export as lilypond and purify the .ly 
file!!!... Very heavy. Not practicable for the many files I have to handle. 
But if there is no other solution...

- Third and best way, but how?
mid2ly
I found an advice in sourceforge.jp** that there was either a mid2ly and a 
midi2ly. Is that true? How to convert from mid? Unfortunately, I cant 
understand Japanese...

- ThirdA: it would be helpful, of course, to have a cap2ly, but it seems to be 
a difficult topic ;-) or is it not?

Of course, I want to convert pieces that do only in this .mid format exist. 
For BWV734, I dont need that anymore ;-)

That it for now. I hope my english is human readable ;-)

Thanks

Francois
still using 2.10.25

* neural.cs.nthu.edu.tw/jang/matlab/toolbox/CBMR/mid2midi.m
** http://mytexpert.sourceforge.jp/index.php?LilyPond (was lilypond 2.6.5)

PS

a  M I D - File
Beginning of BWV734.mid (from 
tobis-notenarchiv.de/bach/09-Orgelwerke/19-Choralbearbeitungen/index.htm)
MThd         �Trk     Q 
 6 X      Y    / MTrk   c       unbenannt �  PPCd:Cd Bd:Bd Cd:Cd Ed:Ed Gd:Gd 
Jd:Jd 
Hd:Hd Gd:Gd Ed:Ed Cd:Cd Ed:Ed Gd:Gd Hd:Hd Ld:Ld Jd:Jd Hd:Hd Gd:Gd Ed:Ed Gd:Gd 
Hd:Hd Jd:Jd Od:Od Nd:Nd Ld:Ld Jd:Jd Hd:Hd Gd:Gd Ed:Ed Gd:Gd Hd:Hd Gd:Gd Ed:Ed 
Cd:Cd Bd:Bd Cd:Cd Ed:Ed Gd:Gd Cd:Cd Ed:Ed Gd:Gd Hd:Hd Jd:Jd Ld:Ld Nd:Nd Od:Od 
Gd:Gd Ed:Ed Cd:Cd Jd:Jd Id:Id Jd:Jd Ld:Ld Ld:Ld Qd:Qd Od:Od Nd:Nd Ld:Ld Kd:Kd 
Ld:Ld Nd:Nd Od:Od Sd:Sd Qd:Qd Od:Od Td:Td Nd:Nd Od:Od Sd:Sd Ld:Ld Qd:Qd Od:Od 
Nd:Nd Ld:Ld Jd:Jd Ld:Ld Od:Od Ld:Ld Od:Od Nd:Nd Ld:Ld Jd:Jd Hd:Hd Gd:Gd Ed:Ed 
Cd:Cd Ed:Ed Gd:Gd Hd:Hd Jd:Jd Hd:Hd Jd:Jd Ld:Ld Md:Md Qd:Qd Od:Od Md:Md Ld:Ld 
Jd:Jd Ld:Ld Nd:Nd Od:Od Sd:Sd Qd:Qd Od:Od Nd:Nd Ld:Ld Nd:Nd Od:Od Qd:Qd Jd:Jd 
Id:Id Gd:Gd Ed:Ed Cd:Cd Bd:Bd @d:@d Bd:Bd Cd:Cd Bd:Bd @d:@d >d:>d =d:=d >d:>d 

a  M I D I - File
Beginning of BWV734.midi (from mutopia)
MThd         MTrk     'Creator: GNU LilyPond 2.8.1              :Generated 
automatically by: GNU LilyPond 2.8.1              <at Sun Apr  2 20:40:17 
2006                                   <at Sun Apr  2 20:40:17 2006             
                       
Track 0 / MTrk   �  right Q     W �     pan flute C Y    X     `C@ B`B@ C`C@ 
E`E@ G`G@ J`J@ H`H@ G`G@ E`E@ C`C@ E`E@ G`G@ H`H@ L`L@ J`J@ H`H@ 
G`G@ E`E@ G`G@ H`H@ J`J@ O`O@ N`N@ L`L@ J`J@ H`H@ G`G@ E`E@ G`G@ 
H`H@ G`G@ E`E@ C`C@ B`B@ C`C@ E`E@ G`G@ C`C@ E`E@ G`G@ H`H@ J`J@ 
L`L@ N`N@ O`O@ G`G@ E`E@ C`C@ J`J@ I`I@ J`J@ L`L@ N`N@ Q`Q@ O`O@ 
N`N@ L`L@ K`K@ L`L@ N`N@ O`O@ S`S@ Q`Q@ O`O@ T`T@ N`N@ O`O@ S`S@ 
L`L@ Q`Q@ O`O@ N`N@ L`L@ J`J@ L`L@ O`O@ N`N@ O`O@ N`N@ L`L@ J`J@ 
H`H@ G`G@ E`E@ C`C@ E`E@ G`G@ H`H@ J`J@ H`H@ J`J@ L`L@ M`M@ Q`Q@ 
O`O@ M`M@ L`L@ J`J@ L`L@ N`N@ O`O@ S`S@ Q`Q@ O`O@ N`N@ L`L@ N`N@ 
O`O@ Q`Q@ J`J@ I`I@ G`G@ E`E@ C`C@ B`B@ @`@@ B`B@ C`C@ B`B@ @`@@ 
>`>@ =`=@ >`>@ @`@@ B`B@ >`>@ @`@@ B`B@ 

a  M I D 2 L Y - File
BWV743.ly as converted from file.mid to ly using midi2ly
% Lily was here -- automatically converted 
by /usr/local/lilypond/usr/bin/midi2ly from BWV_0734.mid
\version "2.10.10"
trackAchannelA =  {
  \tempo 4 = 70
  \time 4/4 
  \key g \major 
}
trackA = <<
  \context Voice = channelA \trackAchannelA
>>
trackBchannelA = \relative c {
  % [SEQUENCE_TRACK_NAME] unbenannt
  s2. g''4*58/240 s4*2/240 fis4*58/240 s4*2/240 g4*58/240 s4*2/240 a4*58/240 
  s4*2/240 |
  % 2
  b4*58/240 s4*2/240 d4*58/240 s4*2/240 c4*58/240 s4*2/240 b4*58/240 
  s4*2/240 a4*58/240 s4*2/240 g4*58/240 s4*2/240 a4*58/240 s4*2/240 b4*58/240 
  s4*2/240 c4*58/240 s4*2/240 e4*58/240 s4*2/240 d4*58/240 s4*2/240 c4*58/240 
  s4*2/240 b4*58/240 s4*2/240 a4*58/240 s4*2/240 b4*58/240 s4*2/240 c4*58/240 
  s4*2/240 |
% lot of stuff deleted ...
trackD = <<

  \clef bass
  
  \context Voice = channelA \trackDchannelA
  \context Voice = channelB \trackDchannelB
>>
\score {
  <<
    \context Staff=trackB \trackB
    \context Staff=trackC \trackC
    \context Staff=trackD \trackD
  >>
}
%%% I dont want to comment that. I think it is possible to write a script to 
%%% make something of it. But the reference value (quantize-value?) is in
%%% every file different and and and

a  M I D I 2 L Y - File, from noteedit
BWV734.ly (imported and exported from .mid through noteedit (who says: done, 
but there are problems:
Noteedit hat die Partitur nach LilyPond exportiert. Aber es gibt
einige Probleme, die ein erfolgreiches Arbeiten von LilyPond verhindert.
-----------------------------------------------------
Zeile 1; Takt 1 hat 0: 128tel; es sollten aber 128 sein
Zeile 1; Takt 1 hat 0: 128tel; es sollten aber 128 sein
Zeile 1; Takt 1 hat 0: 128tel; es sollten aber 128 sein
Zeile 1; Takt 1 hat 0: 128tel; es sollten aber 128 sein
etc etc etc

Dont laugh !-)
using afterward the convert-ly doesnt really helps
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                  %
%   LilyPond output generated by   %
%           "noteedit"             %
%                                  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\version "2.0"

#(set-global-staff-size 16)

#(define flat '((raise . 0.2) (font-relative-size . -1) (music (named 
"accidentals--1"))))
#(define sharp '((raise . 0.4) (font-relative-size . -1) (music (named 
"accidentals-1"))))
#(define note '(columns (music "noteheads-2" ((kern . -0.1) ))))
#(define quarter-head `(columns ,note ((kern . -0.1) )))

StaffA = \notes\relative c' {
        \clef violin
        \key g \major
        \time 4/4 
                           
        r2.^#`(columns , quarter-head " = 70")  g'16 fis g a b d c b a g a b c 
e d c 
b a b c d g fis e d c b a b c b a g fis g a b g a b c d e fis g b, a g d' cis 
d e e a g fis e dis e fis g b a g c fis, g b e, a g fis e d e g e g fis e d c 
b a g a b c d c d e f a g f e d e fis g b a g fis e fis g a d, cis b a g fis 
e fis g fis e d cis d e fis d e fis g a b c d e d c b a b c d g fis e d c b a 
g a b c d c d e f a g f e dis e fis g b a g a g fis e d a' g fis g fis e d e 
f e d e d c b c e d c d c b a b c b a b a g fis g a g fis g f e d e f e d e d 
c b c e d c d c b a b g a b c d e fis g d e fis g fis g a b d c b a g a b c e 
d c b a b c d g fis e d c b a b c b a g fis g a b g a b c d e fis g b, a g d' 
cis d e e a g fis e dis e fis g b a g c fis, g b e, a g fis e d e g e g fis e 
d c b a g a b c d c d e f a g f e 
% lot of stuff deleted
\score {
        \simultaneous {
                \set Score.skipBars = ##t
                \context Staff="StaffA" \StaffA
                \context Staff="StaffB" \StaffB
                \context Staff="StaffC" \StaffC
        }
        \paper {
                linewidth = 170.000 \mm
                textheight = 250.000 \mm
        }
}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]