GNU/Linux und Sound
Copyright (c) 2003 Georg E Schneider
Persmission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU Free Documentation License"
Da ein anderes Hobby ausser GNU/Linux von mir auch die Musik ist,
habe ich mich selbstverständlich mit GNU/Linux und Musik auseinander gestetzt
Einleitung
Viele nützen ihren Computer auch um Musik zu hören
oder gar um Musik zu bearbeiten
Hier stellt sich natürlich die Frage, kann man GNU/Linux auch für diese Zwecke verwenden
Die Antwort ist einfach:
Selbtverständlich
Welche Voraussetzungen müssen erfüllt sein
- mindestens eine Soundkarte oder Soundchip
die/der von Linux unterstützt wird
- Ausgabegerät für die Musik oder den Sound
(Aktivboxen, Stereo-Anlage oder Kopfhörer1)
- Für Aufnahmen:
Direkt am Computer:
ein Kondensator Mikrofon2
Direkt von einen Plattenspieler oder von eine Dynamischen Mikrofon:
ein Vorverstäker3
Von der Stereo Anlage:
ein entsprechendes Überspielkabel
1Hier ist darauf zu achten ob die/der Soundkarte/Soundchip einen Kopfhörerausgang hat.
2Die im Handel erhätlichen Computer - Mikrofone sind durchwegs Kondensator Mikrofone
3Plattenspieler und dyn. Mirofone müssen vorverstärkt werden,da sie sonst ein zu geringes Signal
haben
Installation des Soundkarten Treibers
Heutzutage liefern die meisten Distributionen ein Tool mit,
welches selbsttätig die Soundkarte erkennt und konfiguriert
Sollte dies nicht der Fall sein eine kurze beschreibung von mir
Wie man eine Soundkarten Modul "zu Fuss" installiert
Händische Installation einer Soundkarte
Das OSS wird in Zukunft von der ALSA ersetzt
nur vewenden zur Zeit auch einige Distributionen noch immer das OSS
deßhalb beschreibe ich beide Wege
Open Sound System (OSS)
Zuerst ist es notwendig das eine Gerätedadei angelegt ist:
ls -al /dev/dsp*
crw------- 1 root root 14, 3 15. Sep 15:40 /dev/dsp
sollte dies nicht der fall sein:
ls -al /dev/dsp*
ls: /dev/dsp*: Datei oder Verzeichnis nicht gefunden
so muss die Gerätedadei angelegt werden
cd /dev
mknod --mode 0600 dsp c 14 1
mit Hilfe von man mknod(2), mknod(8) und der Kerneldokumentation
dann ist das dementsprechende Soundmodul zu laden z.Bsp forte
der Eintrag in die Datei
/etc/modules.conf
alias sound-slot-0 forte
und schon wäre alles geschehen ausser
- Der Soundmixer ist auf ganz leise geschalten
- Es darf nur "root" auf die Soundkarte zugreifen
zu 1.
Dafür einen weiteren Eintrag in der Datei /etc/modules.conf
post-install sound-slot-0 /bin/aumix-minimal -f -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
somit werden die Einstellungen der Datei
/etc/.aumixrc beim starten und herunterfahren übernommen.
zu 2.
Hier gibt es mehrere Möglichkeiten:
nur für einen User:
chown user.root /dev/dsp
chown user.root /dev/mixer
user ist mit den jeweiligen user zu tauschen
oder Systemweit:
chmod 0666 /dev/dsp
chmod 0666 /dev/mixer
So das wärs
Advanced Linux Sound Achitecture (ALSA)
Hier Verweise ich zuerst auf die ALSA - Seite, da es von Sondkarte zu Sundkarte unterschiede geben kann.
http://www.alsa-project.org/alsa-doc/
jedoch ein Beispiel will ich schon geben:
Bezug auf die Soundkarte
Terratec 512i Digital
das nicht nur "root" zugreifen darf
chmod a+rw /dev/dsp /dev/mixer /dev/sequencer /dev/midi
Laden der Module:
modprobe snd-fm801
modprobe snd-pcm-oss
modprobe snd-mixer-oss
modprobe snd-seq-oss
Einstellen der Lautstäken
(unter GNU/Linux ist der Soundmixer immer auf Leise gestellt):
Die Einträge in
/etc/modules.conf
alias char-major-116 snd
alias snd-card-0 snd-fm801
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
Die Passende Software
SoX
Eines der Grundlegensten Softwaren die unter Linux verwendet wird ist SoX
(
Sound
open e
Xchange)
http://sox.sourceforge.net/
mit allen einkompilierten Optionen unterstützt sox nahezu jedes Audioformat (ausgenommen midi/karaoke/mod)
aiff al au avr cdr cvs
dat vms gsm hcom la lu
maud mp3 prc raw sb sf
sl smp sndt snd sph 8svx
sw txw ub ul uw voc
vorbis wav wve
Was beinhaltet SoX
Programme
- play (zum abspielen der audiodateien)
- rec (zum aufnehmen von audiodatein
- sox (vielseitig einsetzbar wie zum Beispiel konvertieren der Audiodaten)
- somix zum abmischen von mehreren Audiodateien
- soxplay sowie play aber eingschänkt zum abspielen jedoch besser zum konvertieren geeignet
kurze Beispiele
Abspielen einer Datei (Stereo)
play -c2 MeinLied.au
mit vermindeter Geschwindigkeit abspielen
play -c2 MeinLied.aiff speed 0.8
hier gibts noch einige Spielereien wie zum Beispiel Echo, Flanger, Chorus etc...
Aufnehmen:
Selbstverständlich kann nur mit unkomprimierten Formaten aufgenommen werden.
rec --device=/dev/dsp -r 48000 -v 1.2 -c2 -f s MeinLied.wav
Die Optionen:
erste Soundkarte
Samplerate 48kHz
Verstäkung um 20%
Zwei Kanäle
Format signed
Konvertieren mit sox:
sox MyFile.mp3 -c2 -r 44100 Myfile.ogg \
-tt "MyTitle" -ta "ArtistName" -b 128 -B 320 -q 0
Das war nur eine kleine Einleitung in SoX, leider gibt es Zur Zeit nur ein etwas
veraltetes grafisches Interface dafür namens
SoundStudio (TCL/TK)
Ein erweitertes Tool um Musik aufunehmen ist
GNUSound(0.6.1)
Diese Software ist für mich eindeutig ein Development-Release und instabil
timidity
timidity ist eine Sofware die ausser Midi/Karaoke(inkl. Text)/MOD - Files abspielen kann,
auch midi/kar/mod - Dateien in PCM - Audiodaten wandeln kann
(au, aiff, wav, raw)
sollte auch in das Freie ogg - Vorbis - Format wndeln können, aber leider
tritt bei mir ein Speicherzugriffsfehler auf
(siehe BUG #109490 at https://bugzilla.redhat.com/bugzilla/)
anderst als bei sox timidity kann konsolenbasiert verwendet werden,
hat aber switches das man es auch grafisch verwenden kann
Das wandeln und abspielen gestaltet sich bei dieser Software ganz einfach:
Wandeln
timidity -Ou midifile.mid
Resultat:
midifile.mid -> midifile.au
Je nachdem, welche option nach dm O kommando eingegeben wird,
wird auch das dementsprechende Soundformat ausgegeben
Abspielen
Kommandozeile
timidity midifile.mid
oder mit ncurses Interface:
timidity -in midifile.mid
Mit GUI
GTK:
timidity -ig midifile.mid
Motif:
timidity -im midifile.mid
Athena Widgetset(XFree86):
timidity -ia midifile.mid
TCL/TK:
timidity -ik midifile.mid
Nachwort
Wer mehr über; Linux-Soundsoftware wissen will sollte diese Seite Besuchen:
Sound & MIDI Software For Linux
Wer mehrere Soundkarten installieren will:
Zwei Soundkarten in einem PC unter Linux
--
Georg E Schneider