Montag, 14. Juli 2008
Nachdem ich nun einige Zeit recherchiert hatte, endete ich dann, wie schon angedeutet, bei einer Creative Karte.
Die Audigy2-Serie bietet den bestmöglichen Klang für’s Geld. Soviel steht fest.
Ich habe mich dann doch nicht für die Audigy2 Platinum entschieden, da ich eigentlich keine externe Box möchte, die wieder eine eigene Stromversorgung benötigt. Ausserdem besitzt diese Box zwar Chinch-Eingänge, aber die Ausgänge müssen auch hier von den Miniklinken der Soundkarte abgegriffen werden.
Deshalb ist es eine Audigy2 Value geworden. Die Karte an sich unterscheidet sich von der Vollversion lediglich durch das Fehlen des Firewire-Interface und der vergoldeten Buchsen. Der Soundchip ist derselbe.
Um die digitalen Anschlüsse (koaxial und optisch) zu bekommen, habe ich mir die Digital I/O Erweiterung bestellt, die leider mit 39,- € zu Buche schlug.
Die Karte wird unter Linux (Ubuntu) sofort problemlos erkannt und eingebunden.
Im ALSA-Mixer findet man dann einige Controls, die anfangs etwas verwirren.
Die Logik ist eine etwas andere, als bei den meisten anderen Soundkarten.

- der Master-Regler z.B. kennt kein Links und Rechts. Sprich, er ist vom Control her Mono ausgeführt.
Daher musste ich mein Skript für die Lautstärkereglung per Fernbedienung umschreiben.
- der Digital-Eingang (IEC958) ist regelbar. Bisher kannte ich das nicht, üblich ist sonst lediglich ‘Mute’ und ‘Unmute’
Einerseits ist das praktisch, andererseits fragt man sich wie das technisch gelöst wurde. Ein digitales Signal kann normalerweise nicht vom Level her verändert werden. Also muss es durch eine Konvertierung laufen.
- das Front-Signal lässt sich leider nicht hardwareseitig auf die Rear-Speaker duplizieren, die Funktion ‘duplicate front’ ist nicht im ALSA-Mixer zu finden.
- der Level des Digital-Ausgang ist fest mit dem globalen Ausgangssignal ‘verdrahtet’. Der Pegel ist also nicht fix, sondern entspricht dem des analogen Ausgangs-Level.
Das ist allerdings ein Problem. Im Normalfall schliesst man z.B. ein Surround-System oder einen Digital-Verstärker per Digitalausgang an. Diese Geräte haben aber eh alle eine eigene Lautstärkeregelung. Wozu als den Ausgang der Karte regeln. Das macht es z.B. nahezu unmöglich, einerseits über analoge Verbindung Aktivlautsprecher anzuschliessen und parallel dazu am Digitalausgang z.B. ein Surround-System.
Analoges und digitales Ausgangssignal lassen sich einfach nicht unabhängig regeln. Und das macht den Digitalausgang quasi nutzlos. Es sei denn, man verwendet ihn ausschließlich.
Dasselbe Problem dürfte auch bei der externen Box der Platinum Version existieren.
Da ich aber unabhängige Digital- und Analog-Ausgänge benötige, habe ich noch zusätzlich eine Terratec Karte eingebaut.
Dafür habe ich dann über die Datei .asoundrc ein virtuelles ALSA PCM-Interface erstellt, welches das Wave-Signal auf die zweite Karte dupliziert. Das funktioniert sogar ohne Zeitversatz, wie es bei einer einzelnen Soundkarte der Fall wäre.
So sieht nun übrigens die ‘Verschaltung’ des Ganzen hier aus:

Im Nachhinein denke ich mir schon, warum habe ich mir nicht irgend so ein semi-professionelles Interface mit Chinch-Anschlüssen geholt? Nunja, dann hätte ich aber wieder keinen Hardware-Mixer (ALSA) zur Verfügung, und müsste mit ‘Sound-Daemons’ arbeiten.
Fazit: die SoundBlaster Audigy2 ist die günstigste und klanglich beste Möglichkeit, den Linux-PC ressourcen-schonend zum MediaCenter zu machen. Allerdings ist der Digital-Ausgang nur eingeschränkt nutzbar, ohne die Digital I/O Erweiterung hat man nur die Möglichkeit ein Boxensystem von Creative digital anzuschliessen.
Wer sich für die Platinum-Version mit externer Box entscheidet, erhält zusätzlich etliche Eingänge, einen regelbaren Kopfhörer-Ausgang, S/PDIF und Firewire-Schnittstellen. Allerdings hat man dann auch wieder einen weiteren Stromverbraucher auf dem Tisch stehen.
Donnerstag, 3. Juli 2008
Jetzt suche ich schon seit einigen Wochen nach der optimalen Soundkarte, die mir unter Linux (ALSA Treiber) bestimmte Features bieten sollte, auf die ich gleich eingehen werde.
Folgendes Szenario:
An die Karte soll ein Paar Aktivboxen älterer Bauart (Grundig Super HIFI Aktiv-Box 20) direkt angeschlossen werden.
Die Master-Lautstärke, die an die Aktivboxen ausgegeben wird, regelt man über das ALSA Master Mixer Control, welches per Fernbedienung (lirc) angesteuert werden kann.
Sprich, man spart sich jeglichen Verstärker und kann somit die Gesamtlautstärke des Systems per Fernbedienung steuern. Das funktioniert auch soweit.
Nun ist es ein Unding, dass die meisten Soundkarten nur per 3.5mm Miniklinke mit der Aussenwelt kommunizieren können (abgesehen von digitalen Ausgängen, die aber wiederum nicht regelbar sind).
Hier kommen also diese Adapter von Klinke auf Cinch zum Tragen, mit denen jedoch eine Signalverschlechterung sowie die Tatsache des Platzproblems bezüglich der Abstände der Klinkenbuchsen einhergeht.
Desweiteren kommt hier zum Tragen, dass die meisten Soundkarten, die mit diesen Miniklinken Ausgängen versehen sind, nicht wirklich audiophil sind, sprich, deren Signal-Rauschabstand sowie Klirrfaktor ist eigentlich nicht wirklich hochwertig.
Desweiteren soll die Karte Hardware-Mixing können, also ohne weitere Software in der Lage sein, mehrere Soundquellen gleichzeitig auszugeben.
Ausserdem wäre es schön, wenn die Karte ein zweites Ausgangs-Paar besitzen würde, um bei Bedarf ein weiteres Paar Lautsprecher ansteuern zu können (’duplicate front’. Beispiel: ein Paar im Wohnzimmer, ein weiteres im Schlafzimmer. Das Ausgangssignal soll also auf beide Ausgänge dupliziert werden können.
Ein weiterer Faktor ist, dass die Karte einen analogen Line-Eingang besitzen soll, was ja in der Regel gegeben ist. Dieser sollte aber ebenfalls in Form von Cinch Anschlüssen vorhanden sein, um Geräte wie externe Mischpulte oder Tape-Decks usw. ohne Umwege anschliessen zu können.
Dazu kommt dann noch der Bedarf eines optischen S/PDIF Eingangs, zum Abgreifen des Digital-Anschlusses einer Spielkonsole oder eines digitalen Abspielgeräts wie z.B. DVD- oder MD-Player.
So, das war’s schon
So sieht das Szenario also aus.
Nochmal die Anforderungen zusammengefasst:
- Line-Ausgang in Form von Cinch-Buchsen
- zweiter Line-Ausgang, der bei Bedarf dasselbe Signal wie der erste liefert
- Line-Eingang in Form von Cinch-Buchsen
- Hardware-Mixer
- S/PDIF Eingang
Leider stösst man hier auf etliche Probleme.
Die besten Ergebnisse, was die technischen Möglichkeiten angeht, hatte ich bisher mit 2 Terratec-Soundkarten: DMX XFire 1024 (leider keinen optischen Eingang) und SixPack 5.1 (leider keine Duplizierung auf den 2ten Line-Ausgang, dies kann nur per Software-Routing erreicht werden, was CPU-Last kostet)
Beide Karten unterstützen dafür allerdings Hardware-Mixing.
In Betracht kommen dann noch diverse Creative-Karten, wie z.B. die Audigy und Live-Serie. Diese besitzen aber keine optischen Eingänge, und die Line-Anschlüsse sind natürlich wieder als 3.5mm Miniklinken ausgeführt.
Dann gibt es noch diverse semi-professionelle Audiokarten mit Cinch-Anschlüssen, wie die Midiman Audiophile 24/96 (kein Hardware-Mixer Support), Echo Mia (kein optischer Eingang, nur 1 Cinch Ausgangs-Paar), Terratec EWX 24/96 (kein Hardware-Mixer Support) usw.
Selbst die Platinum-Varianten der Creative Audigy-Karten, welche eine Breakout-Box mit etlichen Anschlüssen beeinhalten, besitzen leider keine Cinch-Ausgänge, dafür aber Hardware-Mixer Support und optische S/PDIF Anschlüsse.
Fazit: Es ist also ziemlich verzwickt. Ich glaube die Karte die ich suche, gibt es leider noch nicht.
Samstag, 7. Juni 2008
Wieder mal ein Thema, wenn man im PC mehrere aktive Soundkarten hat: wie kann man die Karte festlegen, die standardmäßig von ALSA verwendet wird?
Bei Ubuntu (Gnome Desktop) gibt es zwar unter Menü->Einstellungen->Audio die Möglichkeit, die Standard Audio-Geräte festzulegen, aber das funktioniert nicht immer.
Eine generelle Methode, um die Standard-Soundkarte für ALSA zu definieren, bietet ein Tool, dass in dem Paket ‘alsa-tools’ enthalten ist:
asoundconf
Um die Nummern der vorhanden ALSA-Geräte zu ermitteln, kann man folgenden Befehl verwenden:
sudo alsactl names && cat /etc/asound.names
Danach kann man unter Angabe der entsprechenden ermittelten Nummer (hw:x) die Standard-Soundkarte festlegen. Beispiel für die Karte mit der Nr. 1:
asoundconf set-default-card 1
Der Vorteil ist, dass die meisten Anwendungen die auf ALSA als Audiotreiber zurückgreifen, das virtuelle Gerät ‘default’ verwenden, und man somit überall die richtige Soundkarte zur Verfügung hat.
Warum eigentlich mehrere Soundkarten?
Ich habe festgestellt, dass die wenigsten PCI-Soundkarten einen echten ‘Hardware-Mixer’ an Board haben. Ohne diesen muss also ein weiteres Stück Software laufen, dass die gleichzeitigen Zugriffe verschiedenener Anwendungen auf das selbe Soundausgabegerät erlaubt. Eine Alternative dazu ist, eine zweite Soundkarte zu verwenden.
Desweiteren kann man über den Eingang einer zweiten Soundkarte eine Quelle aufzeichnen, während man über die erste Soundkarte gerade eine andere Quelle hört.
Dienstag, 18. März 2008
Manchmal kommt es vor, dass ein Rechner 2 oder mehr Sound-Devices besitzt.
Dann steht man möglicherweise vor dem Problem, dass der Multimedia-Player Amarok keine Ausgabe liefert.
Im Normalfall werkeln in einem Linux-System ALSA Soundkarten-Treiber.
In Amarok hat man aber nur ALSA als Ausgabegerät zur Auswahl und nicht die einzelnen ALSA-Geräte.
Es ist aber trotzdem möglich, eine bestimmte Soundkarte anzusprechen, zu finden unter Settings->Configure Amarok->Engine.
Bei ALSA Device Configuration muss im entsprechenden Feld, z.B. ‘Stereo’, der Parameter ‘hw:x,y’ eingetragen werden. ‘x’ steht hier für die Nummer der Soundkarte, ‘y’ für den Ausgang.
Im Normalfall reicht für die erste Soundkarte: ‘hw:0′, für die zweite ‘hw:1′ usw.
Evtl. muss man noch den richtigen Ausgang der Soundkarte herausfinden.
Also z.B. ‘hw:0,0′ für den ersten analogen Ausgang oder ‘hw:0,1′ für den Digitalausgang.

Freitag, 22. Februar 2008
Ein Thema, das mich schon einmal eine Zeitlang beschäftigte. Wie synchronisiere ich mein Nokia E61 per USB mit dem Programm Evolution?
Damals unter PCLinux OS, basierend auf Mandrake und Kernel 2.6.18, scheiterte dieses Unterfangen.
Mein damaliges Haupt-Problem war, das nach dem Anschließen des Nokia E61 sich der komplette USB-Stack dieses Linux-Systems verabschiedete. Ein USB-Bug im Kernel war die Ursache.
Vielleicht wäre ich nach einem Kernel-Upgrade weiter gekommen, aber auch dann wäre der Weg noch steinig genug gewesen. Ich hatte damals einfach keine Lust mehr.
Was mich sogar dazu brachte, wieder zurück zu Windows XP und der Nokia PC Suite zu gehen.
Nun, bei einem erneuten Versuch, diesmal unter Ubuntu Gutsy, ist das Kernel-Problem nicht mehr vorhanden.
Hier leistet die Version 2.6.22 ihre Dienste.
Schon damals unter PCLinux OS bin ich aber zu dem Schluss gekommen dass ein Syncen des Nokia E61 mit Evolution per USB möglich sein muss. Einige Funde per Google deuteten bereits darauf hin.
Die meisten Anleitungen beschreiben allerdings den Weg per Bluetooth.
Dennoch konnte ich einige Informationen zusammentragen, und bin nun letztendlich auf den richtigen Weg gekommen.
Involviert in dem ganzen Prozess ist folgende Software:
- das Synchronisations-Framework ‘opensync’
- die SyncML Protokoll-Bibliothek ’syncml’
- die WBXML Parsing und Encoding Bibliothek ‘wbxml2′
- das Synchronisations-Tool ‘multisync’
- natürlich das Email-Programm Evolution
- und ein multisync-Plugin für Evolution
Folgende Pakete müssen also installiert sein (teilweise aufgrund von Abhängigkeiten automatisch):
- libopensync0
- multisync
- multisync0.90
- multisync-tools
- opensync-plugin-evolution
- opensync-plugin-syncml
- libsyncml0
- libsyncml-utils
- libmultisync-plugin-evolution
- libwbxml2-0
Der Zugriff auf das USB-Device ist leider derzeit standardmäßig auch unter Ubuntu Gutsy nur mit root-Rechten möglich.
Dies zeigt sich bei Eingabe folgenden Befehls als normaler User:
syncml-obex-client -u
Die Ausgabe:
Superuser privileges are required to access complete USB information.
Da wir aber nicht als root arbeiten wollen, muss eine Lösung hierfür gefunden werden.
Zunächst in einem Terminal den Befehl ‘lsusb’ ausführen.
In meinem Fall ergibt das folgende Ausgabe:

Mit diesen Informationen kann das Problem umgangen werden. Hierzu müssen die udev rules bearbeitet werden:
sudo gedit /etc/udev/rules.d/40-permissions.rules
Dazu werden die Vendor und die Product ID, wie zuvor mit lsusb ermittelt, benötigt.
Im Falle meines Nokia E61 lautet der Eintrag also folgendermaßen:

Der Username ‘netandif’ muss natürlich durch den entsprechend vorhandenen ersetzt werden.
Danach sollten die udev-Rules neu eingelesen werden mit:
sudo udevcontrol reload_rules
Jetzt hat man auch als User die Möglichkeit, auf das USB-Device zuzugreifen.
Die Eingabe von syncml-obex-client -u ergibt nun folgendes:

Nun ist es an der Zeit, das Sync-Tool einzurichten.
Dazu zunächst in einem Terminal folgendes eingeben:
msynctool --addgroup nokia
msynctool --addmember nokia syncml-obex-client
msynctool --addmember nokia evo2-sync
Wenn dabei keinerlei Meldungen erscheinen, hat es geklappt.
Danach müssen die beiden Member der Sync-Gruppe konfiguriert werden.
Dies kann entweder über die später beschriebenen grafischen Oberflächen, oder aber per direkter Bearbeitung der Konfigurationsdateien in der Konsole durchgeführt werden:
msynctool --configure nokia 1

msynctool --configure nokia 2

In diesem Fall ist der wichtigste Part die Konfiguration von Member 1, nämlich dem syncml-obex-client.
Die relevanten Parameter:
- interface: die Nummer des Interface mit der Beschreibung SYNCML-SYNC, die mit syncml-obex-client -u ermittelt wurde. Im Normalfall ist es die 0
- identifier: Hier muss in jedem Fall ‘PC Suite’ stehen, sonst wird der Connect vom Telefon abgelehnt
- wbxml: muss auf 1 stehen, sonst bricht die Kommunikation mit dem Telefon bereits am Anfang ab
- username und password ist im Normalfall leer, ausser im Telefon wurden diese eingerichtet
- type: 5 für USB
- recvLimit: der Wert muss auf jeden Fall erhöht werden. ‘0′ Funktioniert nicht
- Contact_db: Beim E61 lautet der Name ‘Contacts’
Auf Basis dieser Einstellungen kann man nun in freudiger Hoffnung das MultiSync GUI öffnen:
multisync0.90
Bzw. im Menü unter Zubehör ‘Multisync-quad’ aufrufen.

Wenn alles geklappt hat, kann man nun unter Ubuntu Gutsy sein Nokia E61 mit den Evolution-Daten syncen…
Hinweis: ich habe mich bisher auf die Synchronisation der Kontakte beschränkt.
Es sollte aber auch mit dem Kalender möglich sein.
Das Syncen der Notizen wird vom Evolution Plugin leider nicht unterstützt.
Update: als Alternative zum MultiSync GUI kann auch das Programm ‘KitchenSync’ verwendet werden, welches eigentlich aus KDE stammt, aber auch unter Gnome läuft:

Noch ein Hinweis (danke an Malte Christiansen):
Am Handy selbst muss noch unter ‘Verbindungen’ -> ‘Datenkabel’ der Modus ‘PC Suite’ eingestellt sein.
Chriss - 08.11.2006 - 00:38:58
Woah, geiles Farbspiel