Opensuse 11.2, Audio, Encoding, K3b

Nachdem mich

  • Schwierigkeiten mit der generellen Audio-Einrichtung unter Opensuse 11.2 (x86_64) mit einem Mix aus KDE3 und KDE4-Programmen
  • und zusätzliche Schwierigkeiten mit der “Ogg Vorbis”- und “MP3”-Kodierung unter K3b

auf einem Opensuse 11.2-System eines Bekannten kurzzeitig an den Rand einer Krise getrieben haben, hier ein paar Hinweise, die u.U. auch anderen helfen können:

1) Reagieren die diversen Audio-Programme überhaupt auf das richtige Laufwerk ?

Der Betreffende hatte 2 Laufwerke – einen DVD-Writer und ein normales DVD-Laufwerk. Blöderweise war der Writer unter “/dev/sr0” und das normale DVD-Laufwerk, das er regelmäßig zum CD- und DVD-Abspielen verwendet, unter “/dev/sr1” ansprechbar. Natürlich legt Opensuse bei der Installation “/dev/cdrom” und “/dev/dvd” aber auf “sr0” !

Und da – also bei /dev/sr0 – suchen dann fast alle KDE-Programme die Audio-CD – idiotischerweise auch dann, wenn man z.B. KSCD nach dem Einlegen einer CD in “/dev/sr1” über das Kontextmenü des Gerätemanagers startet. Na ja, es gibt ja intelligentere Programme, die da mehr checken – aber wenn man KDE verwenden will, dann muss man halt vorsorgen.

In Fall des Bekannten half im Rahmen der Tests zunächst ein Softlink

ln -s -f /dev/sr1 /dev/cdrom

Dann stellt man aber (erwartungsgemäß) fest, dass diese Linkzuordnung den nächsten Reboot nicht überlebt. Statt dessen ziehen Udev-Regeln bzgl. der Block-Devices. Um also die Zuordnungen permanent zu machen, muss man Dateien in “/etc/udev/rules.d” editieren. Im vorliegenden Fall ist die Datei

“70-persistent-cd.rules”

die richtige. Die Einträge für das fragliche System sehen z.B. wie folgt aus:

# CDDVDW_SH-S223F (pci-0000:00:1f.2-scsi-0:0:0:0)
SUBSYSTEM==”block”, ENV{ID_CDROM}==”?*”, ENV{ID_PATH}==”pci-0000:00:1f.2-scsi-0:0:0:0″, SYMLINK+=”cdrom1″, ENV{GENERATED}=”1″
SUBSYSTEM==”block”, ENV{ID_CDROM}==”?*”, ENV{ID_PATH}==”pci-0000:00:1f.2-scsi-0:0:0:0″, SYMLINK+=”cdrw”, ENV{GENERATED}=”1″
SUBSYSTEM==”block”, ENV{ID_CDROM}==”?*”, ENV{ID_PATH}==”pci-0000:00:1f.2-scsi-0:0:0:0″, SYMLINK+=”dvd1″, ENV{GENERATED}=”1″
SUBSYSTEM==”block”, ENV{ID_CDROM}==”?*”, ENV{ID_PATH}==”pci-0000:00:1f.2-scsi-0:0:0:0″, SYMLINK+=”dvdrw”, ENV{GENERATED}=”1″

# DVD-ROM_SH-D163B (pci-0000:00:1f.2-scsi-1:0:0:0)
SUBSYSTEM==”block”, ENV{ID_CDROM}==”?*”, ENV{ID_PATH}==”pci-0000:00:1f.2-scsi-1:0:0:0″, SYMLINK+=”cdrom”, ENV{GENERATED}=”1″
SUBSYSTEM==”block”, ENV{ID_CDROM}==”?*”, ENV{ID_PATH}==”pci-0000:00:1f.2-scsi-1:0:0:0″, SYMLINK+=”dvd”, ENV{GENERATED}=”1″

Ferner gibt es andere Programme (wie z.B. xine), die ihre eigenen (nicht über KDE zentralisierten) Einstellungen für das Audio- oder Video-Laufwerk etc. haben wollen. Ggf. dort direkt das richtige Laufwerk einstellen.

Auch in den KDE 4 “System Settings” gilt es, unter “Erweitert-> Audio CD” die richtigen Einstellungen zu treffen.

2) Umstellung auf Pakete aus dem Packman-Repository

Wenn man mit MP3 arbeiten will, müssen Lame und zugehörige Bibliotheken installiert sein. Ferner lohnt es sich, viele der Audio-Programme vom Packman-Repository zu installieren. Mehr sage ich nicht – wegen der Rechte muss jeder selber wissen, was er tut und wie er zu einer entsprechenden Lizenz kommt.

Ich selbst nehme eh’ immer “Ogg Vorbis” und fahre sehr gut damit. Aber wenn es denn halt MP3 sein soll, dann ist die Installation der Packman-Programme angesagt !

Wenn man gleich alles Wesentliche auf einen Streich umstellen will,
dann zeige man sich in Yast das Repository an – und zwar über den Reiter “Anzeigen” und dort unter “Installationsquellen”. Nach einem Klick auf das Packman Repository Icon in der Liste findet man im oberen rechten Yast-Bereich eine gelb markierte Option “Switch system packages to the version in this repository”. Ein Klick auf diese Option vereinfacht die Paket-Umstellung erheblich und markiert alle relevanten Programme für ein Update aus dem Packman Repository. In gewisser Weise stellt dieses Vorgehen dann auch eine Konsistenz der Packman Pakete untereinander her!

Essentiell sind in jedem Fall die libxine1-Bibliotheken, im Besonderen die “libxine1-codecs”.

3) Ist der User den richtigen Gruppen zugeordnet?

Als nächstes sollte man untersuchen, ob der betreffende User den richtigen Gruppen zugeordnet ist. Unter Opensuse 11.2 fehlt ggf. die Zuordnung zu den Gruppen “audio” und “cdrom”. Dies war im vorliegenden Fall eine Mindestvoraussetzung, um ältere KDE3-Programme wie KSCD unter Opensuse 11.2 zum Arbeiten – sprich zum Abspielen von Audio-CDs zu bewegen.

Natürlich müssen in solchen Programmen – soweit einstellbar – auch die Optionen für “Digitale Extraction” und das richtige Soundsystem gesetzt sein.

Gerüchten zufolge soll bei einem Einsatz anderer älterer KDE3-Programme auch die Zuordnung zur Gruppe “disk” helfen. (Ich glaube das aber nicht – außerdem wären mir bei Letzterem auf einem Mehrbenutzersystem die Risiken zu groß).

Das ganze Thema mit fehlenden Rechten gab es beim ersten Release von Opensuse 11.1 schon mal. Nach meiner Erfahrung lohnt es sich jedenfalls, bei Problemen im Audio-Bereich mal versuchsweise die Rechte umzusetzen und danach systematisch das Minimum der notwendigen Rechten zu identifizieren. Wer weiss, was alles in Opensuse 11.2 so passiert – ich habe bei Paket-Updates aus dem Opensuse Update-Repository jedenfalls schon ein paar Mal die Meldung gesehen, dass Verzeichnis-Rechte umgesetzt wurden.

Achtung: Nach dem Umsetzen userspezifischer Rechte für Systemgruppen zur Sicherheit neu booten.

Zwischenergebnis

So, hat man an diesen drei Fronten alles in Ordnung, dann laufen normalerweise die üblichen Audio-Progrämmchen KSCD (KDE3 und KDE 4), amarok 1.4 (Packman), amarok (2.x für KDE 4 – ab KDE 4.4 auch mit Equalizer !), xmms, asunder, sound juicer, MPlayer, Kaffeine (KDE 3), KAudioCreator (KDE 3), Audex, etc. und werkeln so vor sich hin – sowohl beim Abspielen der Audio CDs als auch bei der Extraktion mit anschließender Enkodierung in “Ogg Vorbis”, MP3 und anderen Formaten.

4) Enkodierung mit Kb3

K3b stellt eine sehr einheitliche und praktische Oberfläche nicht für das Brennen von CDs sondern auch zum Auslesen derselben und der Umwandlung der Tonspuren in digitale Audioformate zur Verfügung. Unter diesem dach kann man zudem auf einfache Weise die wichtigsten Einstellungen der Enkoder in sehr übersichtlicher Weise vornehmen.

Ein erster Test mit K3b aus dem Packman Repository zeigt denn auch, dass ein Auslesen und ein Enkodieren unter Ogg Vorbis anstandslos funktionieren. Ganz anders sieht es aus, wenn man eine MP3-Enkodierung vornhmen will. Hier erschien auf dem System meines Bekannten eine Meldung der Art

“command failed: lame -h –tt %t –ta %a –tl %m –ty –tc – %f”

Bei anderen Einstellungen des Enkoders und der sonstigen Ausleseparameter (z.B. Ziel-Verzeichnisse) können die lame-Optionen auch anders aussehen. Also das Problem trieb mich bald zum Wahnsinn, nachdem händische Kodierungsversuche per Kommandozeile, aber auch KAudioCreator, Audex
und Asunder problemlos arbeiteten. Allein konnte ich das Problem auch nicht lösen; die Lösung fand ich dann in einem Forum unter der Adresse

http://www.linuxquestions.org/questions/slackware-14/having-some-trouble-w-k3b-and-encoding-with-lame-640386/

Ich gebe einfach die Hinweise des Forumteilnehmers “lennoni” wieder, die unter K3b für Opensuse 11.2 (x86_64) auch zum Erfolg führten. Allerdings muss man gegenüber dem Vorschlag des Forums eine Modifikation vornehmen :

a) Start k3b and insert audio CD (allow cddb lookup)
b) click “Start Ripping”
c) select MP3 (lame) as filetype
d) Click the config cog beside this
e) highlight the Mp3 (lame) and click edit
f) check your command line (mine is lame -h -V2 –tt %t –tn %n –ta %a –tl %m –ty %y –tc %c – %f )

[ Original suggestion of lennoni: g)check both “swap byte order” and “write wave header”, then OK, OK]

g) Suggestion of RM [03.01.2010]: check “write wave header”, only, then OK, OK !
(Hint: MP3-files with “swapped byte order” will not be playable in most MP3 players ! My K3b worked, i.e. extracted and encoded without a checked “swap byte order”. )

h) Save settings!! (RM-Hinweis: Über ein kleines Icon links unten in K3b !)
i) Start ripping

Yeah, great lennoni ! Thx, thx !

Dann geht’s auch mit MP3. Auch, wenn man das als normaler Linux-Sterblicher gar nicht braucht ! Blöd allerdings, wenn der mobile Player für die Hosentasche oder das neue Handy mit Gigabytes an Audiospeicher kein “Ogg Vorbis” versteht. Aber sowas kauft ein Linuxer ja gar nicht …..

Nachtrag 04.01.2010

Musste mir heute nochmal genauer angesehen, wie Amarok die MP3-Dateien verarbeitet, die mit den obigen Einstellungen von K3b (“write wave header”) erzeugt wurden. Dabei musste ich leider feststellen, dass die Tracknr. nicht richtig erkannt wurde. Das kann man zwar über die Metadaten der erfassten Dateien manuell korrigieren. Grundsätzlich ist die Reaktion von Amarok aber ein Hinweis darauf, dass K3b offenbar Probleme damit hat die CDDB-Daten bzw. CD-Daten korrekt zu verarbeiten und weiterzureichen. Möglicherweise hängt damit auch der Fehler zusammen, der nach dem Lame-Aufruf durch K3b auftritt. Das ist jedenfalls eine Fehlermeldung an die K3b-Entwickler wert.

KDE 4.1 – digitales Problemchen mit KsCD

Beim Ausprobieren von KDE 4.1.2 und seiner Komponenten stößt man schnell auf das Problem, dass die digitale Extraktion von Audio CDs nicht funktioniert.

Fehlermeldung: Keine CD
Das Programm meldet nach Umstellung des Flags “Digitale Wiedergabe nutzen” unter dem Konfigurationspunkt “Extras”, dass keine CD vorhanden sei. Und dies obwohl einen Augenblick zuvor die CD bei analoger Wiedergabe im gleichen Laufwerk noch erkannt worden war! Man stellt sich unwillkürlich die Frage, ob man überhaupt Audio CDs mit digitaler Datenübertragung abspielen kann.

Beruhigt werde ich dadurch, dass ich man einfach mal “xmms”, “amorak” oder “kaffeine” ausprobiere – dort funktioniert die Wiedergabe nämlich, wenn als zugehöriges Backend “xine” eingestellt ist. (Das ist mein persönlicher Default.)

Lösung: Xine als Backend für KDE 4.1 “Phonon”
Also interessiere ich mich dafür, welches Backend eigentlich für den Sound unter dem aktuellen KDE4.1 verwendet wird. Die zugehörige Info finde ich nach etwas Forschungsarbeit unter dem KDE-Hauptmenüpunkt:

“Configure Desktop->Systemverwaltung->Sound->Backend”.

Dort ist das aktuelle Backend für das vielgerühmte “Phonon”-System eingetragen. Phonon wird standardmäßig von allen KDE-Applikationen – so auch KsCD – genutzt. Das Default-Backend ist “Gstreamer”. Leider hat das aktuelle Gstreamer ein Problem mit der digitalen Extraktion, wie einem eine entspr. Recherche im Internet zeigt.

Auf der Suche nach anderen Backends wird man aber schnell fündig: Es gibt bereits ein “phonon-xine”-Backend ! Das zugehörige rpm ist bei Opensuse schon dabei. Nach der Installation taucht dann tatsächlich “Xine” in der Liste der mögl. Backends für Phonon auf.

Wählt man nun “Xine”, so funktioniert danach auch die die digitale Extraktion aus Audio CDs mit KsCD ! Ich wünsche viel Spaß beim Musikhören unter Linux und KDE 4.1!

P.S.: Ich verwende dazu in der Regel “amarok” – auch für Audio CDs ! Das Erlebnis mit KsCD kam nur vom Herumprobieren !

kscd41_1

VMware – Windows – kein Sound ?

Gestern hatte ich einen dummen Fehler zu beheben, an dem ich möglicherweise selbst schuld war. Die zugehörigen Meldungen des Systems aus Redmond waren aber auch nicht dazu angetan, der Sache schnellstmöglich auf die Spur zu kommen. Da diese Meldungen z.T. widersprüchlich bis kurios sind, hilft der folgende Beitrag vielleicht auch anderen:

MS Win XP läuft bei anracon auf Opensuse Hosts als VMware-Gastsystem. Da ich fast nie den Bedarf verspüre, auch noch Töne aus dem Windows-System zu hören, ist die virtuelle Soundkarte bei mir normalerweise deaktiviert. Nun ergab sich gestern doch einmal der Bedarf, dem Windows-Gast ein paar Töne zu entlocken (Grund war eine Flash-Programmierung). Da ich wusste, dass mir das früher schon gelungen war (allerdings unter Opensuse 10.2 statt meinem aktuellen 10.3 und mit der VMware Workstation 5 statt der WS 6), fügte ich meiner virtuellen Maschine frohgemut eine virtuelle Soundkarte hinzu.

Windows erkennt diese Karte – eine Soundblaster PCI 128 – im Normalfall auch anstandslos und lädt den passenden, im Windows Treiber-Resevoir befindlichen Treiber. Der Windows Gerätemanager zeigte mir dann auch brav, dass die Soundkarte funktionstüchtig sei.

Leider war aber schon beim obligatorischen Windows-Neustart die übliche Redmonder Startmelodie nicht zu vernehmen. Da dachte ich noch optimistisch, dass der Ton vielleicht zu leise eingestellt sei. Also: Linux-Soundsystem und Mixereinstellungen überprüfen – alles OK.

Im nächsten Schritt rief ich dann die Lautstärekregelung bzw. den Mixer im Windows-System auf. Antwort des Systems: ” Es ist kein Mixer installiert. Gehen Sie zu “Drucker und sonstige Hardware”, um einen geeigneten Mixer zu installieren.” So einen Punkt gibt es zwar gar nicht und was der Drucker damit zu tun haben soll, bleibt auch rätselhaft. Aber wer weiß schon, wie Windows-Entwickler denken …..

Früheren Erfahrungen folgend werfe ich erst mal einen kleinen Blick in die Registry. Sieht alles OK aus. Auch hier ist die Soundblasterkarte verzeichnet. Anderen schlechten Erfahrungen mit Windows folgend, entferne ich die Soundkarte dennoch aus der Hardwareliste und lasse sie danach neu erkennen und installieren. Keine Veränderung. Die Karte läuft angeblich, aber “No Sound” – kein Ton vom Windows VMware Gast. Also doch ein Problem mit VMware WS 6 unter Opensuse 10.3 ?

In banger Erwartung werfe ich nun einen Blick ins Internet und in diverse VMware Foren – wenig überrascht stelle ich fest, dass bemerkenswert viele Leute Probleme mit dem Sound eines Windows-VMware-Gastes auf einem Linux-Host haben – wenn auch eher im Ubuntu/Debian-Bereich als unter SUSE.

Ich befolge dann zur Sicherheit den ersten Ratschlag, aus alten Archiven den letzten Creative-Treiber für diesen Typ Soundkarte im Gastsystem zu installieren. Die Installation verlief zwar erfolgreich, zeitigte aber keinen Effekt in puncto “hörbare” Töne. Ich folge weiteren intelligent klingenden Diskussionen darüber, dass VMware evtl. Probleme mit Alsa habe und dass das liebe, alte “OSS” statt “Alsa” aktiviert werden müsse. Ich probiere diverse Varianten und Einstellungen des Linux-Soundsystems unter KDE aus. Keine Wirkung. Kein Ton. Auch andere Ratschläge in diversen Foren helfen nicht weiter.

In dem sicheren Bewusstsein, dass das alles doch schon mal lief, gebe ich die Schuld nun endgültig irgendeiner verpfuschten Einstellung unter Windows. Ein wenig dumpfes Suchen führt mich zu “Sounds und Audiogeräte” unter der “Systemsteuerung”. Hier kommt die interessante Meldung “Kein Audio-Device”, die in krassem Widerspruch zu den Informationen des Gerätemanagers steht, der eine funktionstüchtige Soundkarte meldet.

Etwas genervt kommt mir der Gedanke, dass die Soundkarte vielleicht zwar läuft, aber nicht ins System eingebunden ist – was vielleicht auch den fehlenden Mixer erklären könnte. Für letzteren sollte ich ja meinen Drucker checken, ha, ha, ha … . Das tue ich nicht, sondern wende mich
nun der Zwischenschicht der “Dienste” unter Windows zu und studiere die entsprechende Rubrik in der “Verwaltung”. Und da werde ich endlich fündig: Der Dienst “Windows Audio” befindet sich im Status deaktiviert.

Wie kam er denn in den Zustand? Liebe Leut’, glaubt es mir, ich weiß es nicht. Da ich für Windows nur eine sehr schlampige Buchführung zu administrativen Änderungen führe, kann ich nicht ausschließen, dass ich diese Einstellung irgendwann mal selbst vorgenommen habe. Vielleicht war es aber doch eines der vielen Updates ?

Na ja, die Umstellung des Dienstes auf einen öminös klingenden “Autostarttyp: Automatisch” bringt die Erlösung – endlich vernehmbare Töne aus dem Windows-Gast-System. …

Hmm …. “Autostarttyp Automatisch” – da braucht man auch erst mal Zeit, um über diese Alliteration hinweg zu kommen … Toll ist auch “Autostarttyp: Manuell “….. Wer sich sowas wohl ausgedacht hat ? Aber ich schweife ab ….

Was lernen wir nach 1 Stunde Nervenverlust zum Thema “Kein Ton vom Windows Gast auf einem Linux-Host”:

  1. Prüfe zunächst, ob die virtuelle Soundkarte erkannt wurde und ob der zugehörige MS Treiber geladen wurde (der reicht nämlich).
  2. Überprüfe dann die Anzeige des Soundblaster-Devices unter “Sounds und Audiogeräte” in der Systemsteuerung.
  3. Prüfe dann, ob der Audio-Service überhaupt aktiv ist.
  4. Fange erst dann, wenn die oberen Punkte alle OK sind, an, über Probleme von VMware und/oder Linux nachzudenken.

……und – fast hätte ich es vergessen – führe ein Logbuch auch über administrative Veränderungen am Windows-Gast-System ……selbst wenn es nervt …..