Seite 1 von 1

CamillaDSP eine Alternative zu BruteFIR

Verfasst: 04.10.2020, 14:58
von Martin
Hallo zusammen,

hier im Forum wurde schon kräftig die Werbetrommel für CamillaDSP gerührt und so kam ich nicht umhin, es auch einmal zu versuchen. CamillaDSP kann wie BruteFIR als Convolver für FIR-Filter eingesetzt werden, kann aber zusätzlich auch IIR- und SRC-Filter sowie synchrones und asynchrones Resampling. Es läuft unter Linux, Windows und MAC. Zu bekommen ist es hier:

https://github.com/HEnquist/camilladsp

Forum dazu:
https://www.diyaudio.com/forums/pc-base ... n-etc.html

Meine Ausgangssituation:
Einfaches Stereo Setup. Zwei Raspberry Pi 3 B+ (Rpi) unter DietPi teilen sich den Job. Der erste Rpi übernimmt das Convolving und Upsampling von 44100 Hz auf 176400 Hz. Die aufbereiteten Audiodaten gelangen dann über die Ethernet-Schnittstelle zum zweiten Rpi, der sie über I2S dem Allo KALI-Reclocker zuführt, der wiederum einen PCM1794-DAC ansteuert.
Auf dem ersten Rpi übernahm bisher BruteFIR die Raumkorrektur mit Acourate-Filtern (65536 taps) und die LoCo-Aufbereitung (http://137.226.152.76/frankl/stereoutils/loco.html).

Installation:
Download von https://github.com/HEnquist/camilladsp/releases (auf "Assets" klicken). Für den Rpi wird die Datei camilladsp-linux-armv7.tar.gz benötigt. In dem Archiv befindet sich nur eine Datei "camilladsp", die als ausführbare Datei auf den Rpi kopiert wird und dann sofort lauffähig ist. Es ist nichts weiter erforderlich.
(Anmerkung: Auf meinem Laptop mit Linux Mint 19.3 läuft camillaDSP aufgrund einer GLIBC-Inkompatibilität nicht auf Anhieb).

Konfiguration:
Die Konfiguration erfolgt mit einer Textdatei im YAML-Format, das für mein Empfinden sehr übersichtlich ist. Ein schönes Feature ist, dass diese Konfigurationsdatei mit Hilfe eines Zusatzprogramms (show_config.py) visualisiert werden kann. Da mein Rpi über kein Display verfügt, geschieht die Visualisierung auf dem Laptop. Für LoCo müssen die Stereokanäle zunächst in Mitte/Seite-Kanäle umgewandelt werden. Dies geschieht mit dem Mixer "MS". Auf den Seitenkanal wird dann das Loco-Filter angewendet. Dieses besteht hier aus zwei einfachen PEQ-IIR-Filtern. Zur Laufzeitkompensation erhält der Mitte-Kanal zwei Dummy-PEQ-IIR-Filter. Danach wird mit dem "MS"-Mixer zurück auf Stereo gewandelt und dann die FIR-Filterung durchgeführt. Danach folgt noch ein PEQ-IIR-Filter zum Herumspielen und eine Abschwächung, um Clipping zu vermeiden. Die Konfiguration sieht dann so aus:

Bild

Durch die Realisierung der LoCo-Filter mit IIR-Filtern anstelle von FIR-Filtern ist die Prozessorauslastung in Summe jetzt geringer als mit BruteFIR. (BruteFIR ca. 30%, CamillaDSP ca. 20% eines CPU-Kerns). Das Upsampling könnte auch in CamillaDSP erfolgen, geschieht bei mir aber nach wie vor mit resample_soxr, da ich möchte, dass die Filterung in CanillaDSP mit 44100 Hz durchgeführt wird (Laufzeit bzw. Frequenzauflösung der Filter) und camillaDSP bei Verwendung des eingebauten Upsamplers die Filterung mit 176400 Hz durchführen würde. (Ich habe nur normale CDs, der High-Res-Hype ist an mir vorbeigegangen.)

Steuerung während des Abspielens:
Von Brutefir bin ich es gewohnt, während des Abspielens andere Filter auswählen zu können. Auch CamillaDSP bietet hier viele Möglichkeiten bis hin zu einer Steuerung über einen WEB-Browser. Die WEB-GUI habe ich noch nicht zum Laufen gebracht, aber es geht auch anders: Wenn man CamillaDSP das Signal SIGHUP sendet, wird die Konfiguration neu geladen und ausgeführt, falls sie sich geändert hat. Über einfache Skripte ändere ich die Konfig-Datei und sende das SIGHUP-Signal. Die Änderung erfolgt knacksfrei, es gibt maximal eine kurze Unterbrechung von einer halben Sekunde. Auf diese Weise kann ich während des Abspielens z.B. auch die Loco-Filter ändern, ohne dass ich diese erst aufwendig generieren muss.

Alles in Allem, wieder eine schöne Spielwiese!

Einen schönen Sonntag noch
Martin

Verfasst: 09.10.2020, 08:48
von Daihedz
Hallo in die Runde

Eigenartig ... dieses Null-Echo, resp. Null-Interesse zu CamillaDSP hier?

Als Gegensatz dazu im diyaudio-forum:
>1000 Posts und 83'000 Zugriffe.

Hinterfragende Grüsse
Simon

Verfasst: 09.10.2020, 18:20
von Sire
Hallo Simon,

ich sag es mal so: Interessiert bin ich schon und denke auch, dass Camilla mittelfristig brutefir bei mir ablösen wird. Zum Ausprobieren habe dennoch im Moment keine Lust, da ich zur Zeit lieber Musik höre. Und so bleibt meine brutefir-Installation erst einmal. Frei nach dem Motto "wenn*s läuft, dann läuft*s". Ich lese aber gerne still mit, kann zur Zeit mangels Erfahrung eben nichts konstruktiv beitragen.

Viele Grüße Klaus

Verfasst: 10.10.2020, 14:08
von Daihedz
Hallo in die Runde der zufrieden Ruhenden und der rastlos Suchenden.

Diese meine Bemerkung zum Formus-Null sei nicht wertend verstanden. Ich habe auch schon, umgekehrt, in diyaudio für Acourate, für das Horbach-Keele-Prinzip, für Uli's neue Filtergeneration und etc. die Werbetrommel gerührt - ohne jegliches Echo. Die Frage eines Forums-Echo oder eben einer Forums-Stille auf einen Post hin ist in der Natur der Sache mulifaktoriell abhängig, und sagt nichts über die Qualität eines Forums aus. Nota bene!
Sire hat geschrieben: 09.10.2020, 18:20 ... Und so bleibt meine brutefir-Installation erst einmal. Frei nach dem Motto "wenn*s läuft, dann läuft*s" ...
Ich habe volles Verständnis für diese Philosophie, und sie ist mir auch sehr sympathisch und mir nahe. Andersrum erlebe ich doch sehr viele Leute hier im Forum, welche, obschon's läuft, dauern auf der Suche sind, forschend nach dem "Anderen" und vielleicht "Besseren" in dauernder Unruhe und ohne Unterlass ihre Anlage modifizieren. Deshalb wundert es mich ja auch, dass praktisch niemand, auch diese emsige und technisch aufgeweckte Fraktion nicht, hier im Forum CamillaDSP "mals so" ausprobiert. Zumal es auch auf Linux und MacOS läuft und nicht nur Brutefir ersetzen, resp. konkurrenzieren könnte, sondern irgendwelche Convolver- und DSP-Software.

Wertneutral interkulturell verlgleichende Grüsse
Simon