Spaces:
Sleeping
Sleeping
from music21 import converter, stream | |
from midi2audio import FluidSynth | |
import subprocess | |
def abc_to_audio(abc_notation, output_format='wav',sound_font="FluidR3_GM.sf2"): | |
""" Convert ABC notation to wav file. """ | |
abc_file = 'output.abc' | |
with open(abc_file, 'w') as f: | |
f.write(abc_notation) | |
subprocess.run(['abc2midi', abc_file, '-o', "output.midi"]) | |
fs = FluidSynth() | |
fs.midi_to_audio("output.midi", "output.wav") | |
return "output.wav" | |
if __name__ == '__main__': | |
abc_to_audio("""X:12 | |
T:Byrne: Triop | |
C:Trad Figne | |
Z:id:hn-hornpipe-53 | |
M:C| | |
K:G | |
(3DFB d2dc | def2 edef | e2a2 df | g4- gdBG | A4G | A4 :| | |
|: ae edc | edcB A2B2 | A2G2 | G6 d2 | e4^c4 | d4 d4 | ed e2 | d4 || | |
P:variations: | |
|: ABA AGE|F2A d2A|d2g d2:| | |
a2f fef aba|a2f g2e fed|c2A GBd|f2g g2a|bgb aag|dcB B2G|A2G A2G:| | |
|:F2A A2G|AGE G2d|| | |
P:variations | |
|: AGF GBd | cde d2B | c2c c2A :| | |
|: de fe | fdfe dFAd | A2AG A2f2 | g2ag e2B2 | A2AB ^cdce | d2d>c | B4z2 | B4 | A4G2 | ^F4G4 | G4 :| | |
|: G^F G2 | c4 || | |
GBdB | c2 ded2 | c2B2c2 | d2c2B2 | c2d2 | c2B2 | A4 :|""") |