# Het handboek van &kwave;

## Inleiding

Dit is "&kwave;", een eenvoudige geluidsbewerker gebouwd op &kf5-full;. Zijn functies omvatten:

- een gebruikersinterface dat omgeschakeld kan worden naar SDI-, MDI- of tabbladmodus

- eenvoudige functies voor knippen, kopiëren en plakken

- ongedaan maken/opnieuw op meerdere niveaus

- labeling van signalen

- Functies voor opnemen, inclusief vooraf opnemen

- Afspelen via Qt, PulseAudio, ALSA en OSS

- Opnemen via PulseAudio, ALSA en OSS

- Importeren/exporteren van/naar MP3

- Importeren/exporteren van/naar Ogg/Vorbis en Opus

- Importeren/exporteren van/naar FLAC

- enige functies voor analyse zoals Sonagram

- gebruikt intern 24 bits vaste precisie voor gegevens in samples

- vrij te selecteren samplesnelheden

- ondersteuning voor bewerking van multikanaal bestanden

- afspelen van geluidsbestanden met meerder kanalen (geluidsuitvoer zal gemixt worden tot mono of stereo, indien nodig)

- uitbreidbaar via een gemakkelijk te gebruiken interface met plug-ins

- importeren/exporteren van andere audio-formaten via audiofile

Als u geïnteresseerd bent in wat is gedaan en wat nog gedaan moet worden, kijk dan naar de bestanden `CHANGES` en `TODO` in het broncodepakket. Hulp en constructieve opmerkingen zijn altijd welkom.

### &kwave; hulpbronnen

Dus als u in contact wilt komen met de ontwikkelaars, enige verdere hulp nodig heeft bij het gebruik van &kwave;, patches, bugrapporten of andere zaken wilt bijdragen, dan kunnen de volgende hulpbronnen interessant voor u zijn:

- Homepagina van het project

  Voor informatie over nieuwe bijgewerkte uitgaven of andere informatie over dit project, neem een kijkje op de &kwave; homepagina

- E-maillijst

  Als u enige hulp bij het gebruik van &kwave; nodig hebt of mee wilt doen in het ontwikkelen, wordt dan lid van de e-mailijst van de ontwikkelaars van Kwave "&url_mailinglist;".

- GIT-repository

  Er is ook een nieuwe GIT-repository, gehost op servers van KDE en een mirror gehost door SourceForge waar u de broncode van de laatste ontwikkelversie kunt vinden. Voor instructies over hoe toegang te krijgen tot de repository, lees in het hoofdstuk over bouwen vanuit GIT. Er is ook een GIT webinterface op KDE en op SourceForge die u kunt gebruiken om door de broncode te bladeren.

### Revisiegeschiedenis van &kwave;

Dit project is gestart door Martin Wilz in de zomer van 1998 en is ontwikkeld en verbeterd door hem en enige andere mensen. In november 1999 is Thomas Eschenbacher hier en daar gestart met de reparatie van enige kleine bugs en steeds dieper in de broncode van het programma gestapt. Tot vandaag heeft hij bijna elke component van het programma uitgebreid, herschreven od herzien en veel tijd gestopt in de verbetering.

Sinds &kwave; v0.8.0 is de log met wijzigingen niet langer in deze handleiding ingevoegd. Dus als u geïnteresseerd bent in een complete lijst met wijzigingen, dan kunt u de volledige geschiedenis hier vinden: &url_changelog; of zelf door de broncode bladeren in het GIT webinterface.

&kwave; versie v0.9.0 is de eerste versie die gehost is op KDE (kdereview) en SourceForge servers, gevolgd door v0.9.1, de eerste versie voor &kf5-full;.

## Installatie

### Hoe &kwave; te verkrijgen

&kwave; heeft een eigen homepagina onder &url_homepage;. Hier kunt u verdere informatie vinden over het project, evenals informatie over de huidige stabiele en bijgewerkte ontwikkelversies.

Er is ook een KDE projectpagina op &url_kde_project; die een korte samenvatting geeft van de toepassing.

Als u een &kwave; uitgave wilt hebben kunt u kiezen uit een bezoek aan &url_download; en

- een binair pakket met de laatste stabiele versie downloaden, als er een is voor uw distributie,

- een broncode RPM-pakket van de laatste stabiele versie downloaden,

- uw eigen versie compileren uit een .tar.bz2 archief met de broncode van de laatste stabiele versie,

- uw eigen versie compileren uit uit de laatste GIT-broncode.

Wees niet bang, compileren van Kwave is tamelijk eenvoudig zelfs als u geen ontwikkelaar van software bent. Er zijn gewoon enige ontwikkelpakketten nodig om te worden geïnstalleerd en enige tijd.

### Vereisten

Om &kwave; met succes te kunnen gebruiken hebt u nodig:

- een computer met Linux (&kwave; kan ook werken onder een ander besturingssysteem, maar dat hebben we nooit getest, laat het ons weten als u dat hebt werken op een ander platform / besturingssysteem)

- werkend geluid afspelen (niet echt vereist voor gebruik maar wat zou u willen doen met een geluidsbewerker als u het resultaat van uw werk niet kan horen?)

- KDE Frameworks 5.2 (KF5) of hoger (ten minste de bibliotheken, als u ander bureaublad gebruikt, dan kunt u &kwave; ook gebruiken als de juiste bibliotheken zijn geïnstalleerd).

- Qt-5.4 of hoger (komt normaal als een afhankelijkheid van KF5)

- ALSA 1.0.14 of hoger (voor opnemen/afspelen)

- PulseAudio 4.0 of hoger (voor opnemen/afspelen)

- id3lib-3.8.1 of hoger (voor ID3 tags)

- mad-0.15 of hoger (optioneel voor MP3 importeren/exporteren)

- flac-1.2.0 of hoger (voor FLAC importeren/exporteren)

- libsamplerate-0.1.3 of hoger (conversie van samplesnelheid)

Voor een meer volledige en bijgewerkte lijst, raadpleeg het bestand 'README' dat aanwezig is in de distributie van de broncode. Dit bestand bevat oook enige speciale aanwijzingen voor het gereed maken van &kwave;, voor het uitvoeren en/of bouwen van &kwave; onder bepaalde distributies.

Als u &kwave; wilt compileren uit de broncode hebt u minstens nodig:

- cmake-2.8.12 of nieuwer

- Een recente C/C++ compiler. GCC-4.x werkt goed, sommige oudere en elke nieuwere versie (zoals gcc-5.0) zou ook moeten werken.

- De glibc2 (libc-6) ontwikkelomgeving. Onder SuSE systemen worden de pakketten "libc" genoemd, onder andere systemen kunnen ze "libc-devel" worden genoemd.

- Qt5 en KF5 ontwikkelpakketten

- pulseaudio-0.9.16 of nieuwer

- id3lib-devel-3.8.1 of nieuwer

- fftw-3.0 of nieuwer

- mad-devel-0.15 of nieuwer (als u toestemming hebt om MP3-code te gebruiken)

- flac-devel-1.2.0 of nieuwer

- Als u van plan bent om de broncode van &kwave; via GIT op te halen, dan zal u ook een huidig git-pakket nodig hebben.

- ...vele andere pakketten, neem een kijkje in het bestand 'README' aanwezig in het broncodepakket.

### Handmatig compileren en installeren

Sinds versie 0.7.10 gebruikt &kwave; cmake, een make-systeem dat ook gebruikt wordt door KDE zelf. Dus als u weet hoe andere KDE applicaties worden gebouwd, dan zou u geeb problemen moeten hebben bij het bouwen van &kwave;. Als u in problemen terecht komt, rapporteer deze dan op de e-maillijst van &kwave;.

Om &kwave; op uw systeem te compileren en te installeren, is het het beste om het bouwen te doen volgens out-of-tree. Dit betekent dat u de broncode van &kwave; in één map houdt en het pakket in een andere (tijdelijke) map doet.

Neem bijvoorbeeld aan dat uw broncode al is uitgepakt in ``$HOME/src/kwave-&version;``, dan kunt u het volgende doen:

    % mkdir /tmp/kwave-build
    % cd /tmp/kwave-build
    % cmake $HOME/src/kwave-&version; [bouwopties]
    % make
    % su root -c "make install"

(Specificeren van bouwopties is een manier om specifieke mogelijkheden in of uit te schakelen. Zie de volgende sectie voor beschrijvingen)

### Opties voor bouwen

Door opties voor het bouwen te specificeren kunt u sommige mogelijkheden van &kwave; in- of uitschakelen, zoals sommigee componenten of plug-ins uit te sluiten uit het gegenereerde pakket. Hier is een lijst met de beschikbare opties:

- `WITH_ALSA` schakel afspelen/opnemen in via ALSA [`on`/`off`, standaard=`on`]

- `WITH_DEBUG` bouw een debug-versie [`on`/`off`, default=`off`]

- `WITH_DOC` bouw online documentatie [`on`/`off`, default=`on`]

- `WITH_FLAC` schakel ondersteuning in voor FLAC-bestanden [`on`/`off`, default=`on`]

- `WITH_MP3` schakel ondersteuning in voor mp3-bestanden [`on`/`off`, default=`off`] Merk op dat u toestemming nodig hebt om code geconverteerd door de MP3 software patenten te gebruiken!

- `WITH_OGG_OPUS` schakel ondersteuning in voor Ogg/Opus bestanden [`on`/`off`, default=`on`]

- `WITH_OGG_VORBIS` schakel ondersteuning in voor Ogg/Vorbis bestanden [`on`/`off`, default=`on`]

- `WITH_OPTIMIZED_MEMCPY` gebruik een geoptimaliseerde versie van memcpy, beschikbaar voor X86, X86_64 en PPC platforms [`on`/`off`, default=`on`]

- `WITH_OSS` schakel afspelen/opnemen in via OSS [`on`/`off`, default=`on`]

- `WITH_PULSEAUDIO` schakel afspelen/opnemen in via PulseAudio [`on`/`off`, default=`on`]

- `WITH_QT_ALSA` schakel afspelen in via Qt Multimedia [`on`/`off`, standaard=`on`]

Deze opties kunnen doorgegeven worden aan ``cmake`` met de ``-D``optie``=``waarde``. Als u bijvoorbeeld MP3 ondersteuning wilt inschakelen dan kunt u de overeenkomstige optie als volgt doorgeven:

    % cmake [bronmap] -DWITH_MP3=ON [andere opties...]

### RPM pakketten bouwen uit tar.bz2 archieven

#### Met werkend rpmbuild -ta

Als u een systeem met RPM ondersteuning gebruikt dan is manier met voorkeur om &kwave; op uw systeem te installeren het maken van een prettig RPM-pakket. Eerst zou u de huidige broncode van &kwave; moeten verkrijgen, ofwel als een tar.bz2 archief van de downloadpagina van &kwave; of een check out doen van een up-to-date kopie via GIT (zoals beschreven in het hoofdstuk over GIT) en het volgende hoofdstuk lezen.

Als u de tar.bz2 archieven van &kwave; hebt gedownload, maak en installeer de RPM's door de volgende stappen uit te voeren (waar `[arch]` staat voor het platform waarvoor u het pakket hebt gebouwd en wat zoiets kan zijn als `i586`, `i686`, `sparc` of wat dan ook, `XXX` staat voor het versie nummer dat u hebt gedownload).

Om het &kwave; pakket te bouwen en te installeren doe:

    % rpmbuild -ta kwave-XXX.tar.bz2
    % rpm -i /usr/src/redhat/RPMS/[arch]/kwave-XXX.[arch].rpm

Merk op voor SuSE gebruikers: moet u de map `/usr/src/packages` specificeren in plaats van `/usr/src/redhat` !

Als u geen fouten hebt gezien, dan is het klaar en kunt u de rest van dit hoofdstuk overslaan. Als rpm niet de pakketten kon bouwen en zoiets als "spec file not found" liet zien, ga dan verder en lees de rest van deze sectie.

#### Met gebroken rpmbuild -ta ondersteuning

Als u `rpmbuild -ta` niet werkend krijgt, dan zijn hier de stappen om dat handmatig werkende te krijgen (de moeilijke manier):

1. Ga naar uw RPM "topdir". Dit is normaal `/usr/src/redhat` voor de redhat distributie of `/usr/src/packages` als u de SuSE distributie hebt.

       % cd /usr/src/redhat

2. Zet het archief tar.bz2 in de subnap SOURCES (u moet "somewhere" vervangen door de echte map waar de bestanden zijn, natuurlijk).

       % cp /somewhere/kwave-XXX.tar.bz2 SOURCES

3. Pak het spec bestand uit uit het archief en zet het in de submap SPEC.

       % tar -xOjf SOURCES/kwave-XXX.tar.bz2 \*.spec
       > SPECS/kwave.spec

4. Laat rpm het compileren uitvoeren en de rpm van &kwave; genereren. Als u alleen een binair pakket wilt maken, dan kunt u `-bb` specificeren in plaats van `-ba` of gewoon `-bs` om alleen een broncodepakket te bouwen.

       % rpmbuild -ba SPECS/kwave.spec

5. Als alles ok is kunt u de binaire rpm van &kwave; installeren, het zal zich in de map BUILD bevinden. Als u al een versie van &kwave; hebt geïnstalleerd, verwijder deze eerst of gebruik de parameter `-U` in plaats van `-i` voor opwaarderen in plaats van installeren.

       % rpm -ivh BUILD/[arch]/kwave-XXX.[arch].rpm

### RPM pakketten bouwen uit GIT

#### Broncode wordt uitgecheckt

Voor het initieel uitchecken van de broncode hebt u enige schijfruimte nodig (ongeveer 25 megabytes) in een map naar keuze, het git-pakket van uw gebruikte distributie en volledige toegang tot het internet. Als u een foutmelding over afgewezen verbindingen krijgt, dan hebt u ofwel iets verkeerds ingetypt of uw provider geeft u geen volledige toegang. Een goede plaats voor de broncodebestanden is `"$HOME/src"`.

1. Maak eerst de map voor de submap voor de broncode van &kwave; en ga staan in die map:

       % mkdir -p $HOME/src
       % cd $HOME/src

2. Doe daarna een checkout van de laatste broncode uit de GIT-server:

       % git clone &url_git_master; kwave

   of u kunt een een checkout doen van specifieke uitgave met de volgende commando's:

           % git clone &url_git_master; kwave
           % cd kwave
           % git checkout tags/[release-tag]

   U kunt de namen van de release-tags vinden in de git-webpagina op &url_git_list_tags;. De release-tags zijn altijd opgebouwd met het woord `Release-` en het versienummer van de release, met underscores in plaats van punten. Bijvoorbeeld "`Release-&version_tag;`" voor v&version;.

Er mag geen map met de naam `kwave` zijn onder de map waarvoor u een checkout doet. Anders zal het programma git klagen over reeds bestaande bestanden en de checkout zal niet werken.

#### bijwerken vanaf de laatste broncode uit GIT

De procedure beschreven in de vorige sectie is slechts eenmalig. Verder bijwerken is veel gemakkelijker. Ga staan in de map waar u de broncode hebt uitgecheckt en doe het volgende om bij te werken tot de laatste versie:

    % git pull

Ga daarna naar de volgende sectie en compileer zoals gebruikelijk.

Als u denkt dat u uw lokale boomstructuur met broncode hebt verknoeit of als er conflicten zijn bij bijwerken en u wilt beginnen via een schoon status, dan kunt u het volgende doen om van alle lokale wijzigingen af te komen en terug te gaan naar de laatste versie uit de masterbranch:

    % git clean --force -d
    % git reset --hard
    % git checkout master

#### Compileren

Bouwen van rpm-pakketten uit een GIT-snapshot is tamelijk eenvoudig. De procedure is bijna gelijk aan zoals beschreven in de laatste sectie, het heeft dus helaas hetzelfde probleem met de opdracht `rpmbuild -ta` die onze methode intern gebruikt. Zoals in het vorige hoofdstuk, `[arch]` staat voor het platform waarvoor u het pakket hebt gebouwd en kan zoiets zijn als `i386`, `i586`, `sparc` of waarvoor, `XXX` staat voor het versienummer dat u hebt uitgecheckt.

Merk op voor SuSE gebruikers: hier moet u de map `/usr/src/packages` specificeren in plaats van ook `/usr/src/redhat` !

Aangenomen dat u in de hoofdmap staat waarin u hebt uitgecheckt vanuit GIT, doe het volgende om een Makefile te maken van het &kwave; pakket en installeer het. Als u al een versie van &kwave; hebt geïnstalleerd, verwijder het dan eerst of gebruik `rpm -U` in plaats van `rpm -i` voor het bijwerken in plaats van installeren.

    % mkdir /tmp/kwave-build
    % cd /tmp/kwave-build
    % cmake $HOME/src/kwave
    % make rpm
    % rpm -ivh /usr/src/redhat/BUILD/[arch]/kwave-XXX.[arch].rpm

Als u nog steeds problemen heeft met `make rpm`, dan kunt u will de tar.bz2 archive die is gemaakt in `/tmp` vinden. Volg de instructies in het vorige hoofdstuk.

### Een DEB pakket bouwen voor testen en persoonlijk gebruik

Als u een deb-pakket van &kwave; wilt maken, ⪚ voor het testen van een versie die nog niet beschikbaar is via de officiële opslagruimten voor pakketten, dan kunt u uw eigen pakket tamelijk gemakkelijk maken. Als eerste moet u enige vereiste hulpmiddelen installeren:

    % sudo apt-get install build-essential checkinstall

Daarna kunt u de vereiste afhankelijkheden voor bouwen installeren door te pretenderen de afhankelijkheden van de officiële &kwave; versie te installeren:

    % sudo apt-get build-dep kwave

Na installatie van de vereiste pakketten kunt u &kwave; bouwen zoals beschreven in het eerdere hoofdstuk. Na het bouwen kunt u dit typen om een .deb-bestand in uw huidige bouwmap te krijgen:

    % make deb

Het .deb-bestand dat u uit deze stap verkrijgt zal niet de kwaliteit hebben die een pakket uit uw officiële distributie heeft - het is net goed genoeg voor het installeren en veilig verwijderen van &kwave; voor testdoeleinden en voor persoonlijk gebruik.

## Basisbegrippen over digitaal geluid

Dit hoofdstuk zou u een korte introductie moeten geven van de basics van digitale geluidsbewerking, zonder in te veel details te gaan. Natuurlijk kan dit niet volledig zijn, maar als u vragen hebt dan kunt u die stellen op de e-maillijst van &kwave; of enige verdere literatuur raadplegen.

### De analoge wereld

Ten eerste moet u weten dat de wereld analoog is - maar computers werken digitaal. Er zijn verschillende manieren om analoog geluid naar digitaal geluid te converteren en weer terug. Omdat de manier van digitaal naar analoog normaal het omgekeerde is van de manier waarop van analoog naar digitaal wordt gegaan, we alleen de manier beschrijven van analoog naar digitaal.

Conversie van geluid naar bits

Conversie van geluid naar bits

Alvorens door te gaan, analoog geluid moet getransformeerd worden in elektronische signalen om zijn weg te vinden in een computer. Een algemene manier om dat te doen is door een microfoon en een versterker te gebruiken. Deze combinatie krijgt geluid (wijzigingen in luchtdruk) in zijn invoer en een voltage als uitvoer. Een hogere amplitude van de druk zal gerepresenteerd worden door hogere voltages op de uitvoer van de versterker. Deze uitvier wordt ook een 'signaal' genoemd. Inplaats van een microfoon kunt u natuurlijk ook een andere bron van geluid bedenken. En de "versterker" kan er een zijn die geïntegreerd is in uw geluidskaart, waar u deze normaal niet kan zien.

Conversie naar elektronisch signaal

Conversie naar elektronisch signaal

In dit stadium heeft het elektrische signaal drie limieten die men in gedachten moet houden:

1. De amplitude (het volume) is beperkt tot een maximum niveau. Dit is een gevolg van de elektronica (versterkers) die alleen voltages binnen een specifieke reeks kan behandelen. Dat is geen probleem zolang het geluid niet te luid is. In dat geval zou het signaal afgeknepen worden, wat betekent dat het elektrische signaal tegen zijn grenzen aanloopt en het resultaat zal verstoord zijn.

2. De frequentieband is ook beperkt. Vanwege de mechanische beperkingen van microfoons en de beperkte frequentieband van vesterkers, is de frequentieband van het signaal beperkt. Er zijn daarnaast geen harde grenzen waarbij het geluid abrupt verdwijnt, maar onder een lage en boven een hogere frequentie zal de amplitude van het signaal steeds meer verminderen. Het bestaan van een maximum frequentie kan gemakkelijk begrepen worden als een beperkte snelheid van het elektrische signaal om te rijzen en te vallen. Door een hoge kwaliteit van versterkers en microfoons te gebruiken, kunnen de limieten vergroot worden naar reeksen waar het menselijke oor niet langer in staat is hun resulten te horen en dus niet meer interessant is. Het menselijke oor is normaal niet in staat geluid te horen boven 20 kHz.

3. Het signaal bevat ruis. Ruis is de grootste vijand van iedereen die op allerlei manieren te maken heeft met geluidssignalen. Ruis is een typisch analoog effect, wat het geluidssignaal "onscherp" maakt en verstoort, het is altijd aanwezig en kan niet worden vermeden. Men kan alleen componenten van hoge kwaliteit gebruiken die zo weinig als mogelijk ruis produceren, zodat het niet is horen. Normaal heeft ruis een bepaald volume, zodat het geluid dat belangrijk is veel luider is in vergelijking met de ruis. Dit wordt de signaal-tot-ruis-verhouding (SNR) genoemd, hoe hoger het is hoe beter de kwaliteit van het geluid zal zijn. Geluiden die een lager volume dan de ruis hebben kunnen niet worden gehoord.

### Digitalisering

Wanneer we geluid op een computer willen opslaan en afspelen, moeten we het analoge geluid eerst in digitale gegevens omzetten. Dit proces wordt digitalisering genoemd. Het zet een elektronisch signaal om in een reeks van digitale waarden.

Digitalisering van het elektronische signaal

Digitalisering van het elektronische signaal

De omzetting kan begrepen worden als een herhaalde meting van het waarden van het elektronische signaal op bepaalde tijden, dus door sample van het signaal te nemen. Het resultat wordt dan gecodeerd als een digitale waarde.

Het samplen zou gedaan kunnen worden op willekeurige afstanden of in constante intervallen. De laatste methode is veel gemakkelijker te behandelen en dus wordt het gewoonlijk gebruikt, met een constante snelheid - de zogenaamde samplesnelheid. Gebruikelijke samplesnelheden zijn 8000, 11025, 22050 en 44100 samples per seconde. In de praktijk worden samplesnelheden ook gegeven als frequencies, in Hz of kHz.

De samplesnelheid beperkt de hoogste frequentie die een gedigitaliseerd signaal kan representeren. Vanwege het theorema van Shannon is de hoogst bruikbare frequentie de helft van de samplesnelheid, dus met 44.1 kHz samplesnelheid kunt u geen signalen sampelen met meer dan 22 kHz. Om een schending van die regel voor halve samplesnelheid te vermijden heeft uw geluidskaart al ingebouwde filters die frequencies die hoger zijn dan de helft van de gebruikte samplesnelheid.

Gesampled signaal

Gesampled signaal

### Voorbeeld van codering

He resultaat van het digitale samplingproces is een reeks van enkelvoudige samples. Eén sample is een digitale representatie van de waarde van een signaal op een bepaalde tijd.

De waarde van een sample kan geïnterpreteerd en gecodeerd worden op verschillende manieren. De eenvoudigste is lineaire codering. Dit betekent dat elk waarde van het sample direct de waarde van het analoge signaal, vermenigvuldigt met een constante factor, representeert. Dit is gemakkelijk te behandelen, maar heeft het nadeel dat ruis hoorbaar zal zijn speciaal bij lage amplitudes, waar het het meest verstoort en minder hoorbaar bij hoge amplitudes, waar het minder hoorbaar is.

Eén manier om de invloed van ruis te verminderen is niet-lineaire codering. Dit betekent dat lagere amplitudes versterkt worden voor verwerking. Omdat lagere amplitudes versterkt worden, zal hun afstand tot ruis vergoot worden en de kwaliteit verbeteren. De meest algemene methoden hiervoor zijn A-Law en U-Law codering - een gestandaardiseerde logarithmische versterkingskromme, gebruikt in digitale telefonie (ITU G.711 standaard).

Niet-lineaire codering

Niet-lineaire codering

### Voorbeelden van formaten

Samples kunnen opgeslagen worden in verschillende formaten en precisie. De meest algemene zijn integer (vaste-komma) formaten, die waarden opslaan met vaste kwantisering. Afhankelijk van waar de nullijn is gedefinieerd, moet het onderscheid maken tussen zonder teken (alleen positieve waarden, "nullijn" is op de helft van de numerieke reeks) en met teken (positieve en negatieve waarden) formaten met gehele getallen.

Formaat met teken

Formaat met teken

Formaat zonder teken

Formaat zonder teken

Het kwantiseren betekent enig verlies van nauwkeurigheid, het produceert ruis, de zogenaamde kwantiseringsruis. Dat soort ruis heeft meer effect op lage amplitudes, dus is deze methode van het opslaan van samples niet optimaal, maar tamelijk gemakkelijk en erg snel te behandelen (computers zijn snel in berekeningen met gehele getallen).

De tweede manier om samples te coderen is met drijvende-komma getallen. Met drijvende-komma getallen wordt ruis bijna gelijk gespreid over alle reeksen amplitudes en heeft voordelen speciaal bij lage amplitudes. Dit formaat is veel langzamer bij gebruik voor bewerking (computers zijn veel langzamer met rekenen met drijvende-komma waarden in vergelijking met gehele getallen).

&kwave; gebruikt intern het formaat gehele getallen met teken met 24 bits precisie, opgeslagen in 32 bits gehele getallen. Dit heeft het nadeel van hoger geheugengebruik bij bewerking van bestanden met lagere precisie (⪚ 8 bits), maar bewerking met 32 bits getallen is erg snel en biedt ook enige reserve voor interne berekeningen, omdat normaal slechts 24 bits worden gebruikt.

## &kwave; gebruiken

Hier ziet u een keline schermafdruk van het hoofdvenster van &kwave;, zodat u een indruk krijgt van hoe &kwave; er uit ziet...

Hier is een schermafdruk van &kwave; Schermafbeelding van het hoofdvenster

### Modus gebruikersinterface

Depending on your personal preferences or use cases you can configure how &kwave; handles multiple open files. You can switch this setting on the fly through the menu Settings Show Files in... .

De drie mogelijke instellingen zijn:

- Separate Windows (SDI): When using the Single Document Interface (SDI), each file will be shown in a separate main window. schermafdruk van &kwave; in modus SDI Schermafdruk van modus SDI

- Same Window (MDI): When using the Multi Document Interface (MDI), there is only one &kwave; main window, but within this window you have an area which shows sub windows, which can be resized, moved, tiled, cascaded or minimized.

  You can select a window from the Windows menu or cycle through the sub windows with &Ctrl;Tab. schermafdruk van &kwave; in modus MDI Schermafdruk van modus MDI

- Tabs: This is a variant of the MDI interface, where files are shown within separate tabs. You may know this mode from some popular Internet browsers.

  You can activate a tab via the Windows menu or cycle through the tabs with &Ctrl;Tab. screenshot of &kwave; in TAB mode Screenshot of TAB mode

### Memory Setup

When using &kwave; for the first time, you should go to the memory setup dialog and modify the settings to be suitable for your needs and the installed memory of your computer. You can reach it under Settings Memory... .

Hier is een schermafbeelding van de dialoog Geheugeninstellingen van &kwave; Schermafbeelding van de dialoog Geheugeninstellingen

&kwave; kan twee typen geheugen gebruiken: fysiek en virtueel geheugen.

Physical memory is the memory (RAM) that is installed in your computer. You should limit the usage of physical memory to some reasonable size, as a rule of thumb, half of the installed memory should be ok. If you set the limit too high, Linux will take memory from other applications, which means that it swaps out memory of other programs to the hard disk (swap), which is rather slow. If you set the limit too low, you might lose some performance when working with big files, because you use less of the fast physical memory than you could.

If you enable virtual memory, &kwave; is able to load and process files that are bigger than the amount of real installed physical memory. &kwave; does this by using temporary files in a configurable directory, which is much faster and more cooperative to other applications than using the operating system's swapping. The directory that you configure should be on your local hard disk.

### Opdrachtregel

#### Lijst met bestanden of opdrachten

If you start &kwave; from the command line, you can specify a list of files that should be opened. The first specified file will be opened first, then the other files. Each file will be opened in an own new window or sub window of the same &kwave; instance. If you specify wildcards, you can open a large number of files at once.

For example, the following command starts a &kwave; and opens all sounds of the KDE window manager, each in a new window or sub window:

    % kwave /usr/share/sounds/KDE-*.ogg

It is also possible to pass &kwave; text commands, encoded as a special URI

universal resource identifier

, this will be described in a later section.

#### GUI Type

The parameter `--gui-type=`SDI`|`MDI`|`TAB`` lets &kwave; start in one of the three possible GUI modes: SDI, MDI or TAB.

#### Xt Toolkit options

In addition to a list of files, you can specify a list of Xt toolkit options like `-geometry` for specifying the size and/or position of the first opened &kwave; window and/or `-display` for starting the &kwave; on a different display.

For example, the following command starts a &kwave; window with an initial width of 600 pixels and a height of 400 pixels, with the right border positioned 30 pixels away from the right and 0 pixels away from the top of the screen.

    % kwave -geometry 600x400-30+0

#### Opstartopties

With the option `--disable-splashscreen` you can disable the splash screen that comes up when starting &kwave;. This might be useful when you start &kwave; from a script.

The command line option `--iconic` lets &kwave; start up minimized (iconified). This might be useful when you want to start &kwave; without GUI interaction, ⪚ when running from a script. This option also implicitly disables the splash screen!

By using the command line option `--logfile=`kwave.log`` you can log the sequence of actions of a &kwave; session into a file. This is useful for debugging, you might be asked for such a logfile when reporting an error.

### Bestanden openen en opslaan

Bestanden openen met &kwave; werkt hetzelfde als met de meeste andere toepassingen, u kunt

- een lijst bestanden op de opdrachtregel specificeren bij het starten van &kwave;,

- een leeg venster met &kwave; openen (bijvoorbeeld met &Ctrl;W Bestand Nieuw... ) en daar een bestand in stoppen via slepen en loslaten of u kunt

- een bestand openen via het menu met &Ctrl;O Bestand Openen

- of een van de laatste recent geopende bestanden onder Bestand Recent geopend

- sla het huidige bestand op met &Ctrl;S Bestand Opslaan ,

- opslaan onder een andere naam met &Shift;&Ctrl;S Bestand Opslaan als...

- save all areas that are separated by markers, each one to an own file, with File Save Blocks...

- or only the current selection with File Save Selection...

#### Ondersteunde bestandsformaten

&kwave; supports the following file formats:

- The favourite file format of &kwave; is (like you can guess from the name) `.wav`. This format is very common to other "operating systems" and also is commonly used within the KDE environment.

- The second format that &kwave; supports is "ASCII". You can export to and also import from ASCII. Please be aware that storing in this format might produce very large files! The file format will be described below.

- `.mp3` and `.mp2` import is available through libmad for the MP3 decoding in combination with id3lib for decoding ID3 tags and lame for encoding.

- Ogg/Vorbis (`*.ogg`) import and export. See &url_ogg_vorbis; for details.

- FLAC (`*.flac`) import and export. See &url_flac; for details.

- Additionally you can import file formats like `*.8svx` (Amiga IFF/8SVX Sound File Format), `*.au` (NeXT, Sun Audio), `*.aiff` (Audio Interchange Format), `*.avr` (Audio Visual Research File Format), `*.caf` (Core Audio Format), `*.nist` (NIST SPHERE Audio File Format), `*.sf` (Berkeley, IRCAM, Carl Sound Format), `*.smp` (Sample Vision Format), `*.snd` (NeXT, Sun Audio), `*.voc` (Creative Voice) and others through the audiofile plugin.

#### Converting to and from .wav

The best way to work with formats other than those supported by &kwave; is to use an external converter program. A good set of tools for this is in the SoX package, they have also some nice documentation!

The plans for future include support for import and also export filters for more formats and maybe some filter that uses a user-definable script with a call to an external filter, so that even formats not supported by `SoX` (like MP3) can be read and/or written.

#### Format of ASCII files

The ASCII format is quite useful for scientific and educational purposes. Due to it's simple format, you can either write simple files on your own with a text editor or you can use the output of some other application and convert it into ASCII. As the format is really simple, you should not have big problems in writing a converter and most scientific applications use to have some kind of their own ASCII format for export.

The format of an ASCII file is quite simple and has the following rules:

1. At the start of the file comes a block of properties, with one property per line.

2. Each property line starts with `##`.

3. After the properties comes a list of samples, with one sample per line. When using multiple channels, the samples are separated by commas.

4. Lines might end with a carriage return and/or a line feed character (so DOS files are supported too). But when saving, files will always be saved with line feed character as the end of the line.

5. Empty lines and characters after a `#` are treated as comments and are ignored.

6. Values have to be given in signed integer format with a 24 bit range, which is the internal storage format of &kwave;.

7. Everything after a `#` (except property lines, see above) will be treated as comment and will be ignored. Empty lines will also be ignored.

Here is an example of a simple ASCII file that represents a sine wave with eleven samples:

##### content of an ASCII file with a single sine wave

    ## 'rate'=44100
    ## 'tracks'=2
    ## 'bits'=16
    ## 'length'=11
    ## 'Date'='2013-11-09'
    ## 'Software'='Kwave-0.8.11 for KDE 4.11.3'
      5930496,   5930496 #            0
            0,   8388352 #            1
     -5930752,   5930496 #            2
     -8388608,         0 #            3
     -5930752,  -5930752 #            4
            0,  -8388608 #            5
      5930496,  -5930752 #            6
      8388352,         0 #            7
      5930496,   5930496 #            8
            0,   8388352 #            9
     -5930752,   5930496 #           10
    # EOF

### Een nieuw bestand aanmaken

You can create a new and empty file menu under File New... .

Here's a screenshot of &kwave;'s new file dialog Screenshot of the File New Dialog

You can select the sample rate, resolution in bits per sample and the number of tracks. Per default the file format will be ".wav", but it can still be changed at the time when the file is saved.

The length of the new signal can be set by time (hours, minutes, seconds) or by the number of samples. Additionally you can select it relative to the highest possible length, which is limited by the available memory and &kwave;'s internal limit (2 GB).

### Opnemen

&kwave; is able to record audio data from various sources, with all sample rates, sample formats and other modes that your sound hardware supports. Currently &kwave; records through the old OSS sound interface, and since v0.7.4 also the newer and more powerful ALSA interface that is the preferred choice for linux kernel 2.6.

The recording can be reached from the menu under File Record .

Here is a screenshot of the &kwave; record dialog, showing the first page with the recording controls during a running recording session. Like in most dialogs of &kwave; you can get some help or see tooltips on the controls.

Here's a screenshot of &kwave;'s record dialog Screenshot of the Record Dialog

Here you have the following controls:

- Pre-Record: If the pre-recording feature of &kwave; is enabled and the recording is started, &kwave; records into an internal buffer which is some seconds long. If you press the Record ( record button ) button again, then the recording really starts, and also keeps the already pre-recorded data. This is useful for example if you want to record your favorite song from radio, but you recognize too late that the song has started. In this case you can still press the record button and get the start of the song from what &kwave; has already pre-recorded before, so that you will no longer miss a start.

- Record Time: If the length of the recording should be limited to some time, you can activate this setting and select a time in hours, minutes, seconds for your recording. If this option is not enabled, the recording runs until you press the Stop ( stop button ) button.

- Start At: If this setting is activated, you can set a date and time when the recording will be started. Please keep in mind that if the configured time is in the past, the recording will start immediately.

- Record Trigger: If enabled, the recording starts only if the volume of the input goes over a certain limit, which can be defined from 0 to 100% of the highest possible input volume. This is useful if you do not want to record leading silence. (Hint: combine this with the prerecording feature mentioned above to catch also some seconds before reaching the trigger, so that you don't miss any silent fade-ins.)

- The New ( new button ) button is active when the recording is not running or is finished, to discard the current file content and start again.

- The Stop ( stop button ) button is active when the recording or pre-recording is running or &kwave; is waiting for the trigger. If pressed, the current progress will be stopped.

- The Pause ( pause button ) button is active when the recording or pre-recording is running. The first time you press it, the recording will be halted and the button starts blinking. When you press it again the button will stop blinking and recording will continue immediately, without waiting for a trigger.

- The Record ( record button ) button starts the recording and/or prerecording, depending on the features enabled above:

  1. If neither prerecording nor trigger level are used, the recording starts as soon as you press the record button.

  2. If prerecording is not used and a trigger level is set, the first press will let &kwave; wait for the trigger level to be reached. While waiting for a trigger, you can force the recording to start immediately by pressing the record button again, otherwise the recording will start automatically when the trigger level has been reached.

  3. If prerecording is enabled, the first press starts only the prerecording and the second press really starts the recording.

### Afspelen

Depending on the compilation options &kwave; is able to play sounds trough one of the following playback methods:

- ALSA (Advanced Linux Sound Architecture): Supercedes OSS, supports more features and more hardware. Might collide with KDE or other applications like OSS does, but has a plugin called "dmix" as a way out. Newer versions of ALSA use a dmix like plugin per default, so this should the best choice for you!

- OSS (Open Sound System): The oldest linux implementation, capable of mono and stereo output. Deprecated since linux kernel 2.6, but still wide spread. Might collide with KDE or other sound applications, only one application at a time can use OSS playback !

Before trying to play sounds, you should take a look on the playback configuration dialog:

Here's a screenshot of &kwave;'s playback setup dialog Screenshot of the Playback Setup Dialog

Currently &kwave; supports only 8 and 16 bit playback, with mono or stereo output through the OSS interface, but many also all modes your sound hardware supports through the ALSA interface.

If your sound file uses more or less channels than the playback allows, all channels will be mixed together during playback. For example if you have a file with three channels and you use stereo playback, the left channel will play channel 0 (upper) and half of channel 1 (middle), the right channel will play the half of channel 1 (middle) and channel 2 (lower).

For getting a smooth playback without interruptions, you should also set the buffer size to an appropriate value. If you encounter problems with interrupted playback, you should increase the buffer size here. But the bigger you set the buffer, the bigger is the latency between the audible sound and the display of the playback position in the signal display.

The playback settings dialog also provides a button for playing a simple test sound. You should hear a 440Hz tone that wanders over all speakers, from one to the next.

Once you have configured playback, you can use the playback controls of the &kwave; main window or through the Play menu or with keyboard shortcuts:

- P Play Start : Start playback of the current selection from its beginning or the whole file from the current cursor position if nothing was selected. Play only once.

- Play Loop : Like before, but repeat in a loop.

- Space Play Pause : Pause the playback at the current position. Only available when the playback is running.

- Space Play Continue : Continue the playback from the position where it has been paused. Only available if the playback is paused.

- Esc Play Stop : Stop the playback, go back to the start of the selection.

### Bestandseigenschappen

&kwave; is able to handle several meta information that is stored within an audio file. It tries to import and export as much of that information as possible. For example, if you import an MP3 file with ID3 tags, you can keep that information when exporting to a Wave file. If &kwave; would lose meta information when saving, it shows a warning.

You can view and modify the meta information under Edit File Properties... . There you can also change things like sample format, resolution and compression.

Here's a screenshot of &kwave;'s file properties dialog Screenshot of the File Properties Dialog

### Zooming and navigating

&kwave; provides several ways to zoom and navigate, using keyboard shortcuts, menu commands, toolbar buttons and by using the mouse. The following sections should give an overview on how to use all of these functions.

#### Zooming in and out

- zoom to whole signal: selects a zoom factor that makes the whole signal visible in the current window.

  - menu entry: View Zoom to whole signal

  - toolbar button: zoom all button

- zoom to 100%: zooms in up to a scale where on sample is represented by on pixel on the screen.

  - menu entry: View Zoom to 100%

  - toolbar button: zoom to 100% button

- zoom in: zooms in to see more details, magnifies by factor 3.

  - menu-item / sneltoets: &Ctrl;+ Beeld Inzoomen

  - toolbar button: zoom in button

- zoom out: zooms in to see less details, shrinks by factor 3.

  - menu-item / sneltoets: &Ctrl;- Beeld Uitzoomen

  - toolbar button: zoom out button

- zoom selection: zooms to a factor where the current selection is completely visible in the current view.

  - menu-item / sneltoets: &Ctrl;Spatiebalk Beeld Zoomen naar selectie

  - toolbar button: zoom to selection button

- select predefined zoom: select a zoom factor from the zoom combo box in the toolbar.

#### Scrolling left and right

- scroll left: scrolls to the start of the signal by 1/3 of the current view.

  menu entry / keyboard shortcut: cursor Left View Scroll left

  toolbar button: scroll left button

- scroll right: scrolls to the end of the signal by 1/3 of the current view.

  menu entry / keyboard shortcut: cursor right View Scroll right

  toolbar button: scroll right button

- previous page: scrolls to the position right before the current view (left).

  menu entry / keyboard shortcut: Page up View Previous Page

  toolbar button: previous page button

- next page: scrolls to the position right after the current view (right).

  menu entry / keyboard shortcut: Page down View Next Page

  toolbar button: next page button

- to begin: scrolls the current view so that it starts at the beginning of the signal.

  menu entry / keyboard shortcut: &Ctrl;Home View Begin

- to end: scrolls the current view so that it ends at the end of the signal.

  menu entry / keyboard shortcut: &Ctrl;End View End

#### Using the overview

The main screen of &kwave; shows a small overview of the whole signal above the horizontal scroll bar of the main window. This overview also provides some functionality for navigating:

- single click with left mouse button: directly move the current view to the clicked position.

- double click with left mouse button: directly move the current view to the clicked position and additionally zoom in.

- double click with left mouse button, with &Shift; pressed: directly move the current view to the clicked position and additionally zoom out.

#### Vertical zoom

You can zoom the current view vertically by pressing the Alt key and scrolling with the mouse wheel.

### How to select

&kwave; allows you to select a continuous range of samples as well as any combination of channels (if you edit a multi-channel file). By selecting a range of samples (time scope) all following commands will be limited to that range and by de-selecting a channel its content will not be changed.

#### Selecting channels

Selecting or de-selecting a channel is quite simple. Just click on the lamp symbol on the left side of the signal to toggle its state:

green lamp a green lamp means "enabled", whereas

red lamp a red lamp means "disabled".

Note: If a channel is de-selected it will also not be audible for playback!

#### Selecting samples

If you select a range of samples in &kwave;, that range will be inclusive. That means that the first and the last selected sample both belong to the selection and will be used for the following actions. So even if you not selected a range but only a single sample, the selection will never be really "empty". So for example if you see no selected range, the "delete" function applies to that single sample.

The easiest way of selecting a range of samples is just to do that with mouse. It works like you are used from other applications: just press the left mouse button at the point you want to let the selection start and release the button where you want it to end.

If you want to adjust or move the selection's start or end, you can move the mouse cursor near to the start or the end of the selection until it changes from the standard arrow cursor into the left-right arrow cursor and then press the left mouse button and adjust.

You can also extend or shrink the selection to a specific point by holding down the &Shift; key while clicking with the left mouse button. Depending on which border is nearer, the left or right border of the selection will be set to a new position.

There are also some functions available via the menu and of course some keyboard shortcuts:

- het gehele signaal selecteren: &Ctrl;A Bewerken Selectie Alles

- remove any selection and select "nothing": N Edit Selection Nothing

- the currently visible area: V Edit Selection Visible

- het volgende blok samples, beginnend één sample na het eind van de huidige selectie en met dezelfde lengte: &Shift;+ Bewerken Selectie Volgende

  (Hint: use the "+" key from the numeric keypad!)

- het vorige blok samples, eindigend één sample voor het begin van de huidige selectie en met dezelfde lengte: &Shift;- Bewerken Selectie Vorige

  (Hint: use the "-" key from the numeric keypad!)

- breid de selectie uit tot het begin van het signaal (eerste sample): &Shift;Home Bewerken Selectie tot begin

- breid de selectie uit tot het eind van het signaal (laatste sample): &Shift;End Bewerken Selectie tot eind

- expand the current selection left and right up to the next label (or start/end of the signal if there is none), starting at the current cursor position: E Edit Selection Expand to labels

- selecteer het gebied tussen de volgende twee labels rechts van de huidige selectie of tot het eind van het signaal: &Shift;&Ctrl;N Bewerken Selectie tot de volgende labels

- selecteer het gebied tussen de vorige twee labels links van de huidige selectie of tot het begin van het signaal: &Shift;&Ctrl;P Bewerken Selectie tot vorige labels

### Klembord

&kwave; since v0.8.1 uses the clipboard of KDE. This way it is possible to exchange audio data between different &kwave; windows. It might be possible as well to exchange data between &kwave; and other audio applications, depending on their ability to use the KDE clipboard.

When copying data to the clipboard through the `copy` function &kwave; uses the mime type `audio/vnd.wave` as data format, conforming to RFC 2361 which is the same as the well known `wav` format. When pasting from the clipboard into &kwave; all data formats that are available as file import formats are supported, like for example Ogg/Vorbis, FLAC and so on.

### Slepen en neerzetten

&kwave; supports the KDE Drag and Drop protocol. This enables you to open files just by picking them up in a `konqueror` window or the Desktop and let them drop into a window of &kwave;.

Please note that if you drop a file into a &kwave; window that already contains an opened file, the currently opened file will be closed first and then the file you dropped will be opened in it. If you don't want that, you should open a new empty &kwave; window first.

You can also select a range of samples and drag or drop them into a &kwave; window. Per default the drag operation is done in move mode where the selected range is deleted from the original place and inserted at the drop position. By pressing the Ctrl key you can modify this and drag in copy mode instead.

## Automization and Scripting with &kwave;

&kwave; since its first version uses an internal text command language. This command language is used internally for menu handling, GUI control, builtin effects and plugin invocations. The commands will be described later in the section .

### General Syntax

- All commands consist of a command name and an optional parameter list in round brackets, depending on the command.

- Allowed characters for command names are letters, digits and colon. Commands are case sensitive and are always in lower case.

- Parameters within a parameter list are separated by comma.

- Numerical parameters can be given as fixed point numbers or as floating point numbers, using a dot as decimal separator.

- String parameters are automatically trimmed (all white space at the start and at the end is removed). If that is not wanted, they can be surrounded by double quotes ("). If a string parameter contains special characters (like ,, ;, # or a \ itself), these special characters have to be escaped by preceding a \.

- Multiple commands can be concatenated to a command list by using a ; as separator.

Example:

    fileinfo(Comments,"This is an \"example\" comment.")

This example consists of the command `fileinfo` and has two parameters: the keyword `Comments` and the text `"This is an \"example\" comment."`. (These parameters are explained in the corresponding section in the command reference).

### Using the Command Line

In addition to the command line options listed in the section Command Line which are used to start &kwave; in iconified mode or without splash screen, you can pass text commands on the command line, encoded in a special URI format:

`kwave:`command`[?`parameter`[,`parameter` ...] ]`

The rules for transforming a &kwave; text command into a valid URI are as follows:

- The URI starts with the word `kwave`, followed by a : and the command name.

- If the command has parameters, they have to be appended after the command name, using a ? as separator.

- Meerdere parameters kunnen achtergevoegd worden door een , als scheidingsteken te gebruiken.

- Alle speciale tekens in de commandonaam en parameters moeten URL gecodeerd zijn. Hier is een lijst met de vertalingen:

  ### Vertaaltabel voor URL-codering

  origineel | gecodeerd | &no-i18n-unicode-0x0020; | origineel | gecodeerd | &no-i18n-unicode-0x0020; | origineel | gecodeerd | &no-i18n-unicode-0x0020; | origineel | gecodeerd
  (spatie) | `&no-i18n-urlenc-20;` | &no-i18n-unicode-0x0028; | `&no-i18n-urlenc-28;` | &no-i18n-unicode-0x003A; | `&no-i18n-urlenc-3A;` | &no-i18n-unicode-0x005C; | `&no-i18n-urlenc-5C;`
  &no-i18n-unicode-0x0021; | `&no-i18n-urlenc-21;` | &no-i18n-unicode-0x0029; | `&no-i18n-urlenc-29;` | &no-i18n-unicode-0x003B; | `&no-i18n-urlenc-3B;` | &no-i18n-unicode-0x005D; | `&no-i18n-urlenc-5D;`
  &no-i18n-unicode-0x0022; | `&no-i18n-urlenc-22;` | &no-i18n-unicode-0x002A; | `&no-i18n-urlenc-2A;` | &no-i18n-unicode-0x003C; | `&no-i18n-urlenc-3C;` | &no-i18n-unicode-0x005E; | `&no-i18n-urlenc-5E;`
  &no-i18n-unicode-0x0023; | `&no-i18n-urlenc-23;` | &no-i18n-unicode-0x002B; | `&no-i18n-urlenc-2B;` | &no-i18n-unicode-0x003D; | `&no-i18n-urlenc-3D;` | &no-i18n-unicode-0x005F; | `&no-i18n-urlenc-5F;`
  &no-i18n-unicode-0x0024; | `&no-i18n-urlenc-24;` | &no-i18n-unicode-0x002C; | `&no-i18n-urlenc-2C;` | &no-i18n-unicode-0x003E; | `&no-i18n-urlenc-3E;` | &no-i18n-unicode-0x0060; | `&no-i18n-urlenc-60;`
  &no-i18n-unicode-0x0025; | `&no-i18n-urlenc-25;` | &no-i18n-unicode-0x002D; | `&no-i18n-urlenc-2D;` | &no-i18n-unicode-0x003F; | `&no-i18n-urlenc-3F;` | &no-i18n-unicode-0x007B; | `&no-i18n-urlenc-7B;`
  &no-i18n-unicode-0x0026; | `&no-i18n-urlenc-26;` | &no-i18n-unicode-0x002E; | `&no-i18n-urlenc-3E;` | &no-i18n-unicode-0x0040; | `&no-i18n-urlenc-40;` | &no-i18n-unicode-0x007C; | `&no-i18n-urlenc-7C;`
  &no-i18n-unicode-0x0027; | `&no-i18n-urlenc-27;` | &no-i18n-unicode-0x002F; | `&no-i18n-urlenc-2F;` | &no-i18n-unicode-0x005B; | `&no-i18n-urlenc-5B;` | &no-i18n-unicode-0x007D; | `&no-i18n-urlenc-7D;`
  &no-i18n-unicode-0x007E; | `&no-i18n-urlenc-7E;`

### Script bestanden van &kwave;

#### Algemene structuur

A &kwave; script consists of a list of lines, where each line can be:

- a single command,

- a command list, with two or more commands concatenated by a ;.

- a comment,

- a label

- or an empty line, that contains white space only

#### Comments and Empty Lines

All characters that follow a # (except when used in quotes or when escaped) are treated as comments, they will be silently ignored.

Lines that contain only white space or comments are ignored as well.

#### Termination

A &kwave; script terminates either when all commands have been executed successfully without an error or when a command has returned an error code. There is no special command for aborting the execution of a script. If you want to implement a possibility for the user to end a script, you can use the command `msgbox`(``text``). This shows a message box with the two buttons OK (which lets the script continue) and Cancel (which returns an error code and stops the script).

#### Labels

Lines that consist only of an identifier, followed by a : are treated labels. They can be referenced later in the script by the special keyword `GOTO`

Note: Please don't mix up the keyword `GOTO` with the text command `goto` (``position``) !

, which makes the execution of the script continue at the location of that label (see example below).

A line that contains a label must not contain any other content (except comments or white space) after the :.

Voorbeeld:

    start:  # <= this is a label
                        # do something...
                        msgbox(once again?)
                        GOTO start

### Overzicht van de opdrachten

### Alphabetical Index

&no-i18n-tag;

### a

### c

### d

### e

### f

### g

### i

### l

### m

### n

### o

### p

### q

### r

### s

### u

### v

### w

``

### &no-i18n-tag;a

#### &no-i18n-cmd_about_kde;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_about_kde;`()

Shows a dialog window with information about the KDE version used by the computer &kwave; is running at.

#### &no-i18n-cmd_add_label;

##### &i18n-cmd_syntax;`&no-i18n-cmd_add_label;`(`pos`[,`text`])

Add a new label at a given position. If the given position already contains a label, then this command does nothing. The label can be given an optional description.

##### Parameters

`pos`: | position in samples where to insert the label
`tekst`: | some descriptive text (optional)

#### &no-i18n-cmd_add_track;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_add_track;`()

Adds a new track after all existing tracks.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_insert_track;`()

### &no-i18n-tag;c

#### &no-i18n-cmd_clipboard_flush;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_clipboard_flush;`()

Discards the current content of the clipboard (might free some memory).

#### &no-i18n-cmd_close;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_close;`()

Closes the current file. If the GUI is configured to MDI or Tab mode, this also closes the corresponding sub window.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_open;`(`filename`), `&no-i18n-tag;&no-i18n-cmd_quit;`()

#### &no-i18n-cmd_continue;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_continue;`()

Corresponds to the Continue toolbar button and lets the playback continue if it is paused.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_pause;`()

#### &no-i18n-cmd_copy;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_copy;`()

Copies the content of the current selection to the clipboard. If the selection is empty, this command does nothing and the content of the clipboard remains unchanged. Only the content of the currently selected tracks is copied to the clipboard!

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_paste;`()

#### &no-i18n-cmd_crop;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_crop;`()

Crops the signal to the current selection by deleting everything that is after and before the current selection. Affects all tracks. If nothing is selected this command does nothing.

#### &no-i18n-cmd_cut;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_cut;`()

Copies the content of the current selection to the clipboard and removes it from the signal. If the selection is empty, this command does nothing and the content of the clipboard remains unchanged. Only the content of the currently selected tracks is copied to the clipboard, but the selected range is deleted from all tracks.

### &no-i18n-tag;d

#### &no-i18n-cmd_delayed;

##### &i18n-cmd_syntax;`&no-i18n-cmd_delayed;`( `milliseconds`, `command` )

Executes a `command` after a given delay. Please note that the command is executed asynchronously after the given time has elapsed. Multiple commands can be queued, where the delays are relative to the last queued command. This command is intended to be used for queuing commands when taking screenshots for documentation purposes.

##### Parameters

`milliseconden`: | number of whole milliseconds to wait before executing the command
`commando`: | a command, including parameters to be executed after the given delay

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_sync;`(), `&no-i18n-tag;&no-i18n-cmd_window_resize;`(), `&no-i18n-tag;&no-i18n-cmd_window_click;`(), `&no-i18n-tag;&no-i18n-cmd_window_sendkey;`(), `&no-i18n-tag;&no-i18n-cmd_window_close;`(), `&no-i18n-tag;&no-i18n-cmd_window_screenshot;`()

#### &no-i18n-cmd_delete;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_delete;`()

Deletes the currently selected range of samples. If the selection is empty, this command does nothing. Affects all tracks.

#### &no-i18n-cmd_delete_label;

##### &i18n-cmd_syntax;`&no-i18n-cmd_delete_label;`(`index`)

Verwijdert een label, geïdentificeerd door zijn index (beginnend vanaf nul). Als geen label met de gegeven index bestaat, dan doet dit commando niets.

##### Parameters

`index`: | index of the label to delete, starting with 0

#### &no-i18n-cmd_delete_track;

##### &i18n-cmd_syntax;`&no-i18n-cmd_delete_label;`(`index`)

Verwijdert een track, geïdentificeerd door zijn index (beginnend vanaf nul). Als geen track met de gegeven index bestaat, dan eindigt dit commando met een fout.

##### Parameters

`index`: | index van de te verwijderen track, beginnend met 0

#### &no-i18n-cmd_dump_metadata;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_dump_metadata;`()

Prints a list of all meta data entries to the console, for diagnostic purposes. (Only available when &kwave; has been compiled with the option `WITH_DEBUG` switched on).

### &no-i18n-tag;e

#### &no-i18n-cmd_edit_label;

Schermafdruk Schermafbeelding van de dialoog voor bewerking van het label

##### &i18n-cmd_syntax;`&no-i18n-cmd_edit_label;`(`index`)

Opens a window in which the user can edit the position and the description of a label, which is identified by its index (starting from zero). If no label with the given index exists, this command does nothing.

##### Parameters

`index`: | index of the label to edit, starting with 0

#### &no-i18n-cmd_expandtolabel;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_expandtolabel;`()

Expands the current selection to the labels left and right from the current selection borders. If the border of selection already is on a label, it stays unchanged. If there is no label left or right of the current selection, it will be expanded to the start or end of the file.

### &no-i18n-tag;f

#### &no-i18n-cmd_fileinfo;

##### &i18n-cmd_syntax;`&no-i18n-cmd_fileinfo;`(`index`)

Set a file info entry to a new value.

##### Parameters

`trefwoord`: | keyword of the entry
`waarde`: | value of the entry

#### &no-i18n-cmd_forward;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_forward;`()

Corresponds to the Forward toolbar button. If the playback is currently running, it skips forward by 1/10 of the visible range. If the playback is not running, this does the same as the command `&no-i18n-cmd_view_scroll_right;`.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_right;`(), `&no-i18n-tag;&no-i18n-cmd_rewind;`()

### &no-i18n-tag;g

#### &no-i18n-cmd_goto;

##### &i18n-cmd_syntax;`&no-i18n-cmd_goto;`(`pos`)

Sets the cursor to the given position and makes it visible in current view. After this the selection has zero length.

##### Parameters

`pos`: | position in samples where to go to

### &no-i18n-tag;i

#### &no-i18n-cmd_insert_at;

##### &i18n-cmd_syntax;`&no-i18n-cmd_insert_at;`(`pos`)

Inserts the content of the clipboard at the given position, like the command `&no-i18n-cmd_paste;()`(). If the clipboard is currently empty, this function does nothing.

##### Parameters

`pos`: | positie in samples waar in te voegen

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_paste;`()

#### &no-i18n-cmd_insert_track;

##### &i18n-cmd_syntax;`&no-i18n-cmd_insert_track;`(`index`)

Inserts a new track at the given index, using the current length and sample rate settings of the signal. If the index is higher than or equal to the current number of tracks, it will be appended as the last track, same as by the command `&no-i18n-cmd_add_track;()`. The index of all existing tracks at and after the given index will be incremented by one.

##### Parameters

`index`: | index of the track to insert, starting with 0

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_add_track;`()

### &no-i18n-tag;l

#### &no-i18n-cmd_loadbatch;

##### &i18n-cmd_syntax;`&no-i18n-cmd_loadbatch;`(`filename`)

Opens a &kwave; script file and processes the commands in it. Uses the context of the currently opened file or the current main window if no file is loaded.

##### Parameters

`bestandsnaam`: | name of the kwave script file including path and extension

#### &no-i18n-cmd_loop;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_loop;`()

Corresponds to the Loop toolbar button. Starts the playback (if it is not already running) and lets it play in a loop.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_playback_start;`()

### &no-i18n-tag;m

#### &no-i18n-cmd_menu;

##### &i18n-cmd_syntax;`&no-i18n-cmd_menu;` (`command`, `path`, [`hotkey`], [`id`])

This is a very powerful command, which is used to add a new entry to the menu or to modify an existing entry. It determines which command is executed when the menu entry is activated, which icon is shown in the menu and which hotkey is used. Each menu entry can be disabled or hidden, can be assigned a unique id and can also join a menu group.

You normally do not need this command within a &kwave; script!

##### Parameters

`commando`: | A text command (including parameters) or a command list that will be executed when the menu entry gets activated. If a menu entry does not have a corresponding command (for example if it is a sub menu and not menu entry), you should use the special command `ignore()`.
`pad`: | The path within the menu, using a / as separator. The last part of the path can be a sub command which modifies some property of the menu entry (see below). The last portion of the path (that is not a sub command) produces a menu entry, the parts before produce the main menu entry or sub menus that lead to it. Main menu entries or sub menus are automatically created when a menu entry is created, you do not need them manually.
`sneltoets`: | A bitmask that consists of a combination of predefined keys and modifiers, concatenated with a +. The key can be either a digit, an upper case letter, a function key (F1 ... F12) or any other key name understood by the Qt class `QKeySequence`, including key names for predefined actions (like for example `::Copy`). Typical modifiers are `SHIFT`, `ALT` and `CTRL`.
`id`: | A unique id that can be internally used to identify this menu entry or menu / sub menu. Only uppercase letters, digits and `_` should be used and it should start with `ID_`. It is in your own responsibility to make sure that the same id is not used twice.

##### Sub Commands

`&no-i18n-tag;#checkable`: | Makes a menu entry checkable, so that it can be switched on or off.
`&no-i18n-tag;#disabled`: | Maakt het menu-item of menu/submenu uitgeschakeld.
`&no-i18n-tag;#enabled`: | Maakt een menu-item of menu/submenu dat eerder was uitgeschakeld weer ingeschakeld.
`#exclusive`(`groep`): | Makes a menu entry be part of an exclusive `group` (one of many selection). The group that is given as parameter should not be used for any other purpose. Only one entry within that group can be selected at a time.
`#group`(`lijst`): | Adds the menu entry or menu/sub menu to one or more a groups, so that the application can enable/disable a bunch of menu entries without need to know all their unique ids. Multiple groups can be passed as a list with a `,` as separator. Group names have to start with a `@`. The following groups predefined: `&no-i18n-tag;@CLIPBOARD`: Only enabled when the clipboard is not empty. `&no-i18n-tag;@LABELS`: Only enabled when the current signal contains at least one label. `&no-i18n-tag;@NOT_CLOSED`: Enabled when the current signal is not closed (the signal might be empty or zero length). `&no-i18n-tag;@SELECTION`: Enabled when the selection is not empty (more than one sample is selected). `&no-i18n-tag;@SIGNAL`: Enabled when there is some signal loaded and it is not empty or zero length.
`&no-i18n-tag;#hidden`: | Hides the menu entry or menu/sub menu.
`#icon`(`naam`): | Assigns an icon to a menu entry. The icon `name` should correspond to an icon file (without path and file extension) that is installed with KDE or with &kwave;.
`#listmenu`(`id`,`command`): | Inserts a placeholder for a list of menu entries into a sub menu. The unique `id` specified in this sub command is used to add/remove or clear the list of menu entries. The `command` parameter has to contain `%1` as parameter, which will be replaced with the text of the menu entry when it is activated. (This sub command is internally used for the list of recent files, list of tracks and window list).
`&no-i18n-tag;#separator`: | Inserts a separator into a sub menu.

#### &no-i18n-cmd_msgbox;

##### &i18n-cmd_syntax;`&no-i18n-cmd_msgbox;`(`text`)

Shows a message box with some `text` and the two buttons OK (returns without error code) and Cancel (returns and error code). You can use this command to give the user a possibility to abort a running script.

##### Parameters

`tekst`: | A message that will be shown in the message box, should contain a question that can be answered with OK or Cancel

### &no-i18n-tag;n

#### &no-i18n-cmd_newsignal;

##### &i18n-cmd_syntax;`&no-i18n-cmd_newsignal;`( `samples`, `rate`, `bits`, `tracks`)

Creates a new signal, with a given length in `samples`, a `rate` in samples per second (floating point number), a number of `bits` per sample and number of `tracks`. You can calculate the length in samples by multiplying the desired length in seconds with the sample rate.

##### Parameters

`samples`: | Length of the signal in samples.
`snelheid`: | Samplesnelheid in samples per seconde.
`bits`: | Number of bits per sample, must not be zero, should be a number from 8...32.
`tracks`: | Number of tracks.

#### &no-i18n-cmd_next;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_next;`()

Corresponds to the Next toolbar button. If the playback is currently running, it skips forward to the next label. If the playback is not running, this does the same as the command `&no-i18n-cmd_view_scroll_next_label;`.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_next_label;`(), `&no-i18n-tag;&no-i18n-cmd_prev;`()

### &no-i18n-tag;o

#### &no-i18n-cmd_open;

##### &i18n-cmd_syntax;`&no-i18n-cmd_open;`([`filename`])

Opens a file, which can be either a sound file or a &kwave; script. If no file name is passed, then a dialog window will be opened that allows to select an existing file. Depending on the GUI mode the file will be opened in the context of a new sub window (MDI and tab) or in a new main window (SDI, if there was already something loaded).

##### Parameters

`bestandsnaam`: | name of a file including path and extension

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_close;`()

#### &no-i18n-cmd_openrecent;

##### &i18n-cmd_syntax;`&no-i18n-cmd_openrecent;`(`filename`)

Practically the same as the command `&no-i18n-cmd_open;`, but intended to be used internally for the list of recently opened files in the menu File Open Recent . In this command the parameter `filename` is not optional.

##### Parameters

`bestandsnaam`: | entry of the list of recently opened files

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_open;`

### &no-i18n-tag;p

#### &no-i18n-cmd_paste;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_paste;`()

Replaces the current selection with the content of the clipboard. If the clipboard is empty, this command does nothing. The sample rate of the inserted data is adjusted to match the sample rate of the current signal if necessary. Only enabled tracks are affected, disabled tracks remain unchanged. Please be aware that this might produce a time shift between enabled and disabled tracks! If the number of tracks of the clipboard data differs from the number of enabled tracks, then the data is mixed to be spread equally over all selected tracks.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_copy;`()

#### &no-i18n-cmd_pause;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_continue;`()

Corresponds to the Pause toolbar button and lets the playback pause if it is currently running, or continue if it is currently paused.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_continue;`()

#### &no-i18n-cmd_playback_start;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_playback_start;`()

Corresponds to the Start toolbar button and lets the playback start if it is currently paused.

#### &no-i18n-cmd_plugin;

##### &i18n-cmd_syntax;`&no-i18n-cmd_plugin;`(`name`, [`parameter` ...])

Executes a plugin, with an optional list of parameters. If no parameter list is given, then the setup function of the plugin will be called, using the parameters of the previous invocation or default parameters as input (normally shows a setup dialog, depending on the plugin). Please refer to the chapter about plugins for a description of the various plugins.

##### Parameters

`naam`: | the (internal) name of a &kwave; plugin
`parameter`: | a list of parameters understood by the plugin (optional)

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_plugin_execute;`(), `&no-i18n-tag;&no-i18n-cmd_plugin_setup;`()

#### &no-i18n-cmd_plugin_execute;

##### &i18n-cmd_syntax;`&no-i18n-cmd_plugin_execute;`(`name`, [`parameter` ...])

Similar to the command `&no-i18n-cmd_plugin;`(), but without calling the setup function of the plugin if no parameters were passed.

##### Parameters

`naam`: | the (internal) name of a &kwave; plugin
`parameter`: | a list of parameters understood by the plugin

#### &no-i18n-cmd_plugin_setup;

##### &i18n-cmd_syntax;`&no-i18n-cmd_plugin_setup;`(`name`, [`parameter` ...])

Calls the setup function of a plugin, with an optional list of parameters. If no parameter list is given, the parameters of the previous invocation or default parameters will be used as input. This normally shows a setup dialog, depending on the plugin. Please refer to the chapter about plugins for a description of the various plugins.

##### Parameters

`naam`: | the (internal) name of a &kwave; plugin
`parameter`: | a list of parameters understood by the plugin (optional)

#### &no-i18n-cmd_prev;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_prev;`()

Corresponds to the Previous toolbar button. If the playback is currently running, it skips back to the previous label or start of the selection. If the playback is not running, this does the same as the command `&no-i18n-cmd_view_scroll_prev_label;`.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_prev_label;`(), `&no-i18n-tag;&no-i18n-cmd_next;`()

### &no-i18n-tag;q

#### &no-i18n-cmd_quit;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_quit;`()

Closes the current main window, including all sub windows. In SDI mode this is the same as the command `&no-i18n-cmd_close;`().

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_close;`()

### &no-i18n-tag;r

#### &no-i18n-cmd_redo;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_redo;`()

Corresponds to the Redo toolbar button and repeats one operation that has been reverted with `&no-i18n-cmd_undo;`.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_undo;`()

#### &no-i18n-cmd_redo_all;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_redo_all;`()

Similar to `&no-i18n-cmd_redo;`, but re-does as many operations as possible.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_undo;`()

#### &no-i18n-cmd_reenable_dna;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_reenable_dna;`()

Some message boxes offer the possibility to prevent them from appearing again (do not ask again). This command makes all of them appear again.

#### &no-i18n-cmd_reset_toolbars;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_reset_toolbars;`()

Resets all toolbar settings, like location, icon size and text location back to defaults.

#### &no-i18n-cmd_revert;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_revert;`()

Reverts the currently loaded file back to the last saved state, discarding all changes that are not saved.

#### &no-i18n-cmd_rewind;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_rewind;`()

Corresponds to the Rewind toolbar button. If the playback is currently running, it skips backward by 1/10 of the visible range. If the playback is not running, this does the same as the command `&no-i18n-cmd_view_scroll_left;`.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_left;`(), `&no-i18n-tag;&no-i18n-cmd_forward;`()

### &no-i18n-tag;s

#### &no-i18n-cmd_save;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_save;`()

Corresponds to the Save toolbar button. Saves the current file if it has modifications. If the file does not already have a name (⪚ a file that has just been created and does not yet have a file name), this command does the same as `&no-i18n-cmd_saveas;`.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_saveas;`()

#### &no-i18n-cmd_saveas;

##### &i18n-cmd_syntax;`&no-i18n-cmd_saveas;`([`filename`])

Saves the currently opened file under a given file name. If no file name is given as parameter, a dialog will be shown to select the directory and to enter a file name.

##### Parameters

`bestandsnaam`: | file name for saving (optional)

#### &no-i18n-cmd_saveselect;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_saveselect;`()

This command does the same as `&no-i18n-cmd_save;`, but saves only the currently selected range and the activated tracks instead of the whole file.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_save;`()

#### &no-i18n-cmd_select_gui_type;

##### &i18n-cmd_syntax;`&no-i18n-cmd_select_gui_type;`(mode)

Selecteer een GUI-modus, die of SDI, MDI of Tab kan zijn. Let erop dat deze wijziging onmiddellijk effect zal hebben!

##### Parameters

`bestandsnaam`: | naam van de modus, moet of SDI, MDI of TAB zijn.

#### &no-i18n-cmd_select_track_all;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_select_track_all;`()

Markeert alle tracks als ingeschakeld Dit is hetzelfde als het commando `&no-i18n-tag;&no-i18n-cmd_select_track_on;`() aanroepen voor alle bestaande tracks.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_select_track_on;`()

#### &no-i18n-cmd_select_track_invert;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_select_track_all;`()

Inverteert de status ingeschakeld van alle tracks. Dit is hetzelfde als het commando `&no-i18n-cmd_select_track_toggle;`() aanroepen voor alle bestaande tracks.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_select_track_toggle;`()

#### &no-i18n-cmd_select_track_none;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_select_track_none;`()

Markeert alle tracks als uitgeschakeld. Dit is hetzelfde als het commando `&no-i18n-cmd_select_track_off;`() aanroepen voor alle bestaande tracks.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_select_track_off;`()

#### &no-i18n-cmd_select_track_off;

##### &i18n-cmd_syntax;`&no-i18n-cmd_select_track_off;`(index)

Schakelt een enkele track uit, zodat de meeste bewerkingen daarop niet worden toegepast.

##### Parameters

`index`: | index van de track, beginnend bij nul

#### &no-i18n-cmd_select_track_on;

##### &i18n-cmd_syntax;`&no-i18n-cmd_select_track_on;`(index)

Schakelt een enkele track in, zodat deze alle bewerkingen daarop worden toegepast.

##### Parameters

`index`: | index van de track, beginnend bij nul

#### &no-i18n-cmd_select_track_toggle;

##### &i18n-cmd_syntax;`&no-i18n-cmd_select_track_toggle;`(index)

Schakelt een track in als deze nu is uitgeschakeld of schakelt deze uit als deze nu is ingeschakeld.

##### Parameters

`index`: | index van de track, beginnend bij nul

#### &no-i18n-cmd_selectall;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectall;`()

Selecteert het bereik van het gehele signaal, van de eerste tot de laatste sample.

#### &no-i18n-cmd_selectnext;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectnext;`()

Selecteert een reeks samples die starten direct achter de huidige selectie en dezelfde lengte gebruiken als de huidige selectie. De selectie wordt automatisch afgesneden aan het eind van het signaal. Bijvoorbeeld: als u de samples 1000 ... 1019 hebt geselecteerd, dan zal het resultaat een selectie van sample 1020 ... 1039 zijn.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_selectprev;`()

#### &no-i18n-cmd_selectnextlabels;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectnextlabels;`()

Selects a range of samples between the next two labels after the current selection. If nothing is selected, it selects from the start of the signal up to the first label. Otherwise the left border of the new selection will be the position of first label after the selection (or the last label if there are no more labels right from the selection), and the right border of the new selection will be the first label after the left border of the new selection (or the end of the signal if there is none). This command returns an error when there are no labels at all.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_selectprevlabels;`()

#### &no-i18n-cmd_selectnone;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectnone;`()

Stelt de selectie terug op lengte nul.

#### &no-i18n-cmd_selectprev;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectprev;`()

Selecteert een reeks samples die starten links vanaf de huidige selectie en dezelfde lengte gebruiken als de huidige selectie. De selectie wordt automatisch afgesneden aan het begin van het signaal. Bijvoorbeeld: als u de samples 1000 ... 1019 hebt geselecteerd, dan zal het resultaat een selectie van sample 980 ... 999 zijn.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_selectnext;`()

#### &no-i18n-cmd_selectprevlabels;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectprevlabels;`()

Selects a range of samples between the previous two labels before the current selection. If nothing is selected, it selects from the start of the signal up to the first label. Otherwise the right border of the new selection will be the position of first label before the selection (or the first label if there are no more labels left from the selection), and the left border of the new selection will be the first label before the right border of the new selection (or the start of the signal if there is none). This command returns an error when there are no labels at all.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_selectnextlabels;`()

#### &no-i18n-cmd_selecttoleft;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selecttoleft;`()

Stelt het begin van de selectie in op het begin van het signaal, het eind van de huidige selectie blijft ongewijzigd.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_selecttoright;`()

#### &no-i18n-cmd_selecttoright;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selecttoright;`()

Stelt het eind van de selectie in op het eind van het signaal, het begin van de huidige selectie blijft ongewijzigd.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_selecttoleft;`()

#### &no-i18n-cmd_selectvisible;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_selectvisible;`()

Selecteert de reeks samples die zichtbaar zijn in het huidige venster.

#### &no-i18n-cmd_start;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_start;`()

Komt overeen met het de knop Begin op de werkbalk en laat het afspelen beginnen vanaf het begin van de selectie of doorgaan als het is nu is gepauzeerd.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_stop;`()

#### &no-i18n-cmd_stop;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_stop;`()

Komt overeen met het de knop Stop op de werkbalk en laat het afspelen stoppen als er nu wordt afgespeeld.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_start;`()

#### &no-i18n-cmd_sync;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_sync;`()

Wacht totdat alle commando's die asynchroon zijn gestart zijn geëindigd. Als er nu niets in de wachtrij staat voor vertraagde uitvoering dan heeft dit commando geen effect.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_delayed;`()

### &no-i18n-tag;u

#### &no-i18n-cmd_undo;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_undo;`()

Komt overeen met de knop op de werkbalk Ongedaan maken en keert de laatste bewerking om.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_redo;`()

#### &no-i18n-cmd_undo_all;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_undo_all;`()

Similar to `&no-i18n-tag;&no-i18n-cmd_undo;`, but reverts as many operations as possible.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_undo;`()

### &no-i18n-tag;v

#### &no-i18n-cmd_view_scroll_end;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_end;`()

Scrolls the current view to the end of the signal.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_start;`()

#### &no-i18n-cmd_view_scroll_left;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_left;`()

Scrolls the current view by 1/10 of the currently visible range towards the start of the signal. If the start of the signal is reached the visible area starts at offset zero.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_right;`()

#### &no-i18n-cmd_view_scroll_next;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_next;`()

Scrolls the current view towards the end of the signal by the currently visible range.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_prev;`()

#### &no-i18n-cmd_view_scroll_next_label;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_next_label;`()

Scrolls right and tries to show the next label centered in the view. If there was no label right from the current position, it will scroll to the end of the signal.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_prev_label;`()

#### &no-i18n-cmd_view_scroll_prev;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_prev;`()

Scrolls the current view towards the start of the signal by the currently visible range.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_next;`()

#### &no-i18n-cmd_view_scroll_prev_label;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_prev_label;`()

Scrolls left and tries to show the previous label centered in the view. If there was no label left from the current position, it will scroll to the start of the signal.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_next_label;`()

#### &no-i18n-cmd_view_scroll_right;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_right;`()

Scrolls the current view by 1/10 of the currently visible range towards the end of the signal. If the end of the signal is reached the visible area ends at the end of the signal.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_left;`()

#### &no-i18n-cmd_view_scroll_start;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_scroll_start;`()

Scrolls the current view to the start of the signal.

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_scroll_end;`()

#### &no-i18n-cmd_view_zoom_all;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_zoom_all;`()

Adjusts the zoom factor so that the complete signal is visible in the current view.

#### &no-i18n-cmd_view_zoom_in;

##### &i18n-cmd_syntax;`&no-i18n-cmd_view_zoom_in;`([`position`])

Reduces the zoom factor (in samples per pixel) by 30%, so that more details get visible. If a `position` is given, it tries to show that position centered in the current view, otherwise the center of the view before the zoom change is used for centering. The minimum zoom factor is limited to a minimum of five samples per width of the view.

##### Parameters

`positie`: | a zero based position in samples to center the view (optional)

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_zoom_out;`()

#### &no-i18n-cmd_view_zoom_normal;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_zoom_normal;`()

Sets the zoom factor to one pixel per sample (factor 1.0) and tries to keep the previous center of the view.

#### &no-i18n-cmd_view_zoom_out;

##### &i18n-cmd_syntax;`&no-i18n-cmd_view_zoom_out;([`position`])`

Increases the zoom factor (in samples per pixel) by 30%, so that less details get visible. If a `position` is given, it tries to show that position centered in the current view, otherwise the center of the view before the zoom change is used for centering. The maximum zoom factor is limited to the number of samples of the complete signal and the width of the view.

##### Parameters

`positie`: | a zero based position is samples to center the view (optional)

##### Zie ook

`&no-i18n-tag;&no-i18n-cmd_view_zoom_in;`()

#### &no-i18n-cmd_view_zoom_selection;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_view_zoom_selection;`()

Adjusts the view (zoom factor and start of visible area) so that it matches the current selection. This command does nothing if the selection is empty.

### &no-i18n-tag;w

#### &no-i18n-cmd_window_activate;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_activate;`(`titel`])

Activates a sub window, identified by its window `title`. If the sub window is minimized it will be restored. Only available if in MDI and tab mode. This command is internally used by the Window menu.

##### Parameters

`titel`: | the title of the sub window that should be activated

#### &no-i18n-cmd_window_cascade;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_window_cascade;`()

Cascades all sub windows when in MDI mode. All sub windows that are currently minimized stay minimized, they will not be restored.

#### &no-i18n-cmd_window_click;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_click;`( `klasse`, `x`, `y` )

Sends a mouse click event to window, identified by its `class` name. The event will only be sent to the first window that has the given class name, therefore you should make sure that you have only one instance of the given window when this command gets executed.

##### Parameters

`klasse`: | naam van de vensterklasse
`x`: | x position, relative to the left border of the window (in pixels)
`y`: | y position, relative to the top border of the window (in pixels)

#### &no-i18n-cmd_window_close;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_close;`( `klasse` )

Closes a window, identified by its `class` name. Only the first window that has the given class name will be closed, therefore you should make sure that you have only one instance of the given window when this command gets executed.

##### Parameters

`klasse`: | naam van de vensterklasse

#### &no-i18n-cmd_window_minimize;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_minimize;`

Minimizes the currently active sub window when in MDI mode or the current toplevel window when in SDI or Tab mode.

#### &no-i18n-cmd_window_mousemove;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_resize;`( `klasse`, `x`, `y` )

Sends a mouse move event to window, identified by its `class` name. The event will only be sent to the first window that has the given class name, therefore you should make sure that you have only one instance of the given window when this command gets executed.

##### Parameters

`klasse`: | naam van de vensterklasse
`x`: | x position, relative to the left border of the window (in pixels)
`y`: | y position, relative to the top border of the window (in pixels)

#### &no-i18n-cmd_window_next_sub;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_window_next_sub;`()

Activates the next sub window when in MDI or tab mode. If the next sub window is minimized it will be restored.

#### &no-i18n-cmd_window_prev_sub;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_window_prev_sub;`()

Activates the previous sub window when in MDI or tab mode. If the previous sub window is minimized it will be restored.

#### &no-i18n-cmd_window_resize;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_resize;`( `class`, `width`, `height` )

Changes the size of a window, identified by its `class` name to a new `width` and `height`. The change will only be applied to the first window that has the given class name, therefore you should make sure that you have only one instance of the given window when this command gets executed.

##### Parameters

`klasse`: | naam van de vensterklasse
`breedte`: | new width of the window (in pixels)
`hoogte`: | new height of the window (in pixels)

#### &no-i18n-cmd_window_screenshot;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_screenshot;`( `class`, `filename` )

Takes a screenshot of a window, identified by its `class` and saves it to a file. The screenshot will be taken from the first window that has the given class name, therefore you should make sure that you have only one instance of the given window when this command gets executed. Currently the format of the file is hardcoded and has to be `*.png`.

##### Parameters

`klasse`: | naam van de vensterklasse
`bestandsnaam`: | name of the file to save the screenshot, must have the extension `*.png`

#### &no-i18n-cmd_window_sendkey;

##### &i18n-cmd_syntax;`&no-i18n-cmd_window_sendkey;`( `class`, `key code` )

Sends a key press and release event to a window, identified by its `class` name. The key will only be sent to the first window that has the given class name, therefore you should make sure that you have only one instance of the given window when this command gets executed.

##### Parameters

`klasse`: | naam van de vensterklasse
`key code`: | the key code that should be sent, using the same syntax as used for setting up menus

##### Zie ook

description of the parameter `hotkey` of the `&no-i18n-cmd_menu;` command.

#### &no-i18n-cmd_window_tile;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_window_tile;`()

Tiles all sub windows when in MDI mode, using some scheme of KDE. All sub windows that are currently minimized stay minimized, they will not be restored.

#### &no-i18n-cmd_window_tile_vertical;

##### &i18n-cmd_syntax;`&no-i18n-tag;&no-i18n-cmd_window_tile_vertical;`()

Tiles all sub windows vertically when in MDI mode. All windows that are currently minimized stay minimized, they will not be restored.

## Plug-ins

### Plugin Reference

### Alphabetical Index

&no-i18n-tag;

### a

### b

### c

### d

### f

### g

### i

### l

### m

### n

### p

### r

### s

### v

### z

``

### &no-i18n-plugin_about; (About Kwave)

Schermafdruk Schermafbeelding van de plug-in voor Over Kwave

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_about;`

&i18n-plugin_lbl_type;

- gui

&i18n-plugin_lbl_description;

- Shows a window with multiple tabs, including the following information:

  - algemene informatie over het programma

  - authors, contributors and copyright holders

  - all found plugins including their versions and authors

  - informatie over het vertalingsteam

  - copyright and licensing information

### &no-i18n-plugin_amplifyfree; (Amplify Free)

Schermafdruk Screenshot of the Amplify Free Plugin

&i18n-plugin_lbl_internal_name;

- `amplifyfree`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- Amplifies the current selection with a curve that consists of a set of coordinates and an interpolation method. The coordinates on the time axis as well as on the amplitude axis must be normed between 0.0 and 1.0.

Parameters

- `bewerking`

- Internal name, for undo/redo handling. Possible values are:

  trefwoord | beschrijving
  &no-i18n-tag;`fade in` | fade in, curve from 0.0/0.0 to 1.0/1.0
  &no-i18n-tag;`fade out` | fade out, curve from 0.0/1.0 to 1.0/0.0
  &no-i18n-tag;`fade intro` | fade intro, one second pause, then fade in
  &no-i18n-tag;`fade outro` | fade outro, first fade out, then one second pause
  &no-i18n-tag;`amplify free` | user defined curve

`interpolatie`

- Interpolation type, possible values are:

  trefwoord | beschrijving
  &no-i18n-tag;`linear` | Lineair
  &no-i18n-tag;`spline` | Spline
  &no-i18n-tag;`n-polynom` | Polynoom, n-de graad
  &no-i18n-tag;`3-polynom` | Polynoom, 3de graad
  &no-i18n-tag;`5-polynom` | Polynoom, 5de graad
  &no-i18n-tag;`7-polynom` | Polynoom, 7de graad
  &no-i18n-tag;`sample_hold` | Sample en vasthouden

`kromme`

- A comma separated list of pairs of coordinates, normed between 0.0 and 1.0, must be sorted by time axis (ascending), should start at time 0.0 and end with time 1.0.

### &no-i18n-plugin_band_pass; (Band Pass Filter)

Schermafdruk Schermafbeelding van de plug-in voor het banddoorlaatfilter

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_band_pass;`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- Applies a simple band pass filter to the current selection. A band pass lets a certain range of frequencies around a center frequency pass and filters out frequencies that are below or above the center frequency by more than half of the bandwidth of the filter.

  The filter has grade two and is implemented as described in the book "An introduction to digital filter theory" by Julius O. Smith and in Moore's book, where the normalized version from Moore's book is used.

&i18n-plugin_lbl_parameters;

- `frequentie`

- Center frequency of the filter in Hz, must be below half of the sample rate of the file.

`bandbreedte`

- Bandwidth of the filter in Hz.

### &no-i18n-plugin_codec_ascii; (ASCII Codec)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_ascii;`

&i18n-plugin_lbl_type;

- codec

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | Ascii gecodeerd geluid
  &i18n-plugin-lbl_file_type_extensions; | `*.ascii`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-audio-ascii`

&i18n-plugin_lbl_meta_data;

- (alle bekende items voor bestandsinformatie, zie sectie )

### &no-i18n-plugin_codec_audiofile; (Audiofile Codec)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_audiofile;`

&i18n-plugin_lbl_type;

- codec [alleen importeren]

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | Amiga IFF/8SVX Sound File-formaat
  &i18n-plugin-lbl_file_type_extensions; | `*.8svx` | `*.iff`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-8svx`

  &i18n-plugin-lbl_file_type_description; | NeXT, Sun-audio
  &i18n-plugin-lbl_file_type_extensions; | `*.au`, `*.snd`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/basis`

  &i18n-plugin-lbl_file_type_description; | Compressed Audio Interchange-formaat
  &i18n-plugin-lbl_file_type_extensions; | `*.aifc`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-aifc`

  &i18n-plugin-lbl_file_type_description; | Audio Interchange-formaat
  &i18n-plugin-lbl_file_type_extensions; | `*.aif`, `*.aiff`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-aiff`

  &i18n-plugin-lbl_file_type_description; | Audio Visual Research File-formaat
  &i18n-plugin-lbl_file_type_extensions; | `*.avr`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-avr`

  &i18n-plugin-lbl_file_type_description; | Core Audio File -formaat
  &i18n-plugin-lbl_file_type_extensions; | `*.caf`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-caf`

  &i18n-plugin-lbl_file_type_description; | Berkeley, IRCAM, Carl Sound-formaat
  &i18n-plugin-lbl_file_type_extensions; | `*.sf`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-ircam`

  &i18n-plugin-lbl_file_type_description; | NIST SPHERE Audio File-formaat
  &i18n-plugin-lbl_file_type_extensions; | `*.nist`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-nist`

  &i18n-plugin-lbl_file_type_description; | Sample Vision-formaat
  &i18n-plugin-lbl_file_type_extensions; | `*.smp`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-smp`

  &i18n-plugin-lbl_file_type_description; | Creative Voice
  &i18n-plugin-lbl_file_type_extensions; | `*.voc`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-voc`

&i18n-plugin_lbl_meta_data;

- (geen)

### &no-i18n-plugin_codec_flac; (FLAC Codec)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_flac;`

&i18n-plugin_lbl_type;

- codec

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | FLAC audio (Free Lossles Audio Codec)
  &i18n-plugin-lbl_file_type_extensions; | `*.flac`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-flac`

&i18n-plugin_lbl_meta_data;

- &i18n-INF_CREATION_DATE;, &i18n-INF_NAME;, &i18n-INF_VERSION;, &i18n-INF_ALBUM;, &i18n-INF_TRACK;, &i18n-INF_AUTHOR;, &i18n-INF_PERFORMER;, &i18n-INF_COPYRIGHT;, &i18n-INF_LICENSE;, &i18n-INF_ORGANIZATION;, &i18n-INF_SUBJECT;, &i18n-INF_GENRE;, &i18n-INF_SOURCE;, &i18n-INF_CONTACT;, &i18n-INF_ISRC;, &i18n-INF_SOFTWARE;, &i18n-INF_ENGINEER;, &i18n-INF_VBR_QUALITY;

### &no-i18n-plugin_codec_mp3; (MP3-codec)

Schermafdruk Schermafbeelding van de instellingendialoog van de MP3-codec

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_mp3;`

&i18n-plugin_lbl_type;

- codec

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | MPEG laag III-audio
  &i18n-plugin-lbl_file_type_extensions; | `*.mp3`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-mp3`, `audio/mpeg`s

  &i18n-plugin-lbl_file_type_description; | MPEG laag II-audio
  &i18n-plugin-lbl_file_type_extensions; | `*.mp2`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-mp2`, `audio/mpeg`

  &i18n-plugin-lbl_file_type_description; | MPEG laag I-audio
  &i18n-plugin-lbl_file_type_extensions; | `*.mp1`, `*.mpg`, `*.mpga`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-mpga`, `audio/mpeg`

&i18n-plugin_lbl_meta_data;

- &i18n-INF_ALBUM;, &i18n-INF_ANNOTATION;, &i18n-INF_AUTHOR;, &i18n-INF_CD;, &i18n-INF_CDS;, &i18n-INF_COMMENTS;, &i18n-INF_COMMISSIONED;, &i18n-INF_CONTACT;, &i18n-INF_COPYRIGHT;, &i18n-INF_CREATION_DATE;, &i18n-INF_GENRE;, &i18n-INF_ISRC;, &i18n-INF_LENGTH;, &i18n-INF_LICENSE;, &i18n-INF_MEDIUM;, &i18n-INF_NAME;, &i18n-INF_ORGANIZATION;, &i18n-INF_PERFORMER;, &i18n-INF_SOFTWARE;, &i18n-INF_TECHNICAN;, &i18n-INF_TRACK;, &i18n-INF_TRACKS;, &i18n-INF_VERSION;

### &no-i18n-plugin_codec_ogg; (Ogg Codec)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_ogg;`

&i18n-plugin_lbl_type;

- codec

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | Ogg Opus-audio
  &i18n-plugin-lbl_file_type_extensions; | `*.opus`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/ogg`, `application/ogg`, `audio/opus`

  &i18n-plugin-lbl_file_type_description; | Ogg Vorbis audio
  &i18n-plugin-lbl_file_type_extensions; | `*.ogg`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/ogg`, `audio/x-ogg`, `application/x-ogg`, `audio/x-vorbis+ogg`

&i18n-plugin_lbl_meta_data;

- &i18n-INF_ALBUM;, &i18n-INF_AUTHOR;, &i18n-INF_CONTACT;, &i18n-INF_COPYRIGHT;, &i18n-INF_CREATION_DATE;, &i18n-INF_ENGINEER;, &i18n-INF_GENRE;, &i18n-INF_ISRC;, &i18n-INF_LICENSE;, &i18n-INF_NAME;, &i18n-INF_ORGANIZATION;, &i18n-INF_PERFORMER;, &i18n-INF_SOFTWARE;, &i18n-INF_SOURCE;, &i18n-INF_SUBJECT;, &i18n-INF_TRACK;, &i18n-INF_VBR_QUALITY;, &i18n-INF_VERSION;,

### &no-i18n-plugin_codec_wav; (WAV-codec)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_codec_wav;`

&i18n-plugin_lbl_type;

- codec

&i18n-plugin_lbl_file_types;

- &i18n-plugin-lbl_file_type_description; | WAV-audio
  &i18n-plugin-lbl_file_type_extensions; | `*.wav`
  &i18n-plugin-lbl_file_type_mime_types; | `audio/x-wav`, `audio/vnd.wave`, `audio/wav`

&i18n-plugin_lbl_meta_data;

- &i18n-INF_ALBUM;, &i18n-INF_ANNOTATION;, &i18n-INF_ARCHIVAL;, &i18n-INF_AUTHOR;, &i18n-INF_CD;, &i18n-INF_COMMENTS;, &i18n-INF_COMMISSIONED;, &i18n-INF_CONTACT;, &i18n-INF_COPYRIGHT;, &i18n-INF_CREATION_DATE;, &i18n-INF_ENGINEER;, &i18n-INF_GENRE;, &i18n-INF_ISRC;, &i18n-INF_KEYWORDS;, &i18n-INF_LICENSE;, &i18n-INF_MEDIUM;, &i18n-INF_NAME;, &i18n-INF_ORGANIZATION;, &i18n-INF_PERFORMER;, &i18n-INF_PRODUCT;, &i18n-INF_SOFTWARE;, &i18n-INF_SOURCE;, &i18n-INF_SOURCE_FORM;, &i18n-INF_SUBJECT;, &i18n-INF_TECHNICAN;, &i18n-INF_TRACK;, &i18n-INF_VERSION;,

### &no-i18n-plugin_debug; (Debugfuncties)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_debug;`

&i18n-plugin_lbl_type;

- functie

&i18n-plugin_lbl_description;

- Provides various internal commands useful for debugging and scripting &kwave;. These functions are only available through the main menu if &kwave; has been compiled in debug mode (see build options).

&i18n-plugin_lbl_commands;

- , , , ,

### &no-i18n-plugin_fileinfo; (Bestandsinformatie)

Schermafdruk Schermafbeelding van de plug-in voor de bestandsinformatie

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_fileinfo;`

&i18n-plugin_lbl_type;

- gui

&i18n-plugin_lbl_description;

- Provides a dialog window to view and change parameters and meta data of the currently opened file. See section in this manual.

### &no-i18n-plugin_goto; (Ga naar positie)

Schermafdruk Schermafbeelding van de plug-in voor Ga naar positie

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_goto;`

&i18n-plugin_lbl_type;

- functie

&i18n-plugin_lbl_description;

- Shows a dialog with the possibility to set the current position of the selection to a new value, either by a time in milliseconds, by a position in samples or by percentage of the length of the current file.

&i18n-plugin_lbl_commands;

&i18n-plugin_lbl_parameters;

- `modus`

- waarde | beschrijving
  &no-i18n-tag;`0` | positie is gegeven in milliseconden
  &no-i18n-tag;`1` | position is given in samples
  &no-i18n-tag;`2` | position is given in percentage of the file length

`positie`

- position to go to, in milliseconds, samples or percentage of the length of the file, depending on the parameter `mode`.

### &no-i18n-plugin_insert_at; (Invoegen op)

Schermafdruk Schermafbeelding van de plug-in Invoegen op

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_insert_at;`

&i18n-plugin_lbl_type;

- functie

&i18n-plugin_lbl_description;

- Similar to the plugin, but shows a dialog with the possibility to insert the current content of the clipboard at a given position, either by a time in milliseconds, by a position in samples or by percentage of the length of the current file.

&i18n-plugin_lbl_commands;

&i18n-plugin_lbl_parameters;

- `modus`

- waarde | beschrijving
  &no-i18n-tag;`0` | positie is gegeven in milliseconden
  &no-i18n-tag;`1` | position is given in samples
  &no-i18n-tag;`2` | position is given in percentage of the file length

`positie`

- position where to insert the clipboard data, in milliseconds, samples or percentage of the length of the file, depending on the parameter `mode`.

### &no-i18n-plugin_lowpass; (Low Pass Filter)

Schermafdruk Schermafbeelding van de plug-in voor het laagdoorlaatfilter

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_lowpass;`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- Applies a simple low pass filter to the current selection. A low pass filter lets frequencies below a border frequency pass and filters out frequencies that are above the border frequency.

  The filter has grade two and is implemented as described in the book "The manifold joys of conformal mapping, applications to digital filtering in the studio by James A. Moorer (JAES, Vol. 31, No. 11, 1983 November).

&i18n-plugin_lbl_parameters;

- `frequentie`

- The border frequency of the low pass filter in Hz.

### &no-i18n-plugin_memory; (Memory Settings)

Schermafdruk Schermafbeelding van de plug-in voor Geheugeninstellingen

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_memory;`

&i18n-plugin_lbl_type;

- gui

&i18n-plugin_lbl_description;

- Provides a dialog to set up the memory usage of &kwave;. Please refer to the section about the in this manual for more information.

&i18n-plugin_lbl_parameters;

- `physical limited`

- If zero, the use of physical memory will not limited, otherwise the use of physical memory will be limited.

`physical limit`

- Limitation of the physical memory in units of whole MB. Only has an effect when the parameter `physical limited` has been set to a non zero value.

`virtual enabled`

- If zero, the use of virtual memory will be disabled, otherwise the use of virtual memory will be enabled.

`virtual limited`

- If zero, the use of virtual memory will be not limited, otherwise the use of virtual memory will be limited. Only has an effect if the parameter `virtual enabled` has been set to a non zero value.

`virtual limit`

- Limitation of the virtual memory in units of whole MB. Only has an effect if the parameters `virtual enabled` and `virtual limited` have both been set to a non zero value.

`virtual directory`

- Directory to use for storing swap files that will be used for providing virtual memory. Only has an effect if the parameter `virtual enabled` has been set to a non zero value.

### &no-i18n-plugin_newsignal; (New Signal)

Schermafdruk Schermafbeelding van de plug-in voor het Nieuwe signaal

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_newsignal;`

&i18n-plugin_lbl_type;

- functie

&i18n-plugin_lbl_description;

- Provides a dialog to create a new file. Please refer to the section in this manual for more information.

&i18n-plugin_lbl_commands;

- ,

### &no-i18n-plugin_noise; (Noise Generator)

Schermafdruk Schermafbeelding van de plug-in voor de Ruisgenerator

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_noise;`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- Adds some amount of white noise to the current selection. The amount of noise can be selected between zero (no noise, original remains unchanged) and one (original will be replaced by 100% noise).

&i18n-plugin_lbl_parameters;

- `niveau`

- Ruisniveau, moet altijd een drijvendekommagetal zijn groter dan nul en kleiner of gelijk aan één.

`modus`

- waarde | beschrijving
  &no-i18n-tag;`0` | Voer de ruis in als percentage van de amplitude, vanaf 0 tot 100.
  &no-i18n-tag;`1` | Voer de ruis in in decibel, vanaf -21 dB tot 0 dB.

### &no-i18n-plugin_normalize; (Normalisatie)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_normalize;`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- Normalizes the volume level of the current selection. Use this if the volume of your signal is too low or too high.

  The algorithm is taken from the normalize project, and was originally written by Chris Vaill .

### &no-i18n-plugin_notch_filter; (Notch-filter)

Schermafdruk Schermafbeelding van de plug-in voor het Scherpfilter

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_notch_filter;`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- Applies a notch filter to the current selection. A notch filter removes a small range of frequencies around a center frequency and lets all other frequencies below and above the center frequency by more than half of the bandwidth pass.

  Use this to filter out single distortion frequencies.

  The filter has grade two and is based on the implementation of Juhana Sadeharju .

&i18n-plugin_lbl_parameters;

- `frequentie`

- Center frequency of the filter in Hz, must be below half of the sample rate of the file.

`bandbreedte`

- Bandwidth of the filter in Hz.

### &no-i18n-plugin_pitch_shift; (Pitch Shift)

Schermafdruk Schermafbeelding van de plug-in voor de Pitch-shift

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_pitch_shift;`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- The pitch shift effect modifies the signal by changing the speed of the content, but with keeping the original length. You can select the relative speed either by factor from 1/10 to x5, or as a percentage from 1% to 400% of the original speed.

  A speed factor below 1.0 pitches the signal down (lower voice, makes voices sound older), factor 1.0 does no change and a factor above 1.0 pitches the signal up (higher voice, mickey mouse effect).

  The implementation is based on the work of Jeff Tranter and Stefan Westerfeld

&i18n-plugin_lbl_parameters;

- `snelheid`

- Factor for changing the speed, has to be a floating point number between 0.001 and 4.0.

`frequentie`

- Frequency internally used by the filter in Hz, has to be between 2.0 and 10.0.

`modus`

- waarde | beschrijving
  &no-i18n-tag;`0` | Enter the speed value as factor from 1/10 to x5.
  &no-i18n-tag;`1` | Enter the speed value as percentage from 1 to 400.

### &no-i18n-plugin_playback; (Afspelen)

Schermafdruk Schermafbeelding van de plug-in voor het Afspelen

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_playback;`

&i18n-plugin_lbl_type;

- functie

&i18n-plugin_lbl_description;

- Provides a dialog to set up the playback parameters. Please refer to the section in this manual for more information.

&i18n-plugin_lbl_parameters;

- `afspeelmethode`

- The method used for playback, see `PlayBackParam.h`.

`afspeelapparaat`

- A string that determines the playback device or channel. The meaning depends on the playback method.

`kanalen`

- Het aantal te gebruiken kanalen voor afspelen, op dit moment slechts 1 (mono) of 2 (stereo).

`bits per sample`

- The number of bits per sample for playback, should be 8, 16, 24 or 32. Depends on the playback method and the playback device.

`buffergrootte`

- Determines the size of the playback buffer, used as exponent for calculating the real buffer size as 2^n, e.g. setting this to 16 gives a buffer size of 2^16 = 64 kB.

### &no-i18n-plugin_record; (Opnemen)

Schermafdruk Schermafbeelding van de plug-in voor het Opnemen

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_record;`

&i18n-plugin_lbl_type;

- functie

&i18n-plugin_lbl_description;

- Provides a dialog to set up the record parameters and to do a recording. Please refer to the section in this manual for more information.

&i18n-plugin_lbl_parameters;

- `opnamemethode`

- De gebruikte methode voor opnemen, zie `RecordParams.h`.

`vooraf opnemen ingeschakeld`

- Vooraf opnemen in-/uitschakelen (1 indien in-, 0 indien uitgeschakeld).

`tijd van vooraf opnemen`

- Aantal seconden voor opnemen vooraf.

`opnametijd beperken`

- Beperking van opnametijd in-/uitschakelen (1 indien beperkt, 0 indien niet beperkt).

`opnametijd`

- Duur van de opname in seconden.

`use starting time`

- Enable/disable starting time (1 if used, 0 if not used).

`starttijd`

- Date/time to start the recording, in ISO format.

`use trigger level`

- Enable/disable trigger level (1 if used, 0 if not used).

`trigger-niveau`

- Trigger-niveau in procenten.

`opnameapparaat`

- Een tekenreeks die het opnameapparaat bepaalt.

`kanalen`

- Het aantal te gebruiken kanalen voor opnemen.

`samplesnelheid`

- Samplesnelheid in samples per seconde.

`compressie`

- Compression to use for storing the samples.

`formaat van sample`

- Sample format to use for storing the samples, see section about sample formats.

`bits per sample`

- The number of bits per sample for recording, should be 8, 16, 24 or 32.

`aantal buffers`

- Determines the number buffers used for recording.

`buffergrootte`

- Determines the size of the recording buffer, used as exponent for calculating the real buffer size as 2^n, e.g. setting this to 16 gives a buffer size of 2^16 = 64 kB.

Alternatieve parameters:

- `record plugin direct mode`

- Can be used as a single parameter for setting up the plugin. The following values are possible:

  waarde | beschrijving
  &no-i18n-tag;`format` | Open the recording dialog and select the Format tab.
  &no-i18n-tag;`broncode` | Open the recording dialog and select the Source tab.
  &no-i18n-tag;`nu_starten` | Open the recording dialog and directly start recording.

### &no-i18n-plugin_reverse; (Omdraaien)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_reverse;`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- Dit eenvoudige effect draait de inhoud van de huidige selectie om.

### &no-i18n-plugin_samplerate; (Conversie van samplesnelheid)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_samplerate;`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- Wijzigt de samplesnelheid van de huidige selectie of het gehele signaal.

&i18n-plugin_lbl_parameters;

- `nieuwe snelheid`

- De nieuwe samplesnelheid in samples per seconde (drijvendekommagetal).

`modus` (optioneel)

- If this parameter is used and set to the value "`all`", then this effect will be applied to the whole signal. Otherwise it will be applied to the current selection only.

### &no-i18n-plugin_saveblocks; (Save Blocks)

Schermafdruk Schermafbeelding van de plug-in voor Blokken opslaan

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_saveblocks;`

&i18n-plugin_lbl_type;

- functie

&i18n-plugin_lbl_description;

- Saves all sections between markers, each into a separate file. Each file is given a name that can be customized by using a pattern that can contain the original file name, an index and the number of sections.

  It is also allowed that the file name pattern contains forward slashes as path separators, which allows saving the sections into different sub directories. Please note that all whitespace characters around such path separators are silently removed, to avoid creation of directory names which begin or end with a whitespace.

&i18n-plugin_lbl_parameters;

- `naam`

- The name of the original file, will be used as base name for the file names.

`patroon`

- A pattern that will be used for creating the names of the files. It can contain the following wildcards which will be replaced by the corresponding content when creating the final file name:

  jokerteken | beschrijving
  &no-i18n-tag;`[%nr]` | Will be replaced with the current index of the file to save.
  &no-i18n-tag;`[%count]` | Will be replaced with the number of sections that will be saved.
  &no-i18n-tag;`[%total]` | Will be replaced with the index of the last file to save.
  &no-i18n-tag;`[%filename]` | Will be replaced with the base file name, without path and without extension.
  &no-i18n-tag;`[%fileinfo{`trefwoord`}]` | Zal vervangen worden door de inhoud van een bestandsinformatie geïdentificeerd door `trefwoord`. Zie sectie voor een lijst met alle beschikbare trefwoorden.
  &no-i18n-tag;`[%title]` | Will be replaced with the title the block, which is taken from the descriptive text of the label at the start of the block. If that text is empty it will fall back to the title of the file (see file information item "Name"). If this also does not exist, it will fall back to the base file name as described above.

  All numeric wildcards can also contain a numerical argument after the "`%`" and the identifier, to force a certain number of digits. If the number is preceded by a `0` then the result will contain leading zeroes, otherwise it will contain leading spaces.

  Example: ``[%04nr]`` produces a number between 0001 and 9999.

`manier van nummering`

- Determines where the numbering should start.

  waarde | beschrijving
  &no-i18n-tag;`0` | Continue after the index of the highest index that already exists, this avoids overwriting existing files.
  &no-i18n-tag;`1` | Always start with index 1, with the risk of overwriting existing files.

`alleen selectie`

- waarde | beschrijving
  &no-i18n-tag;`0` | Save all sections of the whole file.
  &no-i18n-tag;`1` | Save only the sections that are within the current selection. If nothing is selected, the whole file will be saved.

### &no-i18n-plugin_selectrange; (Select Range)

Schermafdruk Schermafbeelding van de plug-in voor de Reeks selecteren

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_selectrange;`

&i18n-plugin_lbl_type;

- functie

&i18n-plugin_lbl_description;

- Shows a dialog to select a range of samples. The start and the length of the selection can be set either by a time in milliseconds, in samples, or as a percentage of the total length of the file.

&i18n-plugin_lbl_parameters;

- `start mode`

- Determines the units in which the start of the selection will be given.

  waarde | beschrijving
  &no-i18n-tag;`0` | milliseconden
  &no-i18n-tag;`1` | monsters
  &no-i18n-tag;`2` | percentage of the length of the file

`range mode`

- Determines the units in which the length of the selection will be given. See the description if the parameter `start mode` for a list of possible values.

`starten`

- The start of the selection, in milliseconds, samples or percentage of the length of the file, depending on the parameter `range mode`.

`lengte`

- The length of the selection, in milliseconds, samples or percentage of the length of the file, depending on the parameter `range mode`.

### &no-i18n-plugin_sonagram; (Sonagram)

Schermafdruk Schermafbeelding van de plug-in voor het Sonagram Schermafdruk Schermafbeelding van het Sonagramvenster

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_sonagram;`

&i18n-plugin_lbl_type;

- functie

&i18n-plugin_lbl_description;

- Evaluates the current selection by generating a sonagram. A sonagram is an evaluation of a signal over time (x axis), frequency (y axis) and intensity (color).

&i18n-plugin_lbl_parameters;

- `FFT points`

- Number of points of the FFT, a whole number between 4 and 32767 which determines the frequency resolution.

`vensterfunctie`

- The window function used for the FFT calculation, supported values are:

  waarde | beschrijving
  &no-i18n-tag;`geen` | geen vensterfunctie
  &no-i18n-tag;`hamming` | Hamming -venster
  &no-i18n-tag;`hanning` | Hanning window
  &no-i18n-tag;`blackman` | Blackman window
  &no-i18n-tag;`triangular` | Driehoekige venster

`kleuren gebruiken`

- If set to non-zero, use colors for intensity, if set to zero use grayscales.

`track changes`

- If set to non-zero, the sonagram will be updated when the area that was evaluated has changed. If set to zero it will never be updated.

`selectie volgen`

- Not yet implemented, use zero for this parameter.

### &no-i18n-plugin_stringenter; (Voer commando in)

Schermafdruk Schermafbeelding van de plug-in voor het commando Enter

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_stringenter;`

&i18n-plugin_lbl_type;

- functie

&i18n-plugin_lbl_description;

- A small dialog window that allows to enter a &kwave; text command. Please refer to the chapter in this manual.

&i18n-plugin_lbl_parameters;

- `voorinstelling` (optioneel)

- A text that is shown in the edit field when entering the dialog. This parameter is optional, if omitted the edit field of the dialog will be empty at start.

### &no-i18n-plugin_volume; (Volume)

Schermafdruk Schermafbeelding van de plug-in voor Volume

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_volume;`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- With this plugin you can change the volume of the current selection by a constant factor. The corresponding dialog allows to enter this factor as a numeric factor given as a floating point value between 0.10 and 10.0, a percentage between 1 and 1000, or in decibel between -21 and +21.

  Use a factor above 1.0 (or percentage above 100 or more than 0 dB) if the file is too silent, or a factor below 1.0 (percentage below 100 or less than 0 dB) if the file is too loud.

&i18n-plugin_lbl_parameters;

- `factor`

- A floating point value with the amplification factor.

`modus`

- waarde | beschrijving
  &no-i18n-tag;`0` | factor
  &no-i18n-tag;`1` | percentage
  &no-i18n-tag;`1` | decibel

### &no-i18n-plugin_zero; (Nulgenerator)

&i18n-plugin_lbl_internal_name;

- `&no-i18n-plugin_zero;`

&i18n-plugin_lbl_type;

- effect

&i18n-plugin_lbl_description;

- This plugin has two modes of operation. If used without parameters it wipes the current selection by overwriting it with silence. When used with two parameters, it inserts some amount of silence at the start of the current selection.

&i18n-plugin_lbl_parameters;

- `length mode`

- Determines the units in which the length of the inserted silence will be given.

  waarde | beschrijving
  &no-i18n-tag;`0` | milliseconden
  &no-i18n-tag;`1` | monsters
  &no-i18n-tag;`2` | percentage of the length of the file

`lengte`

- Length of the silence to insert, in milliseconds, samples or percentage of the length of the file, depending on the parameter `length mode`.

## Developer's Guide to &kwave;

under construction

Sorry, this chapter is still to be written... At the moment the source code is nearly completely documented with tags suitable with the KDE documentation tools. We currently prefer using doxygen. Maybe some day we will spend some time for writing a tool that converts the doxygen output into something we can include into the docbook source (the source this page has been built of).

If you want to write a plugin, contribute something to this project (or maybe write the converter mentioned above), please feel free to contact one of the authors directly and / or subscribe to the &kwave; mailing list. Help is always welcome!

### Creating API documentation

If you are interested in the internal of &kwave; and you have doxygen installed, then you can type:

    % make apidoc

to get a directory ``apicod/html``, with documentation of the source and the internal API in your current build directory.

### Starting in a test environment

If you are developing or testing &kwave;, then you do not necessarily need to uninstall/install &kwave; after every build. Instead you can use the application from where it is built by using a wrapper script. This wrapper script can be built with the following command:

    % make wrapper

The script will be named ``kw``, feel free to modify it to match your system if needed.

For this to work, you must not have &kwave; installed on your system. If so, please uninstall the package before!

## Vragen en antwoorden

What do I need to compile &kwave;?

Read in the chapter mentioned before.

Which sound cards does &kwave; support?

&kwave; does not need support for any special sound card. The sound card only has to be supported by your operating system and &kwave; uses its interface to the operating system's sound driver through a OSS or ALSA interface. So &kwave; can play on any sound card that KDE is able to play on.

Why does &kwave; consume more memory than it can be expected from the size of the opened file?

The reason for this is that &kwave; internally stores all samples in 32-bit integers. This was easy to program, made the application faster and a bit more reliable. So if you load an 8-bit file with about one megabyte it will consume about four megabytes. Maybe we will change this somewhere in the future...

Which sound formats does &kwave; support?

&kwave; currently supports .wav files with 8, 16 and 24 bits per sample, with any number of channels (of course including mono and stereo). Additionally it can import all file types that libaudiofile supports and some other formats like Ogg/Vorbis and MP3.

What if I have files with a format not supported by &kwave;?

If you have to work on a different format, you can convert it into .wav format. A good set of tools for this is in the SoX package, they have also some nice documentation!

I get errors when I want to do playback?

Maybe you have chosen a combination of playback rate and sample size that is not supported by your sound driver and / or sound hardware. Try playback with 8 bits per sample and mono first, this should always work. Then try to increase the bits per sample and stereo playback step by step. Note that some playback rates are not at all supported by some sound hardware.

The playback seems to do something but I hear nothing?

Maybe you have forgotten to increase the volume of the playback channel. &kwave; is not responsible for changing the playback volume.

Some files are played with half-speed?

Try choosing a different sound playback device.

The playback sometimes is disturbed and interrupted?

You should increase the size of the playback buffer to get a "smoother" playback (this also makes the playback control reacting a bit slower).

The playback does not stop if I immediately press the stop button?

The reason for this is that the sound driver already has received some playback data from &kwave; at the moment when you press the stop button. Decrease the size of the playback buffer and it should react faster (but makes interruptions more probable).

Is ALSA supported?

Ja, sinds v0.7.4 voor afspelen en opnemen

Hoe zit het met afspelen met 18, 20, 24 of 32 bits per sample of meer dan twee kanalen?

Dit is mogelijk via het ALSA interface, sinds v0.7.4.

Hoe zit het met ondersteuning van MP3?

Wel, zolang er problemen zijn met patenten, ondersteunen we alleen importeren van MP3 via de mad-bibliotheek en exporteren via het externe programma lame. Daarnaast hebt u toestemming nodig om code te gebruiken die de MP3 patenten dekken bij genereren van een Kwave pakket voor distributie!

## Dankbetuigingen en licentie

&kwave;

Programma copyright vanaf 1998-2000 Martin Wilz martin@wilz.de

Programma copyright sinds 2000 Thomas Eschenbacher thomas.eschenbacher@gmx.de

Voor een complete lijst met auteurs en licenties van alle bestanden, kijk in het bestand `LICENSES`, dat zich in de broncode bevindt. Er is ook een bestand met de naam `AUTHORS` die de lijst van alle auteurs van en medewerkers aan &kwave; bevat.

Documentatie copyright (C) &version_year; Thomas Eschenbacher thomas.eschenbacher@gmx.de

&meld.fouten;&vertaling.freek; &underFDL; &underGPL;

### Belangrijkste auteurs

- Martin Wilz martin@wilz.de

  Maker van het project, actieve ontwikkeling 1998-2000

- Thomas Eschenbacher thomas.eschenbacher@gmx.de

  onderhouder sinds 2000, ontwikkeling van de kern

### Belangrijke medewerkers

- Aurelien Jarno aurel32@debian.org

  debian packager, patches

- Carlos R pureacetone@gmail.com

  spaanse vertaling

- David Flogeras dflogera@nbnet.nb.ca

  Plug-in voor Notch-filter

- Gilles Caulier caulier.gilles@free.fr

  i18n, Franse vertalingen, startscherm, beta-tester

- Pavel Fric pavelfric@seznam.cz

  Czech translation

- Ralf Waspe rwaspe@web.de

  Help/Info over plug-in

- Sven-Steffen Arndt ssa29@gmx.de

  homepagina, Duitse vertaling

### Kleine bijdragen, houders van copyright en anderen

- Aaron Holtzman aholtzma@ess.engr.uvic.ca

  libkwave/cpu_accel.cpp

- Bertrand Songis bsongis@gmail.com [historic]

  Reparaties van Franstalige vertalingen, vervanging voor gepatenteerde libaudiofile code, debian bug 419124

- Carsten Lohrke carlo@gentoo.org

  svn r2163, patch voor libaudiofile detection

- Chris Vaill chrisvaill@gmail

  codebasis voor de normalisatie plug-in

- David Faure faure@kde.org

  cmake/FindAlsa.cmake

- Diederick de Vries diederick76@gmail.com

  pakket maken voor Crux Linux

- Espen Sand espen@kde.org + Mirko Boehm mirko@kde.org

  K3AboutContainer, basis van KwaveAboutContainer

- Everaldo Coelho contact@everaldo.com

  het pictogramthema crystal http://www.everaldo.com/crystal/

- Jaroslav Kysela

  onderdelen van plugins/playback/PlayBack-ALSA.cpp

- Jeff Tranter

  delen van plugins/pitch_shift/PitchShiftFilter.{h,cpp}

- Juhana Sadeharju kouhia@nic.funet.fi

  plugins/band_pass/BandPass.{h,cpp}, plugins/lowpass/LowPassFilter.cpp, plugins/notch_filter/NotchFilter.{h,cpp}

- Kurt Roeck Q@ping.be

  svn r1370, reparatie voor debian bug#288781, compilatie voor amd64

- Mark Donohoe (KDE) donohoe@kde.org

  enkele pictogrammen en bitmaps voor werkbalk en GUI

- Martin Hinsch vidas@sourceforge.net

  Matrix-klasse

- Matthias Kretz kretz@kde.org

  cmake/FindAlsa.cmake

- Miguel Freitas

  onderdelen van libkwave/memcpy.c

- Richard Laerkaeng, richard@goteborg.utfors.se

  cmake/FindOggVorbis.cmake

- Rik Hemsley rik@kde.org

  niveaumeter

- Stefan Westerfeld stefan@space.twc.de

  delen van plugins/pitch_shift/PitchShiftFilter.{h,cpp}

- Joerg-Christian Boehme joerg@chaosdorf.de

  plugins/record/Record-PulseAudio.cpp plugins/record/Record-PulseAudio.h

### Met dank aan

- Martin Kuball makube@user.sourceforge.net

  betatester

- Jorge Luis Arzola arzolacub@gmx.de

  pakket maken voor SuSE Linux

- Michael Favreau michel.favreau@free.fr

  pakket maken voor Arch Linux

- T.H.F. Klok en Cedric Tefft

  onderhouders van de bibliotheek id3lib

- Robert Leslie rob@mars.org

  auteur van de mad mp3-decodeerbibliotheek

- Robert M. Stockmann stock@stokkie.net

  pakket maken voor Mandrake / X86_64

- Erik de Castro Lopo erikd@zip.com.au

  auteur van de bibliotheek sndfile

- Michael Pruett mpruett@sgi.com

  auteur van de bibliotheek audiofile

## Bestandsinformatie

## Lijst met identifiers van bestandsinformatie

Trefwoord |  | Beschrijving
&no-i18n-tag;Album | Naam van het album als de bron een album is dat bestaat uit meerdere media.
&no-i18n-tag;Annotatie | Levert een algemene opmerking over het bestand of het onderwerp van het bestand. Als de opmerking verschillende zinnen lang is, eindigt elke zin met punt. Geen tekens nieuwe-regel toevoegen!
&no-i18n-tag;Locatie van archief | Geeft aan waar het onderwerp van het bestand is gearchiveerd.
&no-i18n-tag;Auteur | Geeft de naam van de auteur van het originele onderwerp van het bestand aan. Voorbeeld: van Beethoven, Ludwig
&no-i18n-tag;Bitsnelheid verlagen | Geeft de onderste grens aan in een VBR-bitstream.
&no-i18n-tag;Modus bitsnelheid | Modus bitsnelheid (ABR, VBR, CBR, etc....)
&no-i18n-tag;Bitsnelheid | Nominale bitsnelheid van de audiostream in bits per seconde
&no-i18n-tag;Hoogste bitsnelheid | Geeft de bovenste grens aan in een VBR-bitstream.
&no-i18n-tag;Bits per sample | Geeft het aantal bits per sample aan.
&no-i18n-tag;cd | Nummer van de cd, als de bron een album is met meerdere cd-ROM's
&no-i18n-tag;cd's | Aantal cd's, als de bron een album is met meerdere cd-ROM's
&no-i18n-tag;Commissioned | Geeft de naam van de persoon of organisatie die het onderwerp van het bestand heeft ingesteld.
&no-i18n-tag;Toelichting | Levert een algemene opmerking over het bestand of het onderwerp van het bestand. Als de opmerking verschillende zinnen lang is, eindigt elke zin met punt. Geen tekens nieuwe-regel toevoegen!
&no-i18n-tag;Compressie | Stelt een modus in voor compressie van de audio-gegevens om schijfruimte te verminderen.
&no-i18n-tag;Contactpersoon | Contactinformatie voor de makers of distributeurs van de track. Dit zou een URL-adres, een e-mailadres, het fysieke adres van het productielabel kunnen zijn.
&no-i18n-tag;Copyright | Bevat de copyright-informatie voor het bestand. Als er meerdere copyrights zijn, scheidt ze dan met een puntkomma gevolgd door een spatie. Voorbeeld: Copyright Linux community 2002
&no-i18n-tag;Auteursrechtelijk beschermd | Geeft aan of het bestand is beschermd met copyright of niet.
&no-i18n-tag;Datum | Geeft de datum aan waarop het onderwerp van het bestand is gemaakt. Voorbeeld: 2001-12-24
&no-i18n-tag;Technicus | Toont de naam van de technicus die heeft gewerkt aan het bestand. Als er meerdere technici zijn, scheidt de namen door een puntkomma en een spatie.
&no-i18n-tag;Geschatte lengte | Geschatte lengte van het bestand in samples
&no-i18n-tag;Bestandsnaam | Naam van het geopende bestand
&no-i18n-tag;Bestandsgrootte | Grootte van het bestand in bytes
&no-i18n-tag;Genre | Beschrijft het genre of de stijl van het originele werk. Bijvoorbeeld: klassiek, pop
&no-i18n-tag;ISRC | ISRC nummer voor de track; zie de introductiepagina van ISRC voor meer informatie over ISRC nummers. http://www.ifpi.org/site-content/online/isrc_intro.html
&no-i18n-tag;Trefwoorden | Biedt een lijst met trefwoorden die naar het bestand of onderwerp van het bestand verwijzen.
&no-i18n-tag;Labels | De lijst van labels/markers.
&no-i18n-tag;Lengte | Lengte van het bestand in samples.
&no-i18n-tag;Licentie | Licentieinformatie, bijv., All rechten voorbehouden, Elk gebruik toegestaan, een URL naar een licentie of de EFF Open Audio-licentie (gedistribueerd onder de bepalingen van de Open Audio-licentie. Zie http://www.eff.org/IP/Open_licenses/eff_oal.html voor details), etc.
&no-i18n-tag;Medium | Beschrijft het originele onderwerp van het bestand, waar het voor het eerst is opgenomen. Voorbeeld: orkest
&no-i18n-tag;Mime-type | Mime-type van het bestandsformaat
&no-i18n-tag;Accentuering | Audio emphasis-modus
&no-i18n-tag;Laag | MPEG Layer, I, II or III
&no-i18n-tag;Extensie van modus | Extensie van MPEG-modus (alleen bij verbonden stereo)
&no-i18n-tag;Versie | MPEG Versie, 1, 2 or 2.5
&no-i18n-tag;Naam | Slaat de titel van het onderwerp van het bestand op. Voorbeeld: Symphony No.6, Op.68 "Pastoral"
&no-i18n-tag;Framelengte van Opus | Framelengte van Opus in ms (ondersteunde waarden zijn 2.5, 5, 10, 20, 40 of 60 ms)
&no-i18n-tag;Organisatie | Naam van de organisatie die de track heeft geproduceerd (bijv. het record label)
&no-i18n-tag;Origineel | Geeft aan of het bestand een origineel of een kopie is
&no-i18n-tag;Artiest | De artiest(en) die het werk uitvoerden. In klassieke muziek zouden dit de dirigent, orkest, solisten zijn. In een audioboek zou het de acteur zijn die het voorlas.
&no-i18n-tag;Privé | Geeft aan of het onderwerp privé is
&no-i18n-tag;Product | Geeft de naam of de titel aan waarvoor het bestand oorspronkelijk was bedoeld. Voorbeeld: Linux audio-verzameling
&no-i18n-tag;Formaat van sample | Formaat gebruikt voor opslaan van de gedigitaliseerde audio-samples. Voorbeeld: 32-bit IEEE floating-point
&no-i18n-tag;Samplesnelheid | Aantal samples per seconde
&no-i18n-tag;Software | Geeft de naam van het softwarepakket gebruikt om het bestand te maken.Voorbeeld: Kwave v0.6.4-1
&no-i18n-tag;Broncode | Geeft de naam van de persoon of organisatie die het oorspronkelijke onderwerp van het bestand heeft ingesteld. Voorbeeld: Chaotic Sound Research
&no-i18n-tag;Vorm van broncode | Geeft de originele vorm van het materiaal dat is gedigitaliseerd. Voorbeelden: Record/Vinyl/90RPM, Audio DAT, tape/CrO2/60min
&no-i18n-tag;Onderwerp | Geeft het onderwerp van het bestand. Voorbeeld: Vogelgeluiden in de vroege morgen
&no-i18n-tag;Technicus | Geeft de technicus die het betreffende bestand digitaliseerde. Voorbeeld: Torvald, Linus
&no-i18n-tag;Track | Track van de cd als de bron een cd-ROM was.
&no-i18n-tag;Tracks | Aantal tracks van de cd als de bron een cd-ROM was.
&no-i18n-tag;Kanalen | Geeft het aantal kanalen van het signaal aan.
&no-i18n-tag;Basiskwaliteit | Basiskwaliteit van de compressie in VBR=modus
&no-i18n-tag;Versie | Kan gebruikt worden om meerdere versies te onderscheiden van dezelfde tracktitel in een enkele verzameling. (bijv. remix-info)