ABSTRACT: uebersicht ueber die wichtigsten audio devices und programme AUDIENCE: beginners SYSTEM: any unix SECTION: basic unix commands AUTHOR: mond COPYRIGHT: GNU Free Documentation Licence http://www.gnu.org/licenses/fdl.txt hat man in seinem unix die soundkarte mal richtig eingerichtet ist audio relativ einfach. treu der device "alles ist ein file" kann man die soundkarte wie eine normale datei ansprechen. z.b: cat blabla.au > /dev/audio (die datei sollte dabei im .au format sein. unter debian findet man z.b. im verzeichniss /usr/share/afterstep/desktop/sounds einige sounds (sofern man afterstep installiert hat ansonsten findet man z.b. auf: http://sunsite.sut.ac.jp/multimed/sounds/sound_effects/ viele au files.. ) obiger cat befehl schreict nicht in eine echte datei sondern in ein "device". alle daten die nach /dev/audio geschrieben werden werden nicht gepspeichert sondern auf der soundkarte ausgegeben. umgekehrt kann man auch von der soundkarte aufnehmen: cat /dev/audio > blabla.au speichert das was man beim micro hineinredet in einer datei namens blabla.au (abbruch mit control-c) um die lautstaerke verstellen zu koennen oder um auszuwaehlen von welcher quelle aus sound aufgezeichnet wird muss man den "mixer" der soundkarte bedienen koennen. dazu gibt es viele programme. z.b: aumix oder das grafische: xmix & .wav files kann man auch direkt auf /dev/audio oder /dev/dsp schreiben, jedoch stimmt dabei meist die geschwindigkeit mit. zum abspielen sollte man daher ein echtes programm benutzen. z.b. sox. ein shell script das sox mit den richtigen parametern aufruft namens "play" ist in den meisten distributionen inkludiert: play blabla.wav wuerde blabla.wav abspielen. play funktioniert auch mit .au oder .aiff (macintosh format) und vielen anderen formaten. gegenteil von play ist "rec": rec bla.wav fuer wav gibt es noch: wavp blabla.wav spielt ebenfalls wav file ab. wichtig zum verstehen von audio (nicht nur unter unix sondern generell): digitales audio wird "gesamplet". also die analoge kurvenform abgetastet. wichtig fuer die qualitaet des audio ist wie oft pro sekunde abgetastet wird ("sample rate"), wieviele bits pro wert gespeichert werden und wieviele channels aufgezeichnet werden (ueblich 2="stero" 1="mono") * CD qualitaet: 44100 Hz sample rate. 16bit pro wert. streo * ISDN sprachqualitaet: 8000 Hz. 8bit pro wert (in einer speziellen kodierung). mono. das bedeutet das 1 sekunde audio bei CD: 44100 * 2 bytes * 2 channels = 176400 bytes benoetigt ISDN: 8000 * 2 byte * 1 channels = 64000 bytes benoetigt. wavr -l 5 -c 1 -r 22050 -d 16 -f blabla.wav nimmt ein wav file auf und zwar 5 sekunden lange mit einem channel (mono) und 22050 hz abtastrate und 16 bit tiefe pro wert. natuerlich kann man auch das programm "sox" direkt aufrufen um sound aufzunehmen oder abzuspielen. sox -t ossdsp /dev/dsp bla.aiff wuerde auf einem linux vom vom device /dev/dsp (so aehnlich wie /dev/audio ) ein file im macintosh aiff format aufzeichnen. sox kann man auch verwenden um ein audio format in ein anderes umzuwandeln oder die sample rate herunterzurechnen: sox bla.aiff -c 1 -r 10000 bla.wav wuerde ein aiff file names bla.aiff in ein wav file namens bla.wav umwandeln und dabei auf einen channel umrechnen und eine sampling rate von 10000 hz umrechnen. (will man nur von einem format in ein anderes umrechnen benoetigt man nicht mal eine soundkarte) zum abspielen von mp3 datein verwendet man am besten das programm mpg123 auf der kommandline oder das programm xmms wenn man unter X11 arbeitet. mpg123 Billy_Bragg_-_The_Internationale.mp3 wuerde z.b. obiges mp3 abspielen. da das mp3 format mit patenten belastet ist wird das .ogg format immer populaerer. das kommandline frontend dazu heisst ogg123 ogg123 *.ogg wuerde alle .ogg files aus dem aktuellen verzeichniss abspielen. will man selbst mp3s produzieren empfiehlt sich der encoder "lame". bzw fuer ogg file der encoder "oggenc" neuere versionen von xmms spielen auch .ogg ab. ansonsten aber aufjedenfall mp3s: xmms *.mp3 & unter linux gibt es 2 arten von soundtreibern. "alsa" und "OSS". der anwender muss sich darum aber nicht kuemmern. um jedoch das problem zu loesen dass eventuell 2 programme gleichzeitig auf die soundkarte zugreiffen wollen oder dass man audio via netzwerk verwenden will gibt es bestrebungen dafuer einen daemon zu etablieren der den direkten zugriff auf die soundkarte abnimmt. die 2 beliebtesten dabei sind: * esd (auch "esound" oder "enlightenment sound daemon" genannt) und: * arts (das audio system der neuen KDE versionen) zum teil koennen audio programme wie xmms direkt mit diesen servern sprechen. oder man verwendet programme wie "esdcat": mpg123 -s blabla.mp3 | esdcat wuerde das file blabla.mp3 nach "stdout" schreiben und mittels "esdcat" an den soundserver schicken. zum abspielen von CD's benoetigt man gar keine soundkarte (man kann einen kopfhoerer direkt an das CD laufwerk anstecken.. hat man eine soundkarte so ist dise meist mit dem CD verbunden und man kann den mixer verwenden um die lautstaerke zu regeln, etc..) um das CD laufwerk bedienen zu koennen benoetigt man ein programm. auch hier gibt es relativ viele. z.b: workbone (ein kommandline tool) workman & klassich X11 im openlook style. oder: gcd & will man die audio daten einer CD direkt in ein .wav oder .mp3 umwandeln ohne die CD analog abzuspielen und von der soundkarte wieder digitalisieren zu lasen kann man das programm "cdparanoia" verwenden. (auf schlechten laufwerken funktioniert das allerdings nicht gut). zum kompleten rippen also die nakten audio daten lesen, in mp3 umwandeln und die songtitel anhand der "cddb" cddatenbank bennenn gibt es ebenfalls einige scripts. z.b. "AutoRip" als letzer punkt: .midi (oder .mid) file. midifiles enthalten keine direkten klaenge sondern nur die "note" und hinweise auf beim abspielen zu verwendende instrumente. praktisch zum abspielen von .mid files: timidity mozart_sonata.mid EXERCISES: * versuche eine CD abzuspielen. * versuche ein audiofile direkt mit cat nach /dev/audio abzuspielen * verusche ein audiofile direkt von /dev/audio zu lesen. * vewende die "play" und "rec" scripts zum abspielen und aufnehmen von sound files in verschiedenen formaten und mit verschiedenen sample raten. * verwende das sox programm um ein audio format in ein anders umzuwandeln und um die sample rate eines files herunterzurechnen. * versuche mit mpg123 und/oder xmms mp3 files abzuspielen. * wenn auf deinem system die ogg tools insatliert sind dann versuche mittels oggenc ein wav file in .ogg umzuwandeln und dieses dann abzuspielen. * wozu dienen esd und arts? * wie kann man ein .mid file abspielen? REFERENCES: 2 ausgezeichnete HOWTO files: Sound-Playing-HOWTO Sound-HOWTO diverse man pages: man sox man mpg123 man timidity ...