OSS: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Keine Bearbeitungszusammenfassung
 
(Aktualisiert)
Zeile 1: Zeile 1:
OSS ist das Open Sound System, die Lösung die vor Alsa standardmäßig benutzt wurde. Jedoch wurde, wegen einiger Gründe, wie zum Beispiel die Änderung der Lizenz von OSS, und eine vergleichsweise schlechte API, Alsa entwickelt.
OSS ist das Open Sound System, die Lösung die vor Alsa standardmäßig benutzt wurde. Jedoch wurde, wegen einiger Gründe, wie zum Beispiel die Änderung der Lizenz von OSS, Alsa entwickelt.


Seit kurzem gibt es jedoch OSS Version 4, welche für den privaten Gebrauch kostenlos ist, und lediglich alle 6 Monate neu installiert werden muss, gleichzeitig Alsa jedoch in nichts nachstehen sollte. Diese Version besitzt auch eine Alsa-Emulation, die es ermöglicht, wie der Name schon sagt, Alsa zu emulieren, und so auch Applikationen zu hören die Alsa als Ausgabe benutzen!
Seit kurzem gibt es jedoch OSS Version 4, welche wieder unter einer Mehrfachlizensierung freie Open Source Software wurde


==Vor/Nachteile==
Vorteile:
*Transparentes Soundmixing im Kernel (vmix) mit der Möglichkeit bis zu 32 virtuelle Geräte zu "betreiben" (nicht wie alsa über ''alsa-lib'', dass im Userland mischt)
*Möglichkeit die Lautstärke jeder Anwendung einzeln anzupassen
*Bessere Soundqualität bei einigen onboard-Sound-Lösungen
Nachteile:
*Kein Hardware-Mixing


==Installation==
==Installation==


Ein Paket für i686 befindet sich im [[AUR]]: [http://aur.archlinux.org/packages.php?do_Details=1&ID=7134&O=0&L=0&C=0&K=oss-linux&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd OSS-Linux]
  pacman -S oss
 
Dieses bauen wir, dann installieren wir das Paket.


==Konfiguration==
==Konfiguration==


Wir öffnen die ''/etc/rc.conf'' und fügen unter ''MODULES=()'' ein Ausrufezeichen vor '''soundcore''' ein!
Das rc.d Skript 'oss' muss beim Systemstart geladen werden. Dementsprechend muss 'oss' in die DAEMONS Liste in der rc.conf hinzugefügt werden.
 
Dies geschieht, damit alsa beim booten nicht geladen wird. Als nächstes fügen wir
'''oss-linux''' zu ''DAEMONS=()'' hinzu. Dies natürlich vor jede Soundanwendung wie z.B. [[Music Player Daemon|mpd]]. Am besten auch ohne Background-Start. Die Gründe liegen auf der Hand, denn OSS linkt beim starten mit einem frischen Kernel erstmal die Module.
 
Um das vmix, also das virtuelle Zusammenmischen des Sounds, zu "modifizieren" öffnen wir ''/etc/modprobe.d/modprobe.conf'' und fügen
 
  options vmix vmix_instances=1 vmix1_numoutputs=16 vmix1_numloops=0
 
ein.
 
Das Ganze würde natürlich auch mit
 
  echo "options vmix vmix_instances=1 vmix1_numoutputs=16 vmix1_numloops=0" >> /etc/modprobe.d/modprobe.conf
 
funktionieren, ist aber doch sehr lang.
 
'''Hinweis''': Sollte man OSS wieder deaktivieren und [[Alsa]] nutzen wollen, unbedingt obige Zeile wieder aus der ''/etc/modprobe.d/modprobe.conf'' herauskommentieren oder löschen. Es kann sonst zu Instabilitäten kommen.
 
<!-- Ist diese Einstellung überhaupt nötig? In der englischen Wiki ist sie gar nicht erwähnt. -->


==Abschluss der Installation==
==Abschluss der Installation==


Neustarten und OSS (normalerweise) genießen. Man sollte jetzt natürlich noch seine Programme auf OSS einstellen. Meistens reicht es, zum Beispiel wie bei Gaim, Gajim oder aMSN von ''aplay'' (so hatte ich es für alsa eingestellt) auf ''ossplay'' zu stellen.
Neustarten und OSS (normalerweise) genießen. Man sollte jetzt natürlich noch seine Programme auf OSS einstellen.


===Mitgelieferte Applikationen===
===Mitgelieferte Applikationen===
''Die meiner Meinung nach wichtigsten werden hervorgehoben!''
Hier eine kleine Liste


* '''ossmix''' : Konsolenmixer (''ossmix'' für den Hardware-Master, ''ossmix -d1'' für den ersten virtuellen Master. Mehr sagt die man-Page dazu.)
* ossmix : Konsolenmixer (''ossmix'' für den Hardware-Master, ''ossmix -d1'' für den ersten virtuellen Master. Mehr sagt die man-Page dazu.)
* '''ossxmix''' : GTK Mixer
* ossxmix : GTK Mixer
*ossctl : OSS Control (auch GTK), womit man einige Einstellungen an OSS vornehmen kann. (Nützlich bei mehreren Soundkarten, wobei ich es eigentlich bisher noch nicht gebraucht habe) [nur root]
*ossctl : OSS Control (auch GTK), womit man einige Einstellungen an OSS vornehmen kann. (Nützlich bei mehreren Soundkarten, wobei ich es eigentlich bisher noch nicht gebraucht habe) [nur root]
* '''savemixer''' : Mixereinstellungen speichern
* savemixer : Mixereinstellungen speichern
* '''ossplay''' : Konsolen-Abspielprogramm (quasi aplay für oss)
* ossplay : Konsolen-Abspielprogramm (quasi aplay für oss)
*ossrecord : Das selbe wie ossplay, nur zum Aufnehmen.
*ossrecord : Das selbe wie ossplay, nur zum Aufnehmen.
*ossdetect: Automatisches Erfassen der Soundkarten (braucht man normalerweise nicht, wird von oss-linux rc.d-Script erledigt)
*ossdetect: Automatisches Erfassen der Soundkarten (braucht man normalerweise nicht, wird von oss-linux rc.d-Script erledigt)
*ossinfo : Konsolenprogramm zum anzeigen der OSS Einstellungen und anderer Informationen (wie ''cat /dev/sndstat)
*ossinfo : Konsolenprogramm zum anzeigen der OSS Einstellungen und anderer Informationen (wie ''cat /dev/sndstat)
*osslic : Zeigt die OSS-Lizenz
*osslic : Zeigt die OSS-Lizenz
Dann ist da noch ''ossupdate'' was man aber nicht braucht, bzw. nicht benutzen sollte! Es dient zum Updaten von OSS, das machen wir aber am besten über das bauen des Paketes.


==Tipps und Tricks==
==Tipps und Tricks==
Zeile 65: Zeile 33:
===Multimedia-Tasten der Tastatur benutzen===
===Multimedia-Tasten der Tastatur benutzen===


Um die Multimedia-Tasten der Tastatur zu benutzen benötigt man meistens [[Keytouch]], ein Programm, das recht einfach die Sonderfunktionen einer Tastatur zur Verfügung stellt, bzw. diese sich konfigurieren lassen.
Um die Multimedia-Tasten der Tastatur zu benutzen benötigt man meistens [[Keytouch]] oder [[xbindkeys]], d.h. Programme, das recht einfach die Sonderfunktionen einer Tastatur zur Verfügung stellen, bzw. diese sich konfigurieren lassen.


Nun braucht man ein kleines Shellscript, das die Befehle recht einfach zur Verfügung stellt.
Nun braucht man ein kleines Shellscript, das die Befehle recht einfach zur Verfügung stellt.


Meins (MacWolf) sieht so aus:
''Muss eventuell noch etwas angepasst werden. Bei mir ist 255 das Maximum an "Lautstärke". Und output.vol ist mein Regler. Überprüft mit "ossmix | grep output.vol" ob dieser bei euch auch verfügbar ist, ansonsten passt das Script an.''
''Muss eventuell noch etwas angepasst werden. Bei mir ist 255 das Maximum an "Lautstärke". Und output.vol ist mein Regler. Überprüft mit "ossmix | grep output.vol" ob dieser bei euch auch verfügbar ist, ansonsten passt das Script an.''


   #!/bin/sh
   #!/bin/sh
  # MacWolf 
    
    
   VOL=`ossmix pcm | sed 's/[^0-9]*\([0-9]\+\)/\1/' | awk -F : '{print $1}'`
   VOL=`ossmix pcm | sed 's/[^0-9]*\([0-9]\+\)/\1/' | awk -F : '{print $1}'`

Version vom 11. Juni 2009, 14:40 Uhr

OSS ist das Open Sound System, die Lösung die vor Alsa standardmäßig benutzt wurde. Jedoch wurde, wegen einiger Gründe, wie zum Beispiel die Änderung der Lizenz von OSS, Alsa entwickelt.

Seit kurzem gibt es jedoch OSS Version 4, welche wieder unter einer Mehrfachlizensierung freie Open Source Software wurde


Installation

 pacman -S oss

Konfiguration

Das rc.d Skript 'oss' muss beim Systemstart geladen werden. Dementsprechend muss 'oss' in die DAEMONS Liste in der rc.conf hinzugefügt werden.

Abschluss der Installation

Neustarten und OSS (normalerweise) genießen. Man sollte jetzt natürlich noch seine Programme auf OSS einstellen.

Mitgelieferte Applikationen

Hier eine kleine Liste

  • ossmix : Konsolenmixer (ossmix für den Hardware-Master, ossmix -d1 für den ersten virtuellen Master. Mehr sagt die man-Page dazu.)
  • ossxmix : GTK Mixer
  • ossctl : OSS Control (auch GTK), womit man einige Einstellungen an OSS vornehmen kann. (Nützlich bei mehreren Soundkarten, wobei ich es eigentlich bisher noch nicht gebraucht habe) [nur root]
  • savemixer : Mixereinstellungen speichern
  • ossplay : Konsolen-Abspielprogramm (quasi aplay für oss)
  • ossrecord : Das selbe wie ossplay, nur zum Aufnehmen.
  • ossdetect: Automatisches Erfassen der Soundkarten (braucht man normalerweise nicht, wird von oss-linux rc.d-Script erledigt)
  • ossinfo : Konsolenprogramm zum anzeigen der OSS Einstellungen und anderer Informationen (wie cat /dev/sndstat)
  • osslic : Zeigt die OSS-Lizenz

Tipps und Tricks

Multimedia-Tasten der Tastatur benutzen

Um die Multimedia-Tasten der Tastatur zu benutzen benötigt man meistens Keytouch oder xbindkeys, d.h. Programme, das recht einfach die Sonderfunktionen einer Tastatur zur Verfügung stellen, bzw. diese sich konfigurieren lassen.

Nun braucht man ein kleines Shellscript, das die Befehle recht einfach zur Verfügung stellt.

Muss eventuell noch etwas angepasst werden. Bei mir ist 255 das Maximum an "Lautstärke". Und output.vol ist mein Regler. Überprüft mit "ossmix | grep output.vol" ob dieser bei euch auch verfügbar ist, ansonsten passt das Script an.

 #!/bin/sh
  
 VOL=`ossmix pcm | sed 's/[^0-9]*\([0-9]\+\)/\1/' | awk -F : '{print $1}'`
 
 if [ "$1" == "-" ] 
 then
       if [ "$VOL" != "0" ] 
       then
               VOLNEW=`expr $VOL - 5` 
       else
               echo "Sound ist schon aus!" 
       fi
 
 elif [ "$1" == "0" ]
 then
       VOLCAT=$(cat $HOME/.volume)
  
       if [ -z "$VOLCAT" ]
       then
               VOLGET=`ossmix pcm | sed 's/[^0-9]*\([0-9]\+\)/\1/'` 
               echo $VOLGET > $HOME/.volume 
               ossmix pcm 0 > /dev/null 
       else 
               ossmix pcm $VOLCAT > /dev/null
               > $HOME/.volume 
       fi
 
 elif [ "$VOL" == "100" ]
       then
               echo "Soundlimit erreicht!"
       else
               VOLNEW=`expr $VOL + 5`
 fi
 
 if [ "$VOLNEW" != "" ]
 then
       ossmix pcm $VOLNEW > /dev/null
 fi

Dieses Script wird nun als "vol_control" unter /usr/bin gespeichert und mit chmod +x ausführbar gemacht. Nun muss nur noch eine ~/.volume erstellt werden, in die das Script für "Mute" braucht.

 touch ~/.volume

Fertig.

Mit

  vol_control -

lässt sich die Lautstärke um 5 hinunterregeln. Es sei denn sie ist schon 0, also aus.

Mit

  vol_control 0

lässt sich die Lautstärke "ausschalten" (Mute).

Mit

 vol_control

lässt sich die Laustärke hochregeln. Es sei denn er ist schon beim Maximum.

Links