User Tools

Site Tools


doc:appunti:linux:tux:midi

This is an old revision of the document!


Musica MIDI con Rosegarden

Obiettivo: poter comporre musica MIDI ed ascoltarla usando Rosegarden come software di notazione.

Sintetizzatore Timidity (non funziona)

Il primo tentativo è stato fatto con timidity che dovrebbe fornire la funzione di sintetizzatore MIDI via software. In pratica il software timidity carica i campioni audio (sound font) e si mette in esecuzione come servizio. Quando riceve degli eventi MIDI da altri software (es. Rosegarden), effettua il rendering del suono ed invia l'audio digitale al sistema ALSA.

In effetti non funziona, quasi certamente perché Rosegarden invoca automaticamente il demone JACK audio e tutto smette di funzionare. Vedere in proposito il bug 578859.

Questa la procedura seguita:

apt-get install rosegarden timidity
timidity teddybear.mid                # Render and playback a MIDI track
ps uax | grep timidity                # See: "timidity -Os -iAD" is running
                                      # as a daemon, output to ALSA.
aplaymidi --port 128:0 teddybear.mid  # Play the track via Timidity MIDI synth

# Start Rosegarden and import the MIDI track.
# From menu Studio, Manage MIDI Devices: connect the playback device
#   "General MIDI Device" to "128:0 TiMidity port 0 (write)"
# Play the track: NO AUDIO!!!

# While Rosegarden is running:
aplaymidi --port 128:0 teddybear.mid  # NO AUDIO!!!

In effetti ad eseguire Timidity come demone ci pensa l'installazione predefinita Debian. Dovrebbe risultare in esecuzione anche al reboot senza bisogno di avviarlo manualmente:

/usr/bin/timidity -Os -iAD

Si è provato anche a caricare i seguenti moduli kernel, ma il risultato non è cambiato:

  • snd-seq-midi (che richiede snd-seq-midi-event, snd-rawmidi)
  • snd-seq-virmidi

Sintetizzatore Qsynth (Funziona)

Si installano i pacchetti qsynth, fluidsynth e qjackctl. Per dipendenza vengono installati anche i campioni audio contenuti in fluid-soundfont-gm e fluid-soundfont-gs.

Si lancia qsynth, il front-end del sistema fluidsynth. Dal pulsante Setup si controllano le impostazioni:

  • MIDI, Enable MIDI Input, MIDI Driver: alsa_seq, MIDI Bank Select mode: GM
  • Audio, Audio Driver: jack
  • Soundfonts: Open /usr/share/sounds/sf2/FluidR3_GM.sf2

Si lancia qjackctl, il front-end del sistema JACK. Dal pulsante Setup si controllano le impostazioni:

  • Settings: Server prefix: jackd, Driver ALSA, Input Device: (scheda audio), Output Device (scheda audio)
  • Si avvia JACK con il pulsante START

Quindi si avvia Rosegarden. Il programma dovrebbe provvedere da solo ad avviare il server JACK se questo non è in esecuzione e a fare le giuste connessioni JACK (per il playback device: Rosegarden General MIDI Device ⇒ 129:0 Synth input port ⇒ Sistema ALSA). Verificare dal menu di Rosegarden Studio, Manage MIDI Devices e dal menu Connect di qjackctl.

JACK: Connessione Audio di qsynth ad ALSA In particolare nella scheda Audio di qjackctl deve risultare che le porte output di qsynth denominate l_00 e r_00 sono collegate alle porte input di system denominate playback_1 e playback_2.

doc/appunti/linux/tux/midi.1485101607.txt.gz · Last modified: 2017/01/22 17:13 by niccolo