【问题标题】:How to convert music file in ABC notation to midi or mp3 in Python [closed]如何在 Python 中将 ABC 表示法的音乐文件转换为 midi 或 mp3 [关闭]
【发布时间】:2021-05-02 06:20:44
【问题描述】:

我有 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)

【问题讨论】:

    标签: python mp3 midi music21


    【解决方案1】:

    一般来说,如果你有一个 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。

    O'Neill 收藏中的曲目应该已经在 music21 的语料库中,但我们的版本中似乎没有这首曲目。

    【讨论】:

    • 以上部分是使用 ML 模型生成的。我尝试了您提到的方式,我得到了 ABCHandlerException: no active default note length provided for note processing。 tPrev:无,t:,tNext: 错误
    猜你喜欢
    • 1970-01-01
    • 2022-10-30
    • 1970-01-01
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 2015-03-17
    • 2020-01-06
    相关资源
    最近更新 更多