{"id":586,"date":"2012-08-31T00:17:53","date_gmt":"2012-08-30T22:17:53","guid":{"rendered":"\/\/www.mcgill.org.za\/stuff\/?p=586"},"modified":"2012-08-31T07:36:15","modified_gmt":"2012-08-31T05:36:15","slug":"pottering-around-in-the-precise-rosegarden","status":"publish","type":"post","link":"https:\/\/www.mcgill.org.za\/stuff\/archives\/586","title":{"rendered":"Pottering around in the precise rosegarden"},"content":{"rendered":"<p>After being inspired by the music of <a title=\"Supertux!\" href=\"http:\/\/supertux.lethargik.org\/\">supertux<\/a>, some of which is available with the original <a title=\"Rosegarden MIDI sequencer\" href=\"http:\/\/rosegardenmusic.com\/\">Rosegarden<\/a> files, I downloaded it and got it running. It was quite a job. It turns out that it&#8217;s quite simple <strong>if<\/strong> you have done it before.<\/p>\n<p>On Ubuntu 12.04 LTS, &#8220;Precise&#8221;, you need to:<\/p>\n<ul>\n<li>Install Rosegarden<\/li>\n<li>Install fluidsynth and fluid-soundfont-gm<\/li>\n<li>Install jackd2 (I also installed jackd &#8212; no idea which one I&#8217;m actually using)<code><\/code><\/li>\n<\/ul>\n<p>To do this, you install it something like:<\/p>\n<pre>sudo apt-get install rosegarden fluidsynth fluid-soundfont-gm jackd2<\/pre>\n<p>Then, before you bother to run rosegarden, actually, every single time you intend to use it, you need to start up fluidsynth:<\/p>\n<pre>fluidsynth -a pulseaudio \/usr\/share\/sounds\/sf2\/FluidR3_GM.sf2<\/pre>\n<p>You can tell it to play a note to check that it is working:<\/p>\n<pre>Thu Aug 30 23:37:37 ~ $ <strong>fluidsynth -a pulseaudio \/usr\/share\/sounds\/sf2\/FluidR3_GM.sf2 <\/strong>\r\nFluidSynth version 1.1.5\r\nCopyright (C) 2000-2011 Peter Hanappe and others.\r\nDistributed under the LGPL license.\r\nSoundFont(R) is a registered trademark of E-mu Systems, Inc.<\/code>\r\n\r\nfluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.\r\nfluidsynth: Using PulseAudio driver\r\nType 'help' for help topics.\r\n\r\n&gt; <strong>noteon 1 72 127<\/strong>\r\n&gt; <strong>noteoff 1 72<\/strong><\/pre>\n<p>If things are working as you might hope, then fluidsynth will start up jackd without your help, and you won&#8217;t have to run <code>jack_control start<\/code>.  (If your system is anything like mine, then pulseaudio spends most of its time locked up, and likes to be killed occasionally, and after that the sound card&#8217;s mixer settings resets to zero, and you have to fiddle with the mute control to get sound again.)  If not, then you&#8217;ll hear a note when you type <code>noteon 1 60 127<\/code> and it will go off when you type <code>reset<\/code> (or <code>noteoff 1 60<\/code>).<\/p>\n<p>Once fluidsynth is running, you can start up rosegarden.  Don&#8217;t bother to try and make it do something: it&#8217;s not going to play any sound until you tell it where it&#8217;s output MIDI device is (ie, how does it send MIDI to fluidsynth to play?)  There is a little toolbar button called &#8220;manage MIDI devices&#8221; which you have to click, but until you can find it, you can get this function on the menu:<br \/>\n<code>Studio | Manage MIDI devices<\/code><br \/>\n<a href=\"\/\/www.mcgill.org.za\/stuff\/wp-content\/uploads\/2012\/08\/manage-midi-devices.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.mcgill.org.za\/stuff\/wp-content\/uploads\/2012\/08\/manage-midi-devices.png\" alt=\"\" title=\"Rosegarden manage midi devices dialog box\" width=\"800\" height=\"154\" class=\"alignright size-full wp-image-587\" srcset=\"https:\/\/www.mcgill.org.za\/stuff\/wp-content\/uploads\/2012\/08\/manage-midi-devices.png 800w, https:\/\/www.mcgill.org.za\/stuff\/wp-content\/uploads\/2012\/08\/manage-midi-devices-300x57.png 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><br \/>\nIf you see &#8220;synth plugin&#8221; then you&#8217;re on the right track, if not, sorry.<\/p>\n<p>If you do get real sounds and you do manage to link to the synthesizer, then load one of the default songs, and work from there.  If you can just get it to play and make basic edits, you are on your way to a lot of happy musicalness.<\/p>\n<p>I always wanted my own symphony orchestra.  In my enthusiasm, I arranged two songs, exported them to midi and got fluidsynth to make them into tinny sounding MP3&#8217;s (they don&#8217;t sound quite like a live orchestra, I&#8217;m afraid):<\/p>\n<ul>\n<li>Fairest Lord Jesus &#8211; <a href='\/\/www.mcgill.org.za\/stuff\/wp-content\/uploads\/2012\/08\/fairest-lord-jesus.rg'>rosegarden<\/a>, <a href='\/\/www.mcgill.org.za\/stuff\/wp-content\/uploads\/2012\/08\/fairest-lord-jesus-2.mid'>midi<\/a>, <a href='\/\/www.mcgill.org.za\/stuff\/wp-content\/uploads\/2012\/08\/fairest-lord-jesus-2.mp3'>mp3<\/a>\n<\/li>\n<li>Jesus, friend of sinners &#8211; <a href='\/\/www.mcgill.org.za\/stuff\/wp-content\/uploads\/2012\/08\/jesus-friend-of-sinners-be-my-friend-today1.rg'>rosegarden<\/a>, <a href='\/\/www.mcgill.org.za\/stuff\/wp-content\/uploads\/2012\/08\/jesus-friend-of-sinners-be-my-friend-today1.mid'>midi<\/a> , <a href='\/\/www.mcgill.org.za\/stuff\/wp-content\/uploads\/2012\/08\/jesus-friend-of-sinners-be-my-friend-today.mp3'>mp3<\/a>\n<\/li>\n<\/ul>\n<p>The default midi player does not use sampled sounds (&#8220;soundfonts&#8221;), so the &#8220;midi&#8221; file might sound pretty poor.<\/p>\n<p>Here&#8217;s my script called <code>midi2mp3<\/code> that pushes the midi file through the fluidsynth and lame sausage machine and spits out an mp3:<\/p>\n<pre>\r\n#! \/bin\/bash\r\nfor FILE in \"$@\" ; do\r\n    case \"$FILE\" in\r\n        *.mid)\r\n            fluidsynth -F \"${FILE\/.mid\/.wav}\" \/usr\/share\/sounds\/sf2\/FluidR3_GM.sf2  \"${FILE}\";\r\n            lame \"${FILE\/.mid\/.wav}\" &amp;&amp; rm \"${FILE\/.mid\/.wav}\"\r\n            ;;\r\n        *)\r\n            echo \"$FILE: not a midi file\"\r\n            ;;\r\n    esac\r\ndone\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>After being inspired by the music of supertux, some of which is available with the original Rosegarden files, I downloaded it and got it running. It was quite a job. It turns out that it&#8217;s quite simple if you have &hellip; <a href=\"https:\/\/www.mcgill.org.za\/stuff\/archives\/586\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,2],"tags":[58,29,190],"class_list":["post-586","post","type-post","status-publish","format-standard","hentry","category-songs-stuff","category-stuff","tag-hacks","tag-music","tag-stuff"],"_links":{"self":[{"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/posts\/586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/comments?post=586"}],"version-history":[{"count":11,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/posts\/586\/revisions"}],"predecessor-version":[{"id":603,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/posts\/586\/revisions\/603"}],"wp:attachment":[{"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/media?parent=586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/categories?post=586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/tags?post=586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}