Wo bin ich: Hauptseite -> Linux -> Dokmentation -> GNU/Linux und Sound

Georgs Homepage

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

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
insmod forte.o

der Eintrag in die Datei /etc/modules.conf
alias sound-slot-0 forte
und schon wäre alles geschehen ausser
  1. Der Soundmixer ist auf ganz leise geschalten
  2. 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):
alsamixer

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 eXchange)
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
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