# Handbok &kmid;

## Inledning

&kmid; är &kde;s MIDI och Karaoke multimediaspelare. Den tillhandahåller några funktioner som inte finns i någon annan &UNIX; MIDI-spelare, som bland annat realtidsgrafik och markering av Karaoke-text.

Det har rapporterats att &kmid; kör på operativsystemen &Linux; och FreeBSD. Den använder OSS-ljuddrivrutinen, så den bör köra på alla system där &kde; och OSS kan kompileras. &kmid; stöder också &Linux; Ultrasound Project Driver, som krävs för att få ljud med GUS-kort. Jag planerar stöd för ALSA-drivrutinen så snart som den stöder en sequencerenhet.

&kmid; visar sångtexten på skärmen med en färg som ändrar sig samtidigt som musiken spelar, så det är väldigt lätt att följa sångens melodi.

Hoppas att du tycker att &kmid; är lika rolig att använda som jag tyckte det var att utveckla den.

Antonio Larrosa Jiménez larrosa@kde.org

### &kmid;s funktioner

Det här är några av &kmid;s viktigaste funktioner:

- Den har ett mycket användarvänligt gränssnitt för att visa Karaoke med markering av sångtext i realtid.

- Den har en funktion som grafiskt visar vad som spelas på varje midi-kanal, genom att markera tangenterna som trycks ner på ett (virtuellt) keyboard.

- Den kraftfullaste hanteringen av Midi-kartor som finns för något operativsystem.

- Dra & släpp så att du kan släppa vilken midi-fil som helst i &kde; från ett &konqueror;-fönster.

- Du kan ändra tempo på sånger för att spela dem långsammare eller snabbare om du vill.

- Den visar lampor som följer sångens rytm.

- Anpassningsbara teckensnitt för Karaoke-texten som ska visas.

- Stöder de två standardsätten att infoga sångtexter i midi-filer, dvs. sångtexter eller texthändelser (och gissar automatiskt vad en sång använder).

- Sessionshantering. Om en sång spelas när du loggar ut från &kde;, så börjar samma sång spelas nästa gång du loggar in.

- Justerbar volym i realtid.

- Den kan spela felaktiga midi-filer som får andra spelare att göra minnesdumpar!

- Den kan öppna komprimerade MIDI/Karaoke-filer precis som vilken annan fil som helst.

- Använder ungefär 0,1 % av min CPU (beroende på sångens komplexitet).

- Stöder extern midi-syntes, AWE-, FM- och GUS-kort (för det sistnämnda behöver du installera LUP-drivrutinen och gusd).

- Kör på &Linux; och FreeBSD (och kanske också andra Unix-system...).

## Allmän användning

### Att öppna sånger

Du kan öppna en sång på flera olika sätt.

Först kan du välja Öppna... i menyn Arkiv, så visas en standarddialogruta för att öppna filer, där du kan välja sången som du vill öppna.

Du kan dra en fil från ett &konqueror;-fönster och släppa den i &kmid;-fönstret. Du kan också dra & släppa flera sånger på samma gång.

Om du anger en sång på kommandoraden när du startar &kmid;, kommer den också att öppnas.

Och det sista sättet är att välja sången från listan på sånger i den nuvarande samlingen.

### Att spela sånger

För att spela en sång, öppna den först, och tryck sedan på knappen Spela i verktygsraden, välj Spela i menyn Sång, eller tryck på tangenten mellanslag.

Observera att när du öppnar en fil med dra & släpp, börjar &kmid; automatiskt spela den (om du släpper mer än en fil, läggs de till i en samling och spelas i turordning).

När &kmid; väl spelar en sång, kan du flytta tidsreglaget för att gå till en angiven position, genom att trycka med musens mittenknapp.

Om en sång spelas för snabbt eller för långsamt för dig, kan du trycka på knapparna på båda sidorna om Tempo LCD:n och får den att spelas snabbare eller långsammare. För att återställa det förvalda tempot, dubbelklicka bara på Tempo LCD:n.

Tangenten mellanslag används för två saker. När musik spelas och du trycker på mellanslag, fungerar den som om du tryckte på knappen Paus eller valde Paus i menyn Sång, dvs. den stannar musiken. Om du trycker på mellanslag när musik inte spelas, börjar &kmid; spela.

### Att visa sångtexter

Det finns två sätt att lagra sångtext i en sång, genom att använda Texthändelser eller Sångtexthändelser, vissa sånger använder det första sättet, vissa det andra, vissa använder båda, och en del innehåller inte sångtext alls :-)

&kmid; låter dig välja vilka händelser som ska visas, och ännu bättre, den har ett alternativ att automatiskt välja händelsetypen som en sång använder, så att du inte behöver ändra typ manuellt. På så sätt, om du aktiverar Automatisk Textväljare i menyn Inställningar, väljs Karaoke-texten automatiskt, men du kan fortfarande ändra inställningen om du vill se den andra sorten.

För att välja vilken sort som visas, kan du använda det passande valet i menyn Inställningar, eller bara trycka på tangenterna 1 eller 2 på tangentbordet för att visa Texthändelser eller Sångtexthändelser.

## Samlingar

En samling är en mängd midi-filer som du lagrar i en lista, och som spelas en i taget. Det här avsnittet hjälper dig att använda samlingar, och ger dig några användbara tips för att använda dem på ett bra sätt.

### Att skapa en samling

För att skapa en samling, öppna först dialogrutan Samlingshanteraren, genom att välja Organisera... i menyn Samlingar. Klicka sedan på knappen Ny, och skriv in namnet du vill att samlingen ska ha.

Du kan också kopiera en fullständig samling genom att välja den och sedan trycka på knappen Kopiera, som frågar efter namnet på den nya samlingen. Från början kommer den nya samlingen att ha samma sånger som den ursprungliga.

När du väl har mer än en samling, kan du ändra den aktiva samlingen från Samlingshanteraren, genom att markera den.

### Temporary Collection

Samlingen "Temporary Collection" är en samling som används för att lagra sånger som du vill spela, men inte vill lägga till i någon samling.

Den här samlingen sparas inte när du avslutar programmet, så kom ihåg det om du lägger till många sånger i den.

Fortsätt läsa det här avsnittet för att förstå "Temporary Collection" bättre.

### Att lägga till sånger i en samling

Att använda Lägg till automatiskt i samling

Det finns ett antal olika sätt att lägga till en sång i en samling.

Du måste först av allt ha markerat samlingen där du vill lägga till sånger i Samlingshanteraren för alla sätt. Därefter kan du trycka på knappen Lägg till för att lägga till en sång. Då visas en dialogruta för att öppna en fil så att du kan välja sången som ska läggas till.

Övriga sätt att lägga till en sång beror på tillståndet hos alternativet Lägg till automatiskt i samling.

Om Lägg till automatiskt i samling är aktiverad, och du öppnar en sång (med Arkiv Öppna... eller dra & släpp) läggs den (de) till i den aktiva samlingen utan påverkan från användaren.

Om Lägg till automatiskt i samling inte är aktiverad, och du öppnar en sång så väljs och rensas "Temporary Collection", och de öppnade sångerna läggs till i den.

### Att ta bort sånger från samlingar

För att ta bort en sång från en samling, öppna bara Samlingshanteraren, markera samlingen, och sången som du vill ta bort, och klicka sedan på knappen Ta bort.

### Spela i turordning eller slumpmässigt

Du kan välja ordningen som sånger spelas. När du väljer läget I ordning från undermenyn Spelordning i menyn Samlingar, spelas sånger i samma ordning som de har lagts till i samlingen.

När du väljer läget Blanda, så skapar &kmid; en slumpvariabel med en diskret likformig fördelning för att verkligen spela sångerna i samlingen slumpmässigt. Den ger värden till den här slumpvariabeln medan den skapar listan med ordningen som sångerna spelas (du vill säkert spela slumpmässiga sånger, men vill inte spela samma sång två gånger, och vill spela den senaste sången när du trycker på knappen Föregående sång, inte sant? :-) ).

Den slumpmässiga ordning som samlingen spelas med skapas om varje gång som du lägger till eller tar bort en fil i den aktiva samlingen, och när du väljer Blanda i menyn.

### Att välja en sång från en samling

Du kan välja en sång att spela i Samlingshanteraren, eller genom att använda kombinationsrutan ovanför Karaoke-texten.

Du kan också byta till nästa sång genom att använda `Nästa sång` i menyn `Sång`, knappen `Nästa sång` i verktygsraden, eller genom att trycka på tangenten `högerpil`.

För att byta till föregående sång, använd `Föregående sång` i menyn `Sång`, knappen `Föregående sång` i verktygsraden, eller genom att trycka på tangenten `vänsterpil` på tangentbordet.

### Att ta bort en samling

För att ta bort en samling, öppna helt enkelt Samlingshanteraren, markera samlingen som du vill ta bort, och klicka på Ta bort. Enkelt, inte sant?

Kom ihåg att du inte kan ta bort "Temporary Collection", men det spelar inte någon roll eftersom den inte sparas när du avslutar &kmid;.

## Midi-kartor

### Vad är en midi-karta?

En midi-karta är någonting som översätter midi-händelser till andra midi-händelser.

Den är fullständigt nödvändig om en synthesizer inte förstår standardhändelserna (dvs. om en synthesizer inte uppfyller General Midi), i det här fallet översätter en midi-karta General Midi-händelser till händelser som synthesizern förstår.

Du kan till exempel skapa en midi-karta som ändrar alla händelser `Ändra patch till piano`, till `Ändra patch till trumpet`, så att när en sång försöker spela ett piano, så spelas en trumpet istället.

Det här kan låta konstigt (varför spela en trumpet när sången är gjord för att spela ett piano?), men det är mycket användbart. GM-standarden anger att ett midi-keyboard ska byta till `flygel` när det tar emot en händelse för att byta patch till `0`, men en äldre synthesizer ändrar till exempel till en `elektrisk gitarr` när den tar emot `0`. Det här äldre keyboardet behövde ta emot `3` (till exempel) för att byta till ett `piano`. Här träder midi-kartan in och byter alla `ändra patch till 0` mot `ändra patch till 3` och på så sätt spelas verkligen det riktiga instrumentet när det ska.

### Behöver jag en midi-karta?

I korthet, om du inte har en extern synt, nej!

Om du bara har ett ljudkort, behövs inte midi-kartor eftersom alla ljudkort stöder GM (det här innefattar AWE-kort, GUS-kort, FM-enheter och så vidare).

Om du spelar musik genom en extern syntheziser, och den inte stöder GM, måste du göra en midi-karta för ditt midi-keyboard. Även om det kan ta dig en hel eftermiddag att skapa kartfilen, och prova olika värden för alla alternativ, får du belöningen när du är klar med den, eftersom då märker du alla dolda möjligheter med ditt keyboard. Jag har till exempel en billig Yamaha PSS-790, som inte stöder GM, och inte har så många instrument som en GM-synthesizer, men med &kmid;s hantering av midi-kartor, låter den till och med bättre än många ljudkort (inklusive AWE :-)), beroende på ljudkvaliten som externa syntar har (även de som inte stöder GM).

### Att skapa en midi-karta

Det finns inget program för att skapa midi-kartor, så du måste redigera en fil för hand (med din favorittexteditor).

En midi-karta är en textfil som innehåller alla nödvändiga översättningar som görs när musiken spelas upp.

Den består av fyra delar: `PATCHMAP`, `KEYMAP`, `CHANNELMAP` och `OPTIONS`.

Varje del får bara förekomma en gång, utom `KEYMAP`-delen som kan förekomma så många gånger som behövs, under förutsättning att varje förekomst använder en annorlunda TextID (fortsätt läsa för mer detaljer).

Den allmänna strukturen för en kartfil är:

    DEFINE PATCHMAP
    ...
    END

    DEFINE KEYMAP "Namn på tangentkarta"
    ...
    END

    DEFINE KEYMAP "En annan tangentkarta"
    ...
    END

    DEFINE CHANNELMAP
    ...
    END

    OPTIONS
    ...
    END

Du kan se att nyckelordet `DEFINE` används för att ange vilken del som inleds (utom för `OPTIONS`), och `END` skrivs vid slutet av varje del.

Du kan ange kommentarer genom att inleda raden med ett `#` tecken.

Var snäll glöm inte bort att skicka mig din kartfil med e-post, så att framtida utgåvor av &kmid; innehåller stöd för flera keyboards som inte stöder General Midi.

#### `PATCHMAP` delen

Den här delen används för att ange hur patcher ska översättas från GM till specifikationen för ditt keyboard. Den allmänna användningen är:

    (Namn på GM-patch)=(N) [AllKeysTo M]

Där `N` är talet som ditt keyboard behöver ta emot för att ändra patchen till samma som GM-standarden använder.

Observera att vänstersidan om likhetstecknet ignoreras, så att GM-patcher antas vara i ordning (från 0 till 127), och du får inte ändra ordningen på raderna eller utesluta något av de 128 instrumenten.

Den valfria `AllKeysTo M` används för att översätta alla toner som använder det instrumentet till tangenten `M`. Antag till exempel att ditt midi-keyboard inte har ett pistolskottsljud (GM patch 127), så du vill översätta det till ett trumma i slagverket (dvs. tangent 60), som låter likt ett pistolskott. För att göra detta kan du skriva följande på den 127:de raden i `PATCHMAP` delen:

    Pistolskott       =100 AllKeysTo 60

Så om en midi-fil försöker spela en ton med patch 127 (pistolskott), så översätts det till patchen 100 (ditt keyboards slagverkspatch) och spelar tonen 60 (oberoende av tonen som skulle spelats).

Observera att när jag använder uttrycket Slagverkspatch, menar jag patchen där varje tangent spelar en särskild trumma, cymbal, tom-tom, maracas och så vidare, och inte ett möjligt ljud som vissa keyboard har som spelar en annan ton med samma trumma för varje tangent.

#### `KEYMAP` delen

`KEYMAP`-delen används för att ange hur tangenter översätts, för en given kanal eller instrument. Det används så här:

    DEFINE KEYMAP "Namn på tangentkartan"
    C 0 =0
    C#0 =1
    D 0 =2
    ...
    END

Som för `PATCHMAP`-delen, är radernas ordning mycket viktigt, och att alla finns där (128 tangenter).

Eftersom du kan ange flera tangentkartor för olika kanaler och instrument, måste du ange ett unikt namn för var och en på den första raden.

Tangentkartor används i huvudsak för att översätta tangenter för slagverkskanalen. Titta i de medföljande kartorna för att se några exempel.

#### `CHANNELMAP` delen

Den här delen kan användas för att översätta några kanaler till andra. Om du till exempel vill byta första och andra kanalen, kan du enkelt göra detta i `CHANNELMAP`-delen.

Det är dock mer användbart för ett keyboard som måste ha slagverkskanalen som en särskild kanal (GM-standarden använder kanal 10, andra använder kanal 16 eller 9).

Observera att midi-enheter använder 16 kanaler, så att `CHANNELMAP`-delen har 16 rader, från 0 till 15, som den här:

    (N) = (M) [Keymap "Namn"] [ForcePatch x]

Där `N` är kanalen som översätts till kanalen `M`. Om alternativet `Keymap` anges, kommer tangentkartan med namnet `Namn` att användas för den här kanalen (den här tangentkartan ska anges tidigare i kartfilen!). Om alternativet `ForcePatch` anges, kommer alla händelser som försöker ändra patchen som används för den här kanalen att ignoreras, och patchen `x` kommer att användas istället.

`ForcePatch` alternativet kan vara användbart för att till exempel alltid använda slagverkspatchen på slagverkskanalen.

#### `OPTIONS` delen

`OPTIONS` delen har en del allmänna alternativ som kan vara mycket användbara:

    OPTIONS
    PitchBenderRatio = r
    MapExpressionToVolumeEvents
    END

Du kan ange båda alternativen, bara ett, eller inget av dem.

Värdet `PitchBenderRatio r`, anger förhållandet som tonhöjdsförändringar kommer att multipliceras med. Dvs. när en midi-fil försöker skicka en midi-händelse med en tonhöjdsförändring som har värdet `n`, kommer det riktiga värdet som skickas att vara `n*(r/4096)` (värdet `4096` finns för att inte behöva ange decimalkomman i kartfilen).

Det här används för att GM-standarden säger att när ett midi-keyboard tar emot en tonhöjdsförändring med datavärdet 4096, ska det ändra tonen till nästa högre ton, men vissa midi-keyboard försöker ändra initialtonen till två eller fler toner högre (till och med en oktav högre!) när de tar emot 4096. Detta kan lätt fixas genom att försöka med olika värden, så att istället för att skicka 4096, så skickar KMid det lämpliga värdet.

När alternativet `MapExpressionToVolumeEvents` anges i kartfilen, och en midi-fil försöker skicka en uttryckshändelse, skickar KMid en volymhändelse, som förstås av fler keyboards som inte följer GM, och som har en liknande effekt. Det finns många midi-filer som använder uttryckshändelser för att dämpa ljudet i slutet på en sång, så om du vill att musiken ska låta tystare och tystare, kan du aktivera det här alternativet och se om det är vad du behöver, eftersom din midi-synthesizer kanske ignorerar uttryckshändelserna därför att den inte förstår dem.

### Att använda midi-kartor

För att använda en midi-karta, öppna helt enkelt dialogrutan Konfigurera midi-enheter genom att välja Inställningar för midi... i menyn Inställningar.

Klicka sedan på Bläddra..., välj kartfilen i dialogrutan och njut av musiken! :-)

## Avancerade funktioner

### Kanalvisaren

Kanalvyn är ett fönster där flera keyboard visas (ett för varje midi-kanal). På varje keyboard markeras tonerna som spelas för varje instrument, så att du kan se vad varje instrument spelar.

#### Att byta instrument

Du kan använda kanalvyn för att ändra instrumentet som varje kanal spelar. För varje kanal finns en kombinationsruta där det kan väljas. När du väl har ändrat det, blir den gröna knappen intill röd för att visa att det här inte är det förvalda instrumentet.

Om du vill välja det förvalda instrumentet igen, klicka på den röda knappen, och det väljs automatiskt.

#### Att byta utseendeläge

Kanalvyn har två olika sätt att visa spelade toner (för närvarande), som du kan välja från Kanal Vyinställningar... i menyn Inställningar.

Du kan välja ett läge där spelade tangenter trycks ner, som om det var ett vanligt piano (3D-utseende), eller ett läge där tangenter också fylls i med röd färg, så att nertryckta tangenter lätt känns igen (3D - fylld). Om du spelar piano, eller något annat musikinstrument, kan du använda den här vyn för att lära dig att spela en sång själv. Jag har använt den här tekniken, och det är ett utmärkt sätt att lära sig nya melodier (tillsammans med ett reducerat tempo).

### Tempo LCD

Det här visar tempot som en sång spelas med, dvs. sångens hastighet. Ju högre det här talet är, desto snabbare spelas sången.

Du kan också ändra sångens tempo, så om en sång spelas för snabbt för att du ska kunna följa sångtexten, kan du få den att spelas långsammare. Du kan använda pilarna som syns på varje sida om LCD:n för att ändra tempo.

När du väl har ändrat tempo, kan du få tillbaka det förvalda genom att dubbelklicka på LCD:n.

## Tangentbindningar

Tangent | Åtgärd
Mellanslag | Spela sången som är inladdad om den inte spelas, eller pausa den om den redan spelas.
Backsteg | Stoppa uppspelning
Högerpil | Nästa sång i den nuvarande samlingen
Vänsterpil | Föregående sång i den nuvarande samlingen
Uppåtpil | Rulla sångtexten en rad uppåt
Neråtpil | Rulla sångtexten en rad neråt
Sida upp | Rulla sångtexten en sida uppåt
Sida ner | Rulla sångtexten en sida neråt
1 | Visa texthändelser
2 | Visa sångtexthändelser
&Ctrl;O | Öppna en sång
&Ctrl;Q | Avsluta &kmid;
F1 | Öppna det här dokumentet

## Vanliga frågor

Exakt vad är en midi-fil?

En midi-fil är en fil som innehåller information om hur en sång ska spelas, dvs. den innehåller helt enkelt noterna, rytmen, hastigheten, etc. Detta betyder att samma midi-fil som spelas i två olika enheter, kan ge mycket olika resultat, precis som ett givet nothäfte kan spelas mycket olika av två musiker.

Jag kan få bättre ljud med en mp3/wav-spelare, varför ska jag då använda &kmid;?

Nåja, jag kan inte tvinga någon att använda &kmid;, men en typisk midi-fil upptar 50 Kibyte, medan en typisk mp3-fil upptar 4 Mibyte (och det är med en komprimeringsfaktor 1:80). Med en bra synthesizer kan du också få jämförbar ljudkvalitet. Dessutom kan du ändra individuella instrument, ändra hastigheten på en sång, etc. med en midi-fil, så du har större möjligheter att styra musiken.

Jag får inte mitt AWE-kort att fungera med KMid, vad kan jag göra?

Det här kan inträffa om du skaffat en binärdistribution (rpm, deb) av &kmid;. Det inträffar därför att &kmid; kompilerades utan AWE-stöd. Om det inte fungerar, måste du ladda ner en källkodsdistribution (till exempel, från &kmid;s hemsida)

Jag vill lägga till en hel katalog i en samling, men att behöva lägga till midi-filerna en i taget är inte roligt.

Jag håller med. Det är därför som &kmid; stöder dra och släpp. Öppna bara katalogen som du vill lägga till i &konqueror;, välj alla filerna, dra dem och släpp i &kmid;.

Försäkra dig om att alternativet Lägg till automatiskt i samling är aktiverat, så att filerna läggs till i den nuvarande samlingen. Om du inte gör detta, kommer filerna att läggas till i "Temporary Collection".

Jag kan inte följa med i sångtexten, den spelas för snabbt!

Du kan trycka på vänsterpilen i Tempo LCD:n för att få den att spela långsammare. Kom ihåg att du kan dubbelklicka på LCD:n för att få det förvalda tempot.

## Slutanmärkningar

### Några tips och trick

Jag inkluderar några tips så att du kan dra fördel av alla funktioner i &kmid; i full utsträckning:

Öppna filer

- Jag har alltid ett &kde;-skrivbord med ett &konqueror;-fönster som visar min huvudkatalog med midi-filer, och &kmid; på skrivbordet (om jag spelar en midi-fil) eller på alla skrivbord (om jag spelar en Karaoke-fil :-)). Om jag vill spela några filer när den aktiva samlingen avslutas, kan jag på det här sättet bara gå till &konqueror;-fönstret, välja de önskade filerna och dra & släppa dem i &kmid;s fönster.

  Antag att du vill spela några midi-filer, men inte vill lägga till dem i någon samling. Stäng då bara av Lägg till automatiskt i samling i menyn Samlingar, och öppna filerna, så läggs de till i "Temporary Collection".

Ett annat sätt att skapa en ny samling

- Antag att du har midi-filerna `A.mid`, `B.mid` och `C.mid`. Först vill du bara spela den första midi-filen, så du stänger av Lägg till automatiskt i samling och öppnar `A.mid`. Då får du en "Temporary Collection" med bara en midi-fil.

  Därefter bestämmer du dig för att också spela B och C, och göra en samling med allihop. Vad gör du då?

  Lätt, välj Lägg till automatiskt i samling och öppna `B.mid` och `C.mid` (med någon av de olika metoderna), så läggs de automatiskt till i "Temporary Collection", som nu innehåller `A.mid`, `B.mid` och `C.mid`. Öppna nu dialogrutan Samlingshanteraren, markera "Temporary Collection", och klicka på knappen `Kopiera`, ange namnet på den nya samlingen, och du är klar. Du har direkt en ny samling som innehåller midi-filerna A, B och C, som inte tas bort när du avslutar &kmid;.

### Galleri med &kmid;s vänner

Det här är några av de personer som har skickat midi-filer eller ett vykort till mig, tack allesamman! Att höra de här sångerna eller titta på vykorten får mig att fortsätta programmera mer och mer med &kmid;.

- Ola Sigurdson - `Taking Care of Business` (Bachman Turner Overdrive)

- EG Lim - Ett verkligt trevligt vykort från Penang.

- Guenther Starnberger - `Amadeus` (Falco) och `Schrei Nach Liebe` (Die Ärzte)

- Leandro Terrés - `All That She Wants` och `The Sign` (Ace of Base)

- Nick Stoic - Två midi-filer

### Om upphovsmannen

&kmid; har tagits fram av Antonio Larrosa Jiménez, i Málaga (Spanien). Jag studerar matematik vid Málagas universitet, och håller för närvarande på med tredje kursen, så jag har inte så mycket ledig tid för mina hobbyer, men jag försöker alltid skaffa mig lite :-) . Mina hobbyer inkluderar: programmering, samla midi-filer, spela musik och bevisa teorem ;-).

Om du vill veta var man kan ladda ner Midi/Karaoke-filer, eller du har en fråga, en felrapport, en ide eller en funktion som du skulle vilja se i &kmid; eller bara vill glädja mig, tveka inte att skicka e-post till larrosa@kde.org eller antlarr@arrakis.es

eller skriv till mig med vanlig post:

     Antonio Larrosa Jimenez
    Rio Arnoya 10 5B
    Malaga (Spanien)

Du gör mig glad om du skickar mig ett vykort från din hemort, eller en MIDI/Karaoke-fil från en lokal musikgrupp från ditt land. Alla som skickar mig ett vykort eller en midi-fil får sitt namn i galleriet med &kmid;s vänner i den här filen (under förutsättning att de inte motsätter sig detta). Var snäll att kontakta mig innan du skickar mig några midi-filer, eftersom jag kanske redan har dem.

Jag vill poängtera att &kmid; har tagits fram helt på fritid, utan finansiellt stöd från något företag eller enskild. Kom därför ihåg, när du använder det, att det enda som får mig att fortsätta arbeta med det är att få återmatning från användare (ett vykort, eller bara e-post).

Jag skulle vilja tacka följande personer för deras hjälp med att utveckla &kmid;:

- Paul J. Leonard P.J.Leonard@bath.ac.uk - stöd för AWE-kort

- Sebestyen Zoltan szoli@digo.inf.elte.hu- flyttning till FreeBSD och test av AWE

- Christian Esken esken@kde.org - för att ha organiserat ansträngningarna med KDE:s multimedia

- Stephan Kulow coolo@kde.org- konfigurationsskript och hjälp med `automake` och `CVS`

- Jaroslav Kysela - hjälp med att ta fram stöd för &Linux; Ultrasound Project drivrutin

- Takashi Iwai och Joseph H. Buehler - fixar för att tonhöjden på AWE-kort var för hög

- Adrian Knoth - för att ha gett mig goda nyheter och många förslag

- Kevin Street - programfix för att stöda FreeBSD 3.0

- Tack också till Jose Luis Sanchez för test av GUS-stöd, Ignacio Garcia för test av AWE-stöd, Hans Petter Bieker, Ola Sigurdson, Marc Diefenbruch, Peter Gritsch, Magnus Pfeffer, Urko Lusa, Peter-Paul Witta, Thorsten Westheider, Ulrich Cordes och alla som skickat en patch till mig, en felrapport eller bara e-post för att uppmuntra mig.

- Och förstås till alla fantastiska musiker på nätet som fortsätter att ge oss alla underbara MIDI- och Karaoke-filer.

Översättning Stefan Asserhäll stefan.asserhall@telia.com

### Copyright och licens

&kmid; är copyright Antonio Larrosa Jiménez, 1999-2001

Dokumentation är copyright Antonio Larrosa Jiménez 1999, 2001

&underFDL; &underGPL;

## Installation

### Hur man skaffar &kmid;

&install.intro.documentation;

Dessutom finns &kmid; på sin egen hemsida, som finns på http://www.arrakis.es/~rlarrosa/kmid.html. På hemsidan kan du följa utvecklingen, se en del information om programmet, några skärmbilder, en lista på webbplatser där du kan ladda ner fler Karaoke-sånger, etc.

### Krav

För att fungera kräver &kmid;:

- &kde;. Nå, du har troligen redan det :-)

- Ett ljudkort. Ett bra ljudkort och/eller extern synthesizer rekommenderas, eftersom ljudkvalitén i stor utsträckning beror på ljudkortet, det är inte samma sak att spela musiken med en FM-enhet, som att använda ett AWE-kort.

  Om du inte har ett ljudkort, kan du fortfarande kompilera &kmid; med `MODE_DEMO_ONLYVISUAL` definierad och den kör som om du hade ett kort (med du hör förstås ingen musik :-( ).

### Kompilering och installation

&install.compile.documentation;

Jag har bifogat några exempel som installeras i `$`KDEDIR`/share/apps/kmid`.

Om du stöter på något problem, tveka inte att kontakta någon av &kde;:s e-postlistor, eller skicka en rapport direkt till mig.