Om MIDI og musikk-komponering på SuSe 10.3

Dette er vel litt på sidelinja når det gjelder grafikk, men her om dagen jeg fikk fikk lyst til å prøve å lage noen egne musikk-snutter til en animasjon, og installerte ‘Rosegarden’, som er et kjempeflott program for å lage egne komposisjoner.

Det var ingen enkel sak å få lyd ut av ‘Rosegarden’ på SuSe 10.3 systemet mitt, så jeg tenkte jeg skulle fortelle litt om hvordan jeg fikk det til. Takk til mye god informasjon fra Kamatsu, som har skrevet en svært nyttig artikkel om MIDI på Suse-Wiki!.
I denne artikkelen forklarer han at lyd-arkitekturen ALSA (som jo er standarden for Linux når det gjelder lyd-komponering) bare støtter maskinvare-synthesizere!
Han forteller også at dersom man ikke har et gammelt eller dyrt/avansert lydkort så er MIDI-musikken man hører på et Windows-system vanligvis generert av en software-synthesizer, dvs. at lyder laget av programvare blir sendt til lydkort som PCM-data istedefor at MIDI-data blir sendt til lydkortet. For å få MIDI-lyd ut av lydkortet vha. ALSA må man installere en software-synthesizer. Kamatsu forteller videre i sin artikkel om hvordan man bruker en software-synthesizer som heter ‘Timidity’ til å starte opp som en ALSA-server ved oppstart av Linux-systemet, og hvordan man oppretter en forbindelse mellom Timidity og Rosegarden slik at man kan komponere musikk på et Linux SuSe 10.3 system.

Ved et søk i installasjonsprogrammet ‘Yast’ fant jeg ut at ‘Timidity’ allerede var installert. Det eneste jeg behøvde å gjøre var å starte software-sythesizeren som en server. Dette ble gjort ved å kjøre kommandoen ‘timidity -iA &’ i et konsollvindu. (Kommandoen ‘killall -9 timidity’ stopper serveren). Når jeg så startet opp ‘Rosegarden’ behøvde jeg bare å velge Timidity som ‘General MIDI Device’ og ‘MIDI software device 2, 3 etc.’ i dialog-vinduet ‘Manage MIDI Devices’.

Jeg hadde imidlertid problemer med å få ‘Rosegarden’ til å opprette forbindelse med ‘JACK’-serveren. JACK er en lydserver som bl.a. forbinder programmer med lydkortet, og jeg fikk opp feilmeldinger om at ‘Rosegarden ‘ ikke klarte å finne JACK. Etter litt leting og søking fant jeg ut at det var installert 2 ulike versjonsnummer av ‘jackd’ og ‘libjack’ på systemet. Dette førte til at den ene versjonen overstyrte versjonen som Rosegarden hadde pathen til. Så jeg avinstallerte alle jack-komponentene + Rosegarden i Yast, og installerte så jack-komponentene (versjonene fra DVD’en, ikke fra Packman-katalogen) på nytt, og deretter også Rosegarden. Dette løste problemet, og det kom lyd ut av Rosegarden! Da ble det julaften i stua!
Timidity hadde bare lyder (såkallte ‘soundfonts’) av piano, gitar og tromme, så de eneste lydene jeg klarte å lage melodier av var disse preinstallerte lydene som følger med Trinidity. Jeg måtte laste ned flere soundfonts, og lastet ned zip-pakken ‘Musica Theoria 2’ (av JeffD) fra http://www.sf2midi.com/ , anbefalt av Kamatsu. Etter å ha lastet ned soundfonten endret jeg navnet på den til ‘soundfont.sf2’, fordi dette ville gjøre det lettere å installere den.
Soundfonten ble installert i Timidity vha. følgende kommandoer:

$ cd ~
$ su
Password:
# cp soundfont.sf2 /usr/share/timidity
# gedit /usr/share/timidity/timidity.cfg

De tre første linjene er kommandoene for å endre brukermodus til root-bruker.

Den fjerde linja kopierer soundfont-pakka fra hjemmekatalogen til katalogen ‘usr/share/timidity’.

Den siste kommandoen er for å åpne Timidity’s konfigurasjonsfil i teksteditoren ‘gedit’. I konfigurasjonsfila ble følgende seksjon editert:

source piano+guitar.cfg
source drums.cfg

endret til:

source piano+guitar.cfg
source drums.cfg
soundfont /usr/share/timidity/soundfont.sf2Dette legger soundfont-pakken til listen over lyder som Timidity kan bruke.

Konfigurasjonsfila ble lagret, og vips ble det sus over lydene i Rosegarden! Hurra!

En ting å huske på i Rosegarden: For at instrument-navnene skal stemme overens med lydene, så bør man sette opp pathen til soundfontfila i ‘Configure Rosegarden -> MIDI -> General’.

For mer utfyllende informasjon om hvordan man setter opp MIDI på en Suse 10.3 Linux-boks, så les mer i Kamatsu’s fine artikkel på susewiki .