Omdat een wave bestand erg snel ontzettend groot wordt (100 MB voor 10 minuten stereo muziek in CD kwaliteit), is de opslagcapaciteit voor dit type geluid vaak beperkt. Een mp3-encoder kan een wavebestand van 100 MB reduceren tot 10 MB met de standaard mp3-kwaliteit (128 kbps, stereo). Dit opent de mogelijkheid om bijvoorbeeld 24 uur muziek zonder onderbrekingen op te nemen! 24 uur is 60*24 = 1440 minuten, dus 1,4 GB (1440 MB) harde schijf ruimte!!! Dit laatste heb ik gedaan om de top 300 van de jaren 80 op te nemen (uitgezonden door Loostad radio). Op een onderbreking na (het opneemprogramma stopt automatisch na 24 uur en daar kwam ik vrij laat achter...) is dit succesvol verlopen! Op deze pagina geef ik aan welke software ik ervoor heb gebruikt, hoe het eventueel anders kan en stel ik de software beschikbaar voor download.
'Mpegrec' doet hetzelfde als 'sox | lame', maar allerlei instellingen zijn al 'voorgeprogrammeerd'. De gebruiker heeft er verder eigenlijk geen omkijken meer na, MITS ook 'Lame' is geinstalleerd! Ik raad het gebruik van 'mpegrec' ten zeerste aan. Houdt U er wel rekening mee, dat dit programma automatisch na 24 uur stopt!!!
en daar ga je! Verklaring van de opties:
| -b | Gebruik 128 kbps als mp3 bitrate. De standaardwaarde in 'mpegrec' is 192, wat eigenlijk een vreemde (en veel te hoge) waarde is. Bijna alle mp3-bestanden hebben een constante bitrate van 128 kbps. |
| -o | Naam van de uitvoerfile. In dit geval dus ./test.mp3. Als U geen naam opgeeft, gaat alles naar de standaarduitvoer ('stdout'). Meestal is dit de xterm waarin U het programma opstart. Staan alle mp3-codes op Uw beeldscherm i.p.v. in een bestand... |
Let op:
Zorg ervoor dat de mixer-instellingen goed staan, anders neemt U nog niets op! Ik bedoel daarmee dat U de juiste opnamebron hebt geselecteerd en ook de volumeregelaars helemaal open hebt gezet.
| sox | Het opneemprogramma: geluid wordt via de 'line-in' van de geluidskaart opgenomen. |
| -t ossdsp | Dit geeft aan dat de invoer van de OSS-geluidsdriver komt. Dit is de geluidsdriver die standaard bij de kernel zit als je geluid meecompileert. |
| -w | sample bit type is 16 bit long word (als U dit niet begrijpt: laat maar, niet belangrijk). |
| -s | De 'sample data' is 'signed linear' (als U dit niet begrijpt: laat maar, niet belangrijk). |
| -r 44100 | De sampling frequentie is 44100 Hz (CD-kwaliteit). |
| -c 2 | Twee kanalen opnemen (stereo). |
| /dev/dsp | Dit is het opneem-device: het linux-apparaat waar de opnamedata vandaan komt. Alle apparaten, poorten, schijven, enzovoorts worden onder Linux benaderd via de '/dev'-directory. De wave-data wordt onder Linux dus benaderd als '/dev/dsp'. Sterker nog: i.p.v. 'sox' kan je ook een wave-file als volgt krijgen: 'cat /dev/dsp >test.wav' (mits de mixer goed ingesteld staat!!!). |
| -t raw | De uitvoerdata is 'ruwe' data (ongewijzigd; zo van de geluidskaart). |
| - | Gebruik de standaarduitvoer, gesymboliseerd door '-' |
| lame | het encoder programma: het opgenomen geluid wordt door de '|' doorgesluisd naar 'lame' om het naar mp3 te converteren |
| -x | 'force byte-swapping of input'. Wat dit precies doet weet ik niet, maar zonder deze optie werkt het eenvoudigweg niet (voordat ik daar achter was!). |
| -m s | Encodeer als stereo mp3-file. Standaard encodeert 'lame' het als 'joint-stereo': alleen de VERSCHILLEN tussen beide kanalen wordt ge-encodeerd. Het resultaat is een hogere compressie, maar een mindere kwaliteit van de mp3-file. |
| - | Invoer is 'stdin'. Dat klopt dus in deze situatie. |
| ./test.mp3 | De file waar het eindresultaat in komt te staan, |

Figuur 1: de standaard KDE mixer instellingen.
Zoals U ziet is de microfoon de huidige opnamebron. Aangezien een externe opnamebron via de 'line-in' op de geluidskaart aangesloten is, moet ik dus van de 'line-in' de opnamebron maken. Dat doe ik door op de 'line-in' te gaan staan in de mixer en de rechtermuisknop eenmaal in te drukken. Het submenuutje van Figuur 2 komt dan te voorschijn:

Figuur 2: de juiste bron selecteren.
Natuurlijk selecteert U 'RecSource'. De 'line-in' van Uw geluidskaart staat nu ingesteld als opnamebron. Zet op dezelfde manier ook meteen de microfoon UIT als opnamebron: de extra ruis wilt U echt niet hebben!

Figuur 3: de KDE mixer staat nu goed ingesteld.
Bovenstaande pleit dus voor het opnemen onder een soort DOS-prompt (de Bash-shell onder Linux). Dit heeft een aantal gevolgen:
Gelukkig kunnen bovenstaande problemen vrij makkelijk opgelost worden. Het eerste probleem, de geluidsondersteuning, los ik als volgt op:
Met deze opdracht wordt de module 'sb' geladen, waardoor mijn geluidskaart (een SoundBlaster AWE 64) geinstalleerd wordt onder Linux. Als U niet weet, hoe Uw geluidskaart onder Linux heet, kijk dan in '/etc/conf.modules' (SuSE) of '/etc/modules.conf' (hangt van Uw Linux distributie af). Bij mij ziet het er als volgt uit (heb ik zelf ooit eens voor elkaar gebokst):
Het tweede probleem is het selecteren van de juiste mixer m.b.v. een tekst-georienteerd mixer-programma. Ik gebruik hiervoor het programma 'aumix'. Als U in een xterm alleen 'aumix' intypt, start de mixer op in interactieve modus. Dit is handig om Uw instellingen snel te overzien en aan te passen, zie Figuur 4.

Figuur 4: De tekst-georienteerde mixer 'aumix'.
Met de pijltjestoetsen kunt U de verschillende bronnen selecteren. Met de '<' of '>' toetsen selecteer ik het volume (links) of de balans (rechts). Met de '+' of '-' kunt U de volume van de huidige geselecteerde bron laten toe- of afnemen. Met 'm' kunt U de huidige bron 'muten of unmuten' (selecteren/deselecteren als opnamebron). Als de huidige bron ook de opnamebron is, staat links naast de volumeregelaar een rode R (Record). als U de bron alleen kunt gebruiken om af te luisteren, staat er een groene 'P' (Playback). Als U op 's' drukt, worden de huidige instellingen bewaard in de file '~/.aumixrc'. De volgende keer kunt U deze instellingen weer heel makkelijk activeren met de opdracht: 'aumix -l'.
Als 'aumix' momenteel niet geinstalleerd staat, moet U deze mixer even installeren vanaf de CD. Onder SuSE staat de mixer in de /snd directory op de installatie CD (uiteraard via yast).
Om het bovenstaande te automatiseren heb ik zelf een scriptje aangemaakt: './mrec'. Dit script ziet er als volgt uit:
#!/bin/sh
if [ -z "$1" ]; then
echo "Usage: mrec mp3-output-file"
exit 0
fi
modprobe -k sb
aumix -l
mpegrec -b 128 -o "$1"
N.B.: De installatie onder Windows behandel ik niet, maar U hebt wel de Windows versie van 'lame' nodig!!! Er is trouwens wel heel goede documentatie in de .tar.gz-file (winzip) bijgesloten. De homepage-link helpt u wellicht ook verder.
Zet voor de regels waar geen '#' staat alsnog een '#'. Deze extra opties hebt U beslist niet nodig!
Uiteraard staat 'cron' bij andere distributies eventueel in een andere directory. Met de opdracht:
kunt U achterhalen waar 'cron' geinstalleerd staat. Let U wel goed op dat 'cron' niet andere taken moet uitvoeren! Op een Linux machine voor persoonlijk gebruik kan het geen kwaad.
Gewoon een individuele pagina teller:
Last modified: Mon Feb 28 21:24:29 CEST 2005