Soundsystem Megapatch kommt :)

Yamagi

Possessed With Psi Powers
Staff member
FreeBSD 8.0 ist auf der Zielgeraden, aber eines fehlt noch. Ich wurde sogar schon gefragt ob ich weiß, wann der obligatorische Sound-Megapatch kommt und was er bringt. Inzwischen ist er weitgehend fertig, soll auf jeden Fall noch vor FreeBSD 8 eingehen - Codeslush hin oder her.

Die Änderungen:
- Volume per Channel, es kann nun pro Ausgabekanal (Ein Kanal ist gleich einem Lautsprecher, Stereo hat also zwei Kanäle) die Lautstärke angepasst werden. Bisher war es nur global möglich.

- High Quality Sample Rate Converter, dieser kann die Sample Rate im Kernel hinauf oder herunter mischen. Sodass Soundhardware und verschiedene Quellen durchgehend die gleiche Sprache sprechen.

- Software Equalizer, um Klanganpassungen auch auf Soundkarten ohne Hardware Equalizer vornehmen zu können.

- Transparent / Adaptive Virtual Channel, endlich können virtuelle Kanäle - vChans - und hardwareseitige Kanäle parallel genutzt werden. Dies macht sinnvollen AC3-Passthrough zu externen Dekodern möglich, ohne das man auch vChans verzichten muss.

- Bitperfect, OSS kann nun Sound auf Bitebene 1:1 abgebildet wiedergeben, ohne irgendwelche Veränderungen vorzunehmen. Gerade Besitzer von High End Soundkarten wie ich werden sich darüber freuen.

- Exclusive Access kann jeder beliebigen Anwendung exklusiven und direkten Zugriff auf die Hardware geben. Damit kann man beliebige Streams nach außen führen.

- Multichannel 'Matrix' Processing, diese Option ist nicht weniger als das lang erwartete Surround Playback auf bis zu - zur Zeit - 8 Kanälen parallel. Außerdem können Kanäle gemixt werden, man kann nun also 6-Kanal Sound per mplayer auf einer Stereo-Soundkarte abspielen, ohne auf Anwendungsseite heruntermixen zu müssen. Bitte beachtet, dass (trivial einzubauende) Treiberunterstützung nötig ist, damit dies funktioniert!

- NULL Driver, ein Sound Loopback zum Debuggen. Einige fanden es unter Linux ganz praktisch, deswegen ist es nun da.

Eine vollständige Beschreibung aller neuen Funktionen, und sysctl findet man hier: http://people.freebsd.org/~ariff/SOUND_4.TXT

Der Patch gegen CURRENT (und nur CURRENT!) zum selber Testen ist hier: http://people.freebsd.org/~ariff/current.diff
 
FreeBSD 8 müsste ja dann theoretisch passend zu Weihnachten kommen, damit es nicht in das Sommerloch fällt ;)
 
- Ähm, also ich konnte schon immer links und rechts separat die Lautstärke Regeln.

- Was für eine Interpolation wird da denn verwendet?

- Möglicherweise interessant.

- Sehr interessant!

- Traumhaft, auf alles Andere kann ich im Grunde verzichten, aber das ist ein must-have Feature. Ist das dann Standardverhalten oder muss man es irgendwie aktivieren?

- Beißt sich das nicht mit vChans?

- Hmm das klingt interessant. Aufgrund der großen Dynamik ist der mplayer-Downmix in der Regel sehr leise. Es wäre zu hoffen, dass eine treiberseitige Implementierung den verfügbaren Pegelraum besser ausnutzt.

- Kann man das quasi zum Aufnehmen der zusammengemixten Ausgabe verwenden?
 
- Dann konnte deine Hardware es. Meine Envy konnte es bisher leider nicht.

- Klassische, hochqualitative SINC Interpolation nach Julius O'Smith in Kombination mit polynomiellen Interpolationsalgorithmen. [1]

- Interessant für (schlechte) Soundkarten, bei welchem man nachkorrigieren muss, um Klangfehler rauszumixen.

- Für die Besitzer externer Decoder ein must have :)

- Es muss aktiviert werden. dev.pcm.X.bitperfect ist das Sysctl. Es gibt aber Soundkarten, auf denen das nicht zu empfehlen ist. Sie mixen vorab den Ton um, um die Billigst-DAC auszugleichen. Wird man dann aber hören. :)

- Ja beißt sich, außer der vChan ist im oben genannten, neuen "Passthrough Mode".

- Ob sie es besser nutzt, weiß ich nicht. Aber damit dürfte das Genöle, dass FreeBSD kein Surround kann, bald ein Ende haben.

- Weiß ich nicht.

1: http://ccrma.stanford.edu/~jos/resample/ ; http://www.student.oulu.fi/~oniemita/dsp/deip.pdf
 
Klingt auf jeden Fall gut.

Ich habe nur eine Stereo-Anlage. Meiner Meinung nach klingen 2 Lautsprecher besser als 6 oder 8 zum gleichen Gesamtpreis, wenn das Budget begrenzt ist. Deswegen ist von den neuen Features für mich nur der bitperfect Modus und und der Downmix interessant. Aber auf den bitperfect Modus bin ich gespannt.

Die Intel HDA haben ja einen 24Bit D/A-Wandler, was ja eine sehr saubere Ausgabe garantieren sollte. Und meine alte Terratec DMX (Maestro Chip) bietet einen Signal-Rausch-Abstand von 97dB und ebenfalls 24Bit Wandler der sogar 96kHz schafft. Der Ausgangspegel ist etwas niedrig, aber der Klang ist für eine Consumer-Karte wirklich sauber.

Da ich Fan der Idee bin Signale möglichst unverfälscht weiterzugeben und die Manipulationen (Equalizer, Bass-/Höhenregelung) erst möglichst spät vorzunehmen (also beim Verstärker) freue ich mich also wirklich auf bitperfect.
 
Naja, da in einem Verstärker meist recht günstige Teile verbaut werden, kannst du in diesem Fall wohl definitiv besser den Sound im Rechner verbiegen, der macht das deutlich hochwertiger!

Bitperfect ist interessant aber ich persönlich kann den Unterschied nicht hören, ansonsten interessante Neuigkeiten :)
 
Wenn man ehrlich ist und keine audiophilen Ohren hat, hört man in der Regel kaum Unterschiede zwischen diesen Dingen. Da finde ich es aber auch schon rein bequemer die Sachen an der Software zu mischen, als wie umständlich die Fernbedienung in die Pfote zu nehmen. ;)

Ac3-Passthrough konnte ich nach einigem Gefummel am cmi Treiber auch schon nutzen, was auch ganz gut funktionierte. Ich hoffe aber jetzt, das das ganze auf eine vernünftige Basis gestellt wird und ich nicht so viele Anpassungen machen muss.
 
Kann denn das Soundsystem jetzt auch schon ohne zusätzlichen Sounddaemon parallel erklingende Audiosachen "abspielen"? Mir gerade nicht klar wegen mangelnder Testmöglichkeit...
 
Schon ...? Das war schon mit FreeBSD 5.3 (mein Einstieg) kein Problem. Und ich gehe mal davon aus, dass das schon deutlich länger möglich ist.
 
Das konnte FreeBSD schon immer. Naja, zumindest seitdem Opensound eingeführt wurde. Opensound hatte schon immer einen Kernel-Mixer, der für soetwas nötig ist, wenn die Soundkarte keine mehreren Kanäle in Hardware unterstützt. Mit FreeBSD 6.3 und 7.0 wurde er dann noch einmal komplett überarbeitet, als diese ganzen Neuerungen mit den vChans eingingen. Das ist übrigens etwas, was das heilige und gegen jede Kritik bis auf das Blut und noch weit darüber hinaus verteidigte ALSA bis heute nicht kann. Daher unter Linux auch diese endlosen Schichten von Abstraktionslayern und Daemons oben drauf.

Naja, um vChans nutzen zu können, müssen zwei Sysctl gesetzt sein:
- dev.pcm.0.play.vchans auf 1. Sollte Standardeinstellung sein
- hw.snd.maxautovchans auf die Zahl der parallel zu spielenden Kanäle. 16 ist ein guter Wert.
 
So wie ich das verstehe läuftz dmix nicht transparent. Es gibt Anleitungen wie man das mit einzelnen Anwendungen wie mplayer und Amarok zum Laufen bekommt.

vChans funktionieren immer. Die Anwendungen bekommen nichts davon mit.
 
ALSA hat keinen Kernelmixer. Das ist genau das was, Kamikaze sagt. vChans laufen immer, ich kann so viele Anwendungen Sound abspielen lassen, wie ich vChans habe. Bei ALSA brauche ich für sowas immer eine zusätzliche Ebene. Aktuell ist da das heilige Pulseaudio groß in Mode, aber der Erfahrung nach kommt in etwa einem Jahr wieder ein toller, neuer Daemon. Natürlich mit neuer ABI, die OSS-ABI war ja nicht gut genug. *SCNR*
 
Wie wird es mit den GUI-Frontends dann sein? Es wird doch sicher eine Weile dauern, bis dann die Soundfeatures auch vom bspw. xfce4-mixer unterstützt werden, oder?
 
Eigentlich nicht. Sauber programmierte Mixer holen sich die vorhandenen Kanäle vom System, inklusive Benennung, und bieten sie dann dem Nutzer an. Zumindest soll es so sein...
 
Wann ist der Einsendeschluss von Code für FreeBSD 8?
..eigentlich wollte ich die Bluetooth treiber nach den Prüfungen implementieren :rolleyes:
 
Der war schon. Das Projekt ist bereits im "Code Slush", es dürfen keine neuen Projekte mehr begonnen werden. Als nächstes kommt dann der "Code Freeze", geplanter Termin dafür ist irgendwann Ende des Monats.
 
Trotz Code Slush können aber noch große Projekte aufgenommen werden. Diese müssen allerdings von re@ genehmigt werden.
 
Back
Top