Soundflower ist seit Jahren ein wichtiges Tool für den Mac. Es erstellt virtuelle Soundkarten, um das Audiorouting zwischen verschiedenen Programmen zu ermöglichen. Das größte Problem dieser Software ist jedoch der veraltete Entwicklungsstand. Hinzu kommt, dass es keine einfache Möglichkeit gibt zu bestimmen, wie viele Soundkarten man simulieren will und wie viele Kanäle diese haben sollen. Ein Youtube-Video von Ralf Stockmann (Wikigeeks-Podcast) zeigt einen Hack, mit dem nachträglich die gewünschten Einstellungen vorgenommen werden können. Kompliziert ist es nicht, aber für den Otto-Normal-User auch nicht mal eben erledigt. Also habe ich die Nachfrage von Ralf im Video zum Anlass genommen und einen Installer gebaut, der direkt andere Soundkarten und Kanäle erzeugt. Insgesamt entstehen bei der Installation 7 Soundkarten mit jeweils zwei Ein- und Ausgängen.
+++ Update 26.2.2014: Version 1.0 ist erschienen mehr dazu auf Github +++
Soundflower Ultraschall Edition
Es handelt sich hierbei nicht um eine neue Version! Ich habe ausschließlich eine XML-Datei überarbeitet und den Installer neu gepackt. Das ganze läuft natürlich ohne Gewähr.
Nicht mehr enthalten ist das Zusatzprogramm Soundflowerbed, welches die Blume in die Menüleiste legt. Dieses funktioniert (bisher) leider nur mit den originalen Soundflower Soundkarten.
Hinweise:
- Bei der Erstinstallation von Soundflower kann es evtl. zu dem Problem kommen, dass die Kernelextension nicht geladen werden kann. Das hängt wohl mit dem fehlenden Developer-Zertifikat zusammen. Manuelles Laden der kext funktioniert über das Terminal:
sudo kextload /System/Library/Extensions/Soundflower.kext
Genauer wird das im oben verlinkten Video erklärt! - Ein User hat berichtet, dass Soundflower Ultraschall Edition Lastspitzen erzeugen kann. Wann/Warum ist bisher noch nicht klar. Ich konnte das Problem bisher auch nicht reproduzieren. Wenn das System plötzlich träge wirkt oder die Lüfter aufdrehen etc. einfach mal den Aktivitäts Monitor starten und unter „CPU“ nach „kernel_task“ schauen. Der Prozentwert sollte dort im Normalfall nicht sehr hoch sein. Sollte es zu hoher Last kommen, bitte ich um Feedback.
To Do:
Probleme mit dem Zertifikat beheben (daher ist ein einmaliges, manuelles Laden notwendig)Verschoben, da Apple-Dev-Account nötig
Soundflower gegen das neuste SDK bauen und testenErledigt.- GUI zum nachträglichen Anlegen/Bearbeiten der virtuellen Soundkarten
Github Repo
Um den Bedingungen von GPL zu entsprechen gibt es mittlerweile ein GitHub Repository.
Du hast noch Fragen, Anmerkungen oder ein Problem? Dann ab damit in die Kommentare oder zu GitHub in die Issues. Wenn es nicht öffentlich sein soll, kannst du auch gerne das Kontaktformular verwenden.
+++ Update 26.2.2014: Version 1.0 ist erschienen mehr dazu auf Github +++
Download Version 1.0 (Hinweise beachten)
Hallo Marius,
vielen Dank für deine Arbeit mit Soundflower. Ich habe deine Version auf meinem MacBook installieren wollen. Das Installationsprozess lief auch ohne Probleme durch. Mich wunderte jedoch, dass Soundflower im Original ca. 400 kB groß ist und bei dir lediglich 183 kB installiert wurden.
Woran das lag konnte ich dann schnell feststellen. Soundflower konnte nicht gestartet werden. Das Programm war nicht vorhanden. Die kext-Datei, Read Me und das uninstall-Script waren da, nur Soundflower selbst nicht. Die Blume ließ sich nirgendwo finden.
Ich habe Soundflower dann neu installiert mit den original Daten und deine kext-Datei neu geladen. Das ging dann.
Viele Grüße
Florian
Hallo Florian,
danke für dein Feedback!
Das was du als Blume beschreibst (in der Menüleiste) ist nicht Soundflower selbst, sondern eine Ergänzung dazu. Das ganze Heißt Soundflowerbed und wird normalerweise mit installiert. In meinen Tests ist diese Zusatzsoftware jedoch nicht mit den „selbstgebauten“ Soundkarten zurecht gekommen. Deshalb habe ich sie aus dem Installer geworfen. Dir dürfte auffallen, dass in der Menüleiste nur „Soundflower (2ch)“ angezeigt wird, jedoch keine andere Karte.
Soundflower selbst funktioniert auch ohne, dass die Blume in der Menüleiste angezeigt wird!
Ist das hohe Last Problem mittlerweile behoben? Danke schon mal 🙂
Hallo Sebi,
mir wurde nur davon berichtet, aber ich habe es bisher nicht nachvollziehen oder reproduzieren können.
Laut dem Bericht eines Anwenders kommt es auch nicht zu dauerhaft hoher Last, sondern wenn zu Lastspitzen. Ich habe es vor allem in der Hoffnung dazu geschrieben, mehr Feedback dazu zu bekommen.
Hallo Marius,
Alles klar! Da wollte ich vorm laden einfach mal sondieren. Dann probiere ich es einfach mal aus. Sollte es auftreten geb ich Bescheid. Danke fürs Bereitstellen 🙂
So für die Street-Credibility: wir haben alle 4 Folgen der die-sondersendung.de vom 30C3 mit Deiner Distribution aufgenommen, lief als clean install komplett klaglos und stabil auch mit exotischer Hardware.
Vielen Dank für das Feedback! Es freut mich sehr das es gut läuft.
Dann werte ich euren Einsatz mal als Härtetest und nehme die Distribution aus der alpha-Phase.
Hallo Marius,
wo kann ich denn das File herunterladen? Der Link ist tot.
Hey Toni,
habe den Link soeben noch mal gecheckt; der funktioniert.
Stimmt hab es gerade mal mit Opera probiert und es hat funktioniert. Scheinbar hab ich meinen Firefox kaputt konfiguriert.
Ich hab deine Soundflower-Version mal bei hombrew-cask, in den versions-Zweig, eingepflegt.
https://github.com/caskroom/homebrew-versions/pull/316
Sehr gute Idee! Herzlichen Dank.
Muss ich dann irgendwas beachten, wenn ich Updates mache?
Ich bin mir übrigens nicht sicher, ob der Code den du dazu geschrieben hast komplett stimmt.
Man müsste da vll noch ein Script für kext-load einbauen. Und ein Neustart ist auch nicht unbedingt nötig…
Zu beachten ist nichts, wenn du ein Update herausbringst wäre es zumindest ganz gut wenn du die Linkstruktur und Paketbezeichnung beibehältst und nur die Version änderst, dann muss man nur „version“ und den „sha256“ ändern.
Die Kernel-Extension wird automatisch geladen, dazu ist die Zeile „:allow_untrusted => true“ da. Bei mir waren nach der Installation auch gleich alle Audiodevices da.
Der Neustart war zumindest bei mir nach dem deinstallieren notwendig, da sonst die Audiodevices nicht verschwinden. Das kann ich aber noch entsprechend anpassen. Mir ist auch aufgefallen das ich einmal die #{version} Variable im Link vergessen habe. Werde das aktualisieren.
https://github.com/caskroom/homebrew-versions/pull/317
Alles klar, danke für die Infos.
zum Uninstall: man muss
sudo kext unload
mindestens zwei mal ausführen. Dann wird die Extension tatsächlich ausgeladen und die Devices verschwinden aus der Liste.