How do you get rosegarden to play sound when playing a midi in it? Do I need Jack running?
3 Answers
You do not need to have Jack running in order to playback MIDIs with Rosegarden.
What I now have running is MIDI file playback via Rosegarden and QSynth.
The process as of Ubuntu 17.10 is largely the same as here, but follow these steps:
- install QSynth
apt-get install fluidsynth
- install a soundfont library
apt-get install fluid-soundfont-gs
- configure QSynth to
Enable MIDI Input
by checking the box inSetup > MIDI
- configure QSynth to use
alsa
Audio Driver underSetup > Audio
- configure QSynth to use the soundfont under
Setup > Soundfonts
; point to/usr/share/sounds/sf2/FluidR3_GM.sf2
or your soundfont location - allow QSynth to restart when it prompts you
- install Rosegarden
apt-get install rosegarden
- with QSynth open, launch Rosegarden
- Tell Rosegarden to play through QSynth
Studio > Manage MIDI Devices
and set theGeneral MIDI Device
to whatever QSynth broadcasts as its MIDI input option, ie129:0 Synth input port
or similar.
-
Thank you ,that worked very well, except that whenever I open a new song I have to do, again, the step "Tell Rosegarden to play through QSynth Studio > Manage MIDI Devices and set the General MIDI Device to whatever QSynth broadcasts as its MIDI input option, ie 129:0 Synth input port or similar.". I wish this step just remained saved. Jun 21, 2020 at 4:43
-
The documentation says:
Rosegarden includes synth plugin support for sample-accurate synthesis of MIDI tracks.
[…]
And as well as plugins, Rosegarden can communicate with any number of standalone soft synths for Linux using the ALSA sequencer MIDI protocol.
Synth plugins usually are very specialized; if you want to play some random MIDI file, you probably need a general-puporse software synthesizer like Fluidsynth or Timidity.
I adapted the Rosegarden+Qsynth answer to work without having to open 2 different windows, as follows:
- Install
fluidsynth
androsegarden
, as well as the corresponding soundfonts viaapt
- Add the following function to
~/.bashrc
or~/.bash_aliases
:
midy() {
if [ -n "$1" ]; then
rosegarden "$1" &
else
rosegarden &
fi
fluidsynth -a alsa -m alsa_seq -o midi.autoconnect=True <PATH_TO_YOUR_SF2_FILE>
}
- Open a new terminal: type
midy
and load a MIDI file, ormidy <PATH_TO_MIDI_FILE>
, and hit play:rosegarden
should open, andfluidsynth
should play the file in the background, without the need of a Qsynth window!
Notes:
To test that
fluidsynth
is working, you can try the corresponding command (after thefi
) separately, by adding the path to the MIDI file at the end. It should play the file.In my case the
.sf2
files were installed under/usr/share/sounds/sf2
You can find further options by checking
man fluidsynth
andfluidsynth -o help
Hope this helps! Cheers
Andres