rofy530 发表于 2015-7-11 16:38:37

我学abc之midi转abc

各位音乐的同好好久好久没有向大家报告我的学习心得了,主要是我不会的大家都慧,我会的大家会的比我更多,我就在后面苦苦追赶,就不来献丑
了!今天主要是在过去这段日子里不段的有朋友提起 midi 档案是否能转出abc 乐谱的问题。
经过我再三的摸索得出一个步错的结果,现在就来抛砖引玉啰!
大家含记得我以前分享的那个 abcmidi 软件包吗?
里面除了王老师常提起的 abc2midi 之外还有好几个好东西。 其中 midi2abc 
就是 midi档案 到 abc 乐谱的软件。
他也是一个命令行模式的软件,我们必须建立一个命令档来让他为我们执行转译的工作。
下面就以上次那个软件包的状况来做说明。
一,我们先把要转换的 midi 档案复制到
abcmidi 里面的 midi 资料夹中。
二,在 midi 资料夹中建立一个档案, 档名为
m2a.cmd 就是 midi to abc 命令的意思。
三,用上下文菜单键去找到编辑把这个档案打开。
输入下面这一行指令:
\abcmidi\prg\midi2abc -o (abc档名)(midi档名) -s
如下的范例:
\abcmidi\prg\midi2abc -o thsym.abc old-5th.mid -s
指令说明如下:
\abcmidi\prg\
是软件存放的位置。
midi2abc
这是我们要调用的软件的主档名
名称,他的后坠名是 .exe 一班都可以省略不写。
-o thsym.abc
-o 是 open 的意思 thsym.abc 是我们要他把转好的资料存放的档案名称,所以 -o 一定要放在 abc 档名的前面。
old-5th.mid
这个当然就是我们要他转的midi 档案啰。
-s
是显示所有短小音符,这个很重要,少了他我们也就会少看到很多音符。
编辑玩上免得命令档,存档后就可以直接按他执行,一下子就会在 midi 这个资料夹中产生一个 abc 的档案了。
大家如果对命令档的内容熟悉后就可以自己指定midi 档案的来源位置和 abc 档的存放位置,不一定都要把midi 档案复制到
midi 资料夹中来才能执行的。
下面就是我转出来的 abc 乐谱给大家参考。基本上除了表情记号和音量之外,应该都转出来了。
我还把他重编译成midi 给大家参考。
原始midi档案是听

abc转的midi档案是听

所有档案下载

X: 1
T: from old-5th.mid
M: 4/4
L: 1/8
Q:1/4=179
K:Eb % 3 flats
V:1
%%MIDI program 0
x
G GG E4-| \
E8-| \
E4 xF FF| \
D8-|
D8-| \
D4 x4| \
x4 xe ee| \
c6 x2|
xA AA xf ff| \
d4- dg gf| \
e4 dg gf| \
e4 dg gf|
e2 x2 c2 x2| \
g8-| \
g4 xa aa| \
f8-|
f8| \
xA AA F4-| \
F8| \
EA AA F4-|
F4- Ff ff| \
eG cc c4| \
=B=B =Bd d4| \
cc ce ed df|
f=e =eg gf fa| \
ag g_b ba ac'| \
c'=b =bd' c'_e' e'e'| \
c'g gg ec GG|
EC CC =B,f' d'd'| \
=bg ff d=B GF| \
D=B, CC Ce' e'e'| \
c'=a =a=a _ge ee|
c=A =A=A =A2 x2| \
x4 _b2 x2| \
x8| \
x8|
%%MIDI program 6
B2 e2 d2 e2| \
f2 c2 c2 B2| \
%%MIDI program 6
B2 e2 d2 e2| \
f2 c2 c2 B2|
%%MIDI program 6
b2 e'2 d'2 e'2| \
f'2 c'2 c'2 b2| \
%%MIDI program 35
B2 c2 _d2 c2| \
B2 c2 B2 _A2|
_d2 e2 f2 e2| \
_d2 e2 _d2 c2| \
e2 f2 _g2 f2| \
e2 f2 _g2 f2|
e2 f2 _g2 f2| \
e2 f2 _g2 f2| \
e2 f2 _g2 f2| \
_g2 =a2 b4-|
bc' b_a a=g fe| \
e=d cd fe BG| \
dc AF cB GE| \
B,=a b=a b=a b=a|
bc' b_a ag fe| \
ed cd fe BG| \
dc AF cB GE| \
B,2 D2 Ex3|
x8| \
x
%%MIDI program 35
f ff g
%%MIDI program 6
g' g'g'| \
e'b bb ge ee| \
x
%%MIDI program 35
b bb b2 x2|
xb bb b2 x2| \
xd' d'd' e'2 x2| \
x8| \
x
%%MIDI program 0
G GG E4-|
E8-| \
E4 xF FF| \
D8-| \
D8-|
D4 x4| \
x4 xe ee| \
c6 x2| \
xA AA xf ff|
d4- dg gf| \
e4 dg gf| \
e4 dg gf| \
e2 x2 c2 x2|
g8-| \
g4 xa aa| \
f8-| \
f8|
xA AA F4-| \
F8| \
EA AA F4-| \
F4- Ff ff|
eG cc c4| \
=B=B =Bd d4| \
cc ce ed df| \
f=e =eg gf fa|
ag g_b ba ac'| \
c'=b =bd' c'_e' e'e'| \
c'g gg ec GG| \
EC CC =B,f' d'd'|
=bg ff d=B GF| \
D=B, CC Ce' e'e'| \
c'=a =a=a _ge ee| \
c=A =A=A =A2 x2|
x4 _b2 x2| \
x8| \
x8| \
%%MIDI program 6
B2 e2 d2 e2|
f2 c2 c2 B2| \
%%MIDI program 6
B2 e2 d2 e2| \
f2 c2 c2 B2| \
%%MIDI program 6
b2 e'2 d'2 e'2|
f'2 c'2 c'2 b2| \
%%MIDI program 35
B2 c2 _d2 c2| \
B2 c2 B2 _A2| \
_d2 e2 f2 e2|
_d2 e2 _d2 c2| \
e2 f2 _g2 f2| \
e2 f2 _g2 f2| \
e2 f2 _g2 f2|
e2 f2 _g2 f2| \
e2 f2 _g2 f2| \
_g2 =a2 b4-| \
bc' b_a a=g fe|
e=d cd fe BG| \
dc AF cB GE| \
B,=a b=a b=a b=a| \
bc' b_a ag fe|
ed cd fe BG| \
dc AF cB GE| \
B,2 D2 Ex3| \
x8|
x
%%MIDI program 35
f ff g
%%MIDI program 6
g' g'g'| \
e'b bb ge ee| \
x
%%MIDI program 35
b bb b2 x2| \
xb bb b2 x2|
xd' d'd' e'2
V:2
%%MIDI program 0
x
G, G,G, E4-| \
E8-| \
E4 xF, F,F,| \
D8-|
D8-| \
D4 x4| \
xA AA G4-| \
G6 x2|
x4 G4-| \
G8| \
e4 x4| \
x4 xd dd|
c2 x2 _G2 x2| \
=B2 x6| \
x4 xA AA| \
F8-|
F8| \
x4 xD DD| \
=B,8| \
C2 x3D DD|
=B,4- =B,d dd| \
cE EE A4| \
AA AA =G4-| \
GG Gx Ax3|
_Bx3 cx3| \
=ex3 fx3| \
ax3 gx G,C| \
G,C G,C G,C G,C|
G,G, G,G, F,G, F,G,| \
F,G, F,G, F,G, F,G,| \
F,G, G,G, x_e ee| \
c=A =A=A _GE EE|
Cx _G,_G, E2 x2| \
x4 B2 x2| \
x8| \
x8|
%%MIDI program 6
=G4 _A4| \
A4 G4| \
%%MIDI program 6
G4 A4| \
A4 G4|
%%MIDI program 6
B,4 A,4| \
A,4 G,4| \
%%MIDI program 35
E4 =E4| \
=E4 F4|
F4 G4| \
B4 A4| \
c4 c4| \
x4 B4|
x4 A4| \
x4 A4| \
x4 A4| \
x2 _e2 f4-|
fx3 ex3| \
Ax3 Gx3| \
Fx3 Ex3| \
F,=A B=A f=A B=A|
f2 x2 e2 B2| \
x2 B2 x2 E2| \
x8| \
xB bb e
%%MIDI program 6
g' g'g'|
e'b bb ge ee| \
B
%%MIDI program 35
d dd e
%%MIDI program 6
g gg| \
eB BB GE EE| \
B
%%MIDI program 35
f ff g2 x2|
xf ff g2 x2| \
xb bb b2 x2| \
x8| \
x
%%MIDI program 0
G, G,G, E4-|
E8-| \
E4 xF, F,F,| \
D8-| \
D8-|
D4 x4| \
x_A AA G4-| \
G6 x2| \
x4 G4-|
G8| \
e4 x4| \
x4 xd dd| \
c2 x2 _G2 x2|
=B2 x6| \
x4 xA AA| \
F8-| \
F8|
x4 xD DD| \
=B,8| \
C2 x3D DD| \
=B,4- =B,d dd|
cE EE A4| \
AA AA =G4-| \
GG Gx Ax3| \
_Bx3 cx3|
=ex3 fx3| \
ax3 gx G,C| \
G,C G,C G,C G,C| \
G,G, G,G, F,G, F,G,|
F,G, F,G, F,G, F,G,| \
F,G, G,G, x_e ee| \
c=A =A=A _GE EE| \
Cx _G,_G, E2 x2|
x4 B2 x2| \
x8| \
x8| \
%%MIDI program 6
=G4 _A4|
A4 G4| \
%%MIDI program 6
G4 A4| \
A4 G4| \
%%MIDI program 6
B,4 A,4|
A,4 G,4| \
%%MIDI program 35
E4 =E4| \
=E4 F4| \
F4 G4|
B4 A4| \
c4 c4| \
x4 B4| \
x4 A4|
x4 A4| \
x4 A4| \
x2 _e2 f4-| \
fx3 ex3|
Ax3 Gx3| \
Fx3 Ex3| \
F,=A B=A f=A B=A| \
f2 x2 e2 B2|
x2 B2 x2 E2| \
x8| \
xB bb e
%%MIDI program 6
g' g'g'| \
e'b bb ge ee|
B
%%MIDI program 35
d dd e
%%MIDI program 6
g gg| \
eB BB GE EE| \
B
%%MIDI program 35
f ff g2 x2| \
xf ff g2 x2|
xb bb b2
V:3
%%MIDI program 0
x
G,, G,,G,, E,4-| \
E,8-| \
E,4 xF,, F,,F,,| \
D,8-|
D,8-| \
D,4 xG GG| \
E8-| \
E4- EG GG|
D8-| \
D8| \
xE EF G4-| \
GE EF GG,, G,,G,,|
G,,2 x2 _A,,2 x2| \
G2 x6| \
x4 xA, A,A,| \
F,8-|
F,8| \
x8| \
xA, A,A, G,4-| \
G,2 x6|
xA, A,A, G,4-| \
G,2 x2 FC, C,C,| \
C,F FF EC, C,C,| \
C,E Ex Fx3|
Gx3 Ax3| \
Bx3 cx3| \
dx3 ex E,x| \
E,x E,x E,x E,x|
E,E, E,E, D,x D,x| \
D,x D,x D,x D,x| \
D,x E,E, E,x E,x| \
E,x E,x E,x E,x|
E,x E,E, _G,2 x2| \
x4 F,2 x2| \
x8| \
x8|
%%MIDI program 6
E4 F4| \
Dx3 E,2 x2| \
%%MIDI program 6
E4 F4| \
Dx3 E,2 x2|
%%MIDI program 6
=G,4 F,4| \
D,4 E,4| \
%%MIDI program 35
B,4 G,4| \
xC, C,C, F,2 x2|
_D4 B,4| \
GE, E,E, E4| \
E2 F2 _G=A, =A,=A,| \
=A,2 x2 _GB, B,B,|
B,2 x2 _G=B, =B,=B,| \
=B,2 x2 _GC CC| \
C2 x2 _GC CC| \
C2 =A2 _B,4-|
B,2 =D,2 Bx3| \
Fx3 B,2 x2| \
C,2 x2 =G,2 x2| \
D,2 x2 _A,,2 F,2|
A,,2 F,2 B2 G,2| \
F,2 A,2 G,2 B,2| \
A,2 C2 B,2 B,,2| \
x2 A,2 G,
%%MIDI program 6
g gg|
eB BB GE EE| \
B,
%%MIDI program 35
F FF G
%%MIDI program 6
G GG| \
EB, B,B, G,E, E,E,| \
B,
%%MIDI program 35
d dd e2 x2|
xd dd e2 x2| \
xf ff g2 x2| \
x8| \
x
%%MIDI program 0
G,, G,,G,, E,4-|
E,8-| \
E,4 xF,, F,,F,,| \
D,8-| \
D,8-|
D,4 xG GG| \
E8-| \
E4- EG GG| \
D8-|
D8| \
xE EF G4-| \
GE EF GG,, G,,G,,| \
G,,2 x2 A,,2 x2|
G2 x6| \
x4 xA, A,A,| \
F,8-| \
F,8|
x8| \
xA, A,A, G,4-| \
G,2 x6| \
xA, A,A, G,4-|
G,2 x2 FC, C,C,| \
C,F FF EC, C,C,| \
C,E Ex Fx3| \
Gx3 Ax3|
Bx3 cx3| \
dx3 ex E,x| \
E,x E,x E,x E,x| \
E,E, E,E, D,x D,x|
D,x D,x D,x D,x| \
D,x E,E, E,x E,x| \
E,x E,x E,x E,x| \
E,x E,E, _G,2 x2|
x4 F,2 x2| \
x8| \
x8| \
%%MIDI program 6
E4 F4|
Dx3 E,2 x2| \
%%MIDI program 6
E4 F4| \
Dx3 E,2 x2| \
%%MIDI program 6
=G,4 F,4|
D,4 E,4| \
%%MIDI program 35
B,4 G,4| \
xC, C,C, F,2 x2| \
_D4 B,4|
GE, E,E, E4| \
E2 F2 _G=A, =A,=A,| \
=A,2 x2 _GB, B,B,| \
B,2 x2 _G=B, =B,=B,|
=B,2 x2 _GC CC| \
C2 x2 _GC CC| \
C2 =A2 _B,4-| \
B,2 =D,2 Bx3|
Fx3 B,2 x2| \
C,2 x2 =G,2 x2| \
D,2 x2 _A,,2 F,2| \
A,,2 F,2 B2 G,2|
F,2 A,2 G,2 B,2| \
A,2 C2 B,2 B,,2| \
x2 A,2 G,
%%MIDI program 6
g gg| \
eB BB GE EE|
B,
%%MIDI program 35
F FF G
%%MIDI program 6
G GG| \
EB, B,B, G,E, E,E,| \
B,
%%MIDI program 35
d dd e2 x2| \
xd dd e2 x2|
xf ff g2
V:4
%%MIDI program 0
x4
E,,4-| \
E,,8-| \
E,,4 x4| \
D,,8-|
D,,8-| \
D,,4 x4| \
C8-| \
C8|
=B,8-| \
=B,8| \
C4 =B,4| \
C4 =B,=B,,, =B,,,=B,,,|
C,,2 x2 A,,,2 x2| \
G,,,2 x6| \
x4 xA,, A,,A,,| \
F,,8-|
F,,8| \
x8| \
x4 xG,, G,,G,,| \
C,2 x6|
x4 xG,, G,,G,,| \
C,2 x2 DC,, C,,C,,| \
C,,2 x3C,, C,,C,,| \
C,,2 x2 C,2 x2|
C,2 x2 C,2 x2| \
C,2 x2 C,2 x2| \
C,2 x2 C,,2 C,2| \
C,8-|
C,C, C,C, G,,2 G,,2| \
G,,8-| \
G,,x C,C, C,x C,x| \
C,x C,x C,x C,x|
C,x C,C, C,2 x2| \
x4 D,2 x2| \
x
%%MIDI program 1
_B BB E4| \
F4 B,4-|
B,8-| \
B,
%%MIDI program 35
B,,, B,,,B,,, E,,2 x2| \
B,8-| \
B,B,,, B,,,B,,, E,,2 x2|
B,,8-| \
B,,B,, B,,B,, E,4| \
%%MIDI program 35
G,4 =E,4| \
xC,, C,,C,, F,,2 x2|
A,4 G,4| \
x_E,, E,,E,, A,,2 x2| \
A,4 x=A,, =A,,=A,,| \
=A,,2 x3B,, B,,B,,|
B,,2 x3=B,, =B,,=B,,| \
=B,,2 x3C, C,C,| \
C,2 x3C, C,C,| \
C,2 C,C, D,4-|
D,2 D,,2 E,,2 x2| \
F,,2 x2 G,,2 x2| \
_A,,2 x2 _B,,2 x2| \
B,,2 x2 D,,2 F,,2|
D,,2 F,,2 E,,2 G,,2| \
F,,2 A,,2 G,,2 B,,2| \
A,,2 C,2 B,,2 B,,,2| \
B,,2 F,2 E,
%%MIDI program 6
G GG|
EB, B,B, G,E, E,E,| \
B,,
%%MIDI program 35
B,,, B,,,B,,, E,,G GG| \
EB, B,B, G,E, E,E,| \
B,,
%%MIDI program 35
B,,, B,,,B,,, E,,2 x2|
xB,,, B,,,B,,, E,,2 x2| \
xB,,, B,,,B,,, E,,2 x2| \
x8| \
x4
%%MIDI program 0
E,,4-|
E,,8-| \
E,,4 x4| \
D,,8-| \
D,,8-|
D,,4 x4| \
C8-| \
C8| \
=B,8-|
=B,8| \
C4 =B,4| \
C4 =B,=B,,, =B,,,=B,,,| \
C,,2 x2 A,,,2 x2|
G,,,2 x6| \
x4 xA,, A,,A,,| \
F,,8-| \
F,,8|
x8| \
x4 xG,, G,,G,,| \
C,2 x6| \
x4 xG,, G,,G,,|
C,2 x2 DC,, C,,C,,| \
C,,2 x3C,, C,,C,,| \
C,,2 x2 C,2 x2| \
C,2 x2 C,2 x2|
C,2 x2 C,2 x2| \
C,2 x2 C,,2 C,2| \
C,8-| \
C,C, C,C, G,,2 G,,2|
G,,8-| \
G,,x C,C, C,x C,x| \
C,x C,x C,x C,x| \
C,x C,C, C,2 x2|
x4 D,2 x2| \
x
%%MIDI program 1
_B BB E4| \
F4 B,4-| \
B,8-|
B,
%%MIDI program 35
B,,, B,,,B,,, E,,2 x2| \
B,8-| \
B,B,,, B,,,B,,, E,,2 x2| \
B,,8-|
B,,B,, B,,B,, E,4| \
%%MIDI program 35
G,4 =E,4| \
xC,, C,,C,, F,,2 x2| \
A,4 G,4|
x_E,, E,,E,, A,,2 x2| \
A,4 x=A,, =A,,=A,,| \
=A,,2 x3B,, B,,B,,| \
B,,2 x3=B,, =B,,=B,,|
=B,,2 x3C, C,C,| \
C,2 x3C, C,C,| \
C,2 C,C, D,4-| \
D,2 D,,2 E,,2 x2|
F,,2 x2 G,,2 x2| \
_A,,2 x2 _B,,2 x2| \
B,,2 x2 D,,2 F,,2| \
D,,2 F,,2 E,,2 G,,2|
F,,2 A,,2 G,,2 B,,2| \
A,,2 C,2 B,,2 B,,,2| \
B,,2 F,2 E,
%%MIDI program 6
G GG| \
EB, B,B, G,E, E,E,|
B,,
%%MIDI program 35
B,,, B,,,B,,, E,,G GG| \
EB, B,B, G,E, E,E,| \
B,,
%%MIDI program 35
B,,, B,,,B,,, E,,2 x2| \
xB,,, B,,,B,,, E,,2 x2|
xB,,, B,,,B,,, E,,2


长春池 发表于 2015-7-11 19:38:44

回楼主rofy530

老师辛苦了。拿回去好好去学。

rofy530 发表于 2015-7-11 20:32:50

回沙发长春池

都是同好就別叫老師了,我會很慚愧的!跟大家學的還比較多呢!
。有問題一起討論就是了

rofy530 发表于 2015-7-11 21:22:17

回楼主rofy530

我的英語不好,下面這些事midi2abc 的所有參數,若有朋友可以幫忙翻譯,那將會造福無數,謝謝!

usage :
midi2abc filename <options>
         -a <beats in anacrusis>
         -xaExtract anacrusis from file (find first strong note)
         -gaGuess anacrusis (minimize ties across bars)
         -gkGuess key signature
         -guGuess xunit from note duration statistics
         -m <time signature>
         -b <bars wanted in output>
         -Q <tempo in quarter-notes per minute>
         -k <key signature> -6 to 6 sharps
         -c <channel>
         -u <number of midi pulses in abc time unit>
         -ppu <number of parts in abc time unit>
         -aul <denominator of L: unit length>
         [-f] <input file>
         -o <output file>
         -s Do not discard very short notes
         -sr <number> Absorb short rests following note
         where <number> specifies its size
         -sum summary
         -nt Do not look for triplets or broken rhythm
         -bpl <number> of bars printed on one line
         -bps <number> of bars to be printed on staff
         -obpl One bar per line
         -nogr No note grouping. Space between all notes
         -splitbarssplits bars to avoid nonhomophonic chords
         -splitvoicessplits voices to avoid nonhomophonic chords
         -title <string> Pastes title following
         -origin <string> Adds O: field containing string
         -midigram   Prints midigram instead of abc file
         -mftext mftext output
         -ver version number

None or only one of the options -gu, -b, -Q -u should
be specified. If none are present, midi2abc will uses the
the PPQN information in the MIDI file header to determine
the suitable note length. This is the recommended method.
The input filename is assumed to be any string not
beginning with a - (hyphen). It may be placed anywhere.

琴韵晓波 发表于 2015-7-11 22:11:19

回楼主rofy530

我给你有问题的那个帖子代码修改了哦。
非常感谢阿峰的无私奉献。
先点赞,再研究!

rofy530 发表于 2015-7-12 09:25:02

回5楼琴韵晓波

煩勞王老師了! 不知是哪裡寫錯了?以後可以改進。謝謝!
我用tab 好像切不到播放的選項。

rofy530 发表于 2015-7-12 09:27:32

回6楼rofy530

好!現在可以切到了。請大家一起試驗起改進。

rofy530 发表于 2015-7-12 09:44:37

回6楼rofy530

哦瞭解了,原來是我把  的2 寫成全形的2 了!
寫代碼真的一點也馬虎不得。

琴韵晓波 发表于 2015-7-12 15:08:16

回8楼rofy530

对,我一个一个字符检查的。

rofy530 发表于 2015-7-12 17:44:29

回9楼琴韵晓波

真是罪過罪過 !以後醫定小心。

明飞 发表于 2015-7-24 19:34:20

太棒了峰哥我来赞 很久没有上来就有好东西

zxljynszbd 发表于 2015-12-27 21:42:16

楼主懂得真多,以后有问题还需多多请教呢。

hongyi 发表于 2017-12-24 16:47:57

回楼主rofy530

您好!我点击您的帖子中的“下载全部档案”,提示“网页不存在”,您看怎么能找到您发表的这些资源啊?

生如夏花 发表于 2019-3-25 16:09:55

老师你提供的软件包下载不了了,能麻烦在提供一份吗,谢谢老师
页: [1]
查看完整版本: 我学abc之midi转abc