Esto resultó ser un problema más complicado de lo que originalmente esperaba.
QuickTime X no puede reproducir archivos MIDI, aunque QuickTime 7 sí.
Hasta donde puedo decir, eso significa que no hay una solución "incorporada" para reproducir archivos MIDI en Mac OS X (por ejemplo, afplay
no funciona). Por lo tanto, creo que cualquier solución implicará descargar e instalar algún otro programa.
Opción n. ° 1: descargue e instale QuickTime 7, que todavía funciona bien en Mavericks, y luego puede reproducir archivos midi de la siguiente manera:
open -a QuickTime\ Player\ 7 /path/to/your/file.mid
sin embargo, eso solo se reproducirá automáticamente si el usuario ha habilitado esa preferencia, que creo que está desactivada de forma predeterminada.
Opción # 2: usar FluidSynth
Para instalarlo, debe usar Fink, MacPorts o (mi recomendación) Homebrew. Una vez que se instala Homebrew, escriba esto en la Terminal:
brew install fluidsynth
(El comando de MacPorts sería sudo port install fluidsynth
y el de Fink sería fink install fluidsynth
).
Sin embargo, la descarga fluidsynth
solo te lleva a la mitad. Entonces necesita un archivo "SoundFont", del que nunca había oído hablar antes. Hay información sobre ellos aquí.
Descargué uno de S. Christian Collins llamado "GeneralUser", que es gratis. La versión actual (a partir del 27/11/2013) es FluidSynth versión 1.44 . {Si ese enlace directo se rompe en el futuro, use el enlace anterior que lo llevará a la página web normal de GeneralUser.}
Una vez que haya descargado y descomprimido eso, tendrá una serie de archivos que incluyen "GeneralUser GS FluidSynth v1.44.sf2" (obviamente, el nombre puede cambiar en el futuro). Cambié el nombre de ese archivo y lo moví a /usr/local/share/fluidsynth/generaluser.v.1.44.sf2
.
Una vez que el archivo SoundFont está colocado y fluidsynth
está instalado, puede reproducir un midi usando este comando:
fluidsynth -i /usr/local/share/fluidsynth/generaluser.v.1.44.sf2 ~/Music/example.mid
nb Hay algunos mensajes de error (aparentemente inofensivos) que se muestran cuando haces eso. Si desea suprimirlos, use:
(fluidsynth -i /usr/local/share/fluidsynth/generaluser.v.1.44.sf2 ~/Music/example.mid 2>&1) >/dev/null
en lugar.
Obviamente, nunca voy a recordar todo eso, así que hice una zsh
función llamadaplaymidi
function playmidi {
SOUNDFONT='/usr/local/share/fluidsynth/generaluser.v.1.44.sf2'
if [ -e "$SOUNDFONT" ]
then
for i in "$@"
do
if [ -e "$i" ]
then
(fluidsynth -i "$SOUNDFONT" "$i" 2>&1) >/dev/null
else
echo "[playmidi]: cannot find file at $i"
return 1
fi
done
else
echo "[playmidi]: SOUNDFONT file not found at $SOUNDFONT"
return 1
fi
}
(Eso también debería funcionar para bash
mí).
Ahora todo lo que tengo que hacer es escribir:
playmidi example.mid
y example.mid
jugaré
Esto funcionó para mí:
fuente
file.midi: No such file or directory
Puede usar VLC con una interfaz CLI no interactiva con
-I dummy
:Para habilitar el soporte midi, vaya a Preferencias> Mostrar todo> Entrada / Códecs> Códecs de audio> Fluid Synth y configure la fuente de sonido en un archivo como FluidSynth soundfont de http://www.schristiancollins.com/generaluser.php .
Editar: el soporte midi se eliminó de la versión reciente de VLC. Todavía puede usar fluidsynth desde el shell como lo describe TJ Luoma:
fuente
Según esta publicación en los foros de VLC, Felix Paul Kuehne , el administrador del sitio, dijo
Entonces, por ahora, descienda a vlc 2.0.9 o espere vlc 2.1.2. De esta manera, su solución existente funcionará como solía hacerlo.
fuente
No es exactamente la respuesta, pero hay una pequeña aplicación que puede enviar datos midi en la línea de comandos de Mac OS X. También puede controlar funciones básicas de GarageBand: http://www.bibiko.de/music/MIDImyAPP/
fuente
Para hacer las cosas más convenientes, puede resumir la respuesta de TJ Luoma en una aplicación AppleScript:
Luego puede seleccionar Obtener información en un archivo .mid aleatorio, cambiar "Abrir con:" a la aplicación AppleScript y presionar "Cambiar todo ..." para que sea la forma predeterminada de abrir archivos .mid. Ahora, cuando hace doble clic en un archivo MIDI, se abrirá la ventana Terminal y se reproducirá automáticamente.
fuente