如何将ABC表示法中的音乐文件转换为Python中的midi或mp3

2024-04-26 03:09:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有abc符号文件,我想把它转换成midi或mp3格式

我确实找到了music21(docs)库,它可以将abc转换为midi,但我不知道如何转换

我还发现了一个网站mandolintab,可以将下面的文件转换为midi。我希望在python中也能做到这一点

有人能帮忙吗

p6
  E  (G/A/) \
| eAFE ~Ez | D2 zB AG | E2  EE        ED   |
        EE   E2   | (EA) A2   | Ac          ef   | g2 fe         | (e3 d) ec |
d2 BA Bd | c2 BA ^c/d/ | e2 A/A/ cA/A/ | Ad     c2  ||
((3c/d/e/)) | f2 ff e2 dc | d^c de f2 (gf/e/) | f2 ed cAGE | F2 D2 D2 ((3ABc)|
          dcdA GFGB | Adfe   dcAc | dcde    fedc | A2 A>G A2    :|


X:1758
T:The Sirit Peallow
M:C|
L:1/8
N:"collected by J. O'Neill"
B:O'Neill's 1429
Z:"Transcribed by Bob Safranek, rjs@gsp.org"
K:D
(D | F)ABA    FAFD  | (F2{A}GF) DFAF | DEFE DEFD | EFAF DFAF |
dD ((3DDD) (FA) BcdF|   E2 ((3EFG) A2    ||
       d2  (fd) cBAG | F2 (AG) FDAD | ((3FED) (AD) CEEG    |    FEFG AB G2 :|
((3fgf) (df) (ed) B2 |  A2 (Ac)      BcdB   | Adfa    gfe^d | e2 (ae) fedc |
       BGDF   GABc  d2 (ga) | ((3fga) (fd) efge | ((3fga) (ec)

Tags: 文件a2aceemidif2d2abc
1条回答
网友
1楼 · 发布于 2024-04-26 03:09:53

通常,如果您有一个文件xyz.abc,您可以使用以下方法将其转换为python中music21中的MIDI:

from music21 import converter
s = converter.parse('xyz.abc')
s.show('midi')  # or s.write('midi', fp='output.mid')

或者,如果是abc分数的集合,您可以通过以下方式获得特定的分数:

from music21 import converter
s = converter.parse('xyz.abc', number=1758)
s.show('midi')  # or s.write('midi', fp='output.mid')

这样就可以了(从那里你可以把它转换成mp3

奥尼尔收藏的作品应该已经存在于music21的语料库中,但在我们的版本中似乎没有这首作品

相关问题 更多 >