#!/bin/bash
set -euo pipefail

abc="$1"
base="${abc%.*}"
soundfont="$HOME/Library/Audio/Sounds/Banks/GeneralUser-GS.sf2"
tmp="$(mktemp -d)"

trap 'rm -rf "$tmp"' EXIT

abc2midi "$abc" -o "$tmp/out.mid"

fluidsynth -ni \
  -F "$tmp/out.wav" \
  -r 44100 \
  "$soundfont" \
  "$tmp/out.mid"

ffmpeg -y -loglevel error \
  -i "$tmp/out.wav" \
  "${base}.mp3"

