Anzeige:

Klangoptimierung

Hier finden sie die archivierten Beiträge des alten PHPBB Forums von www.loetstelle.net

Klangoptimierung

Von Elektron am 07.05.2011 18:15

Hallo!

Ich hab schon lange nicht mehr in diesem Forum geschrieben und in der Zwischenzeit ist eine Menge passiert. Für eine Abschlussarbeit im Fach Regelungstechnik haben mein Kollege und ich die Aufgabe eingereicht, eine Klangoptimierung für ein 2.1 Audio-System vorzunehmen. Nach ein paar Tagen sind wir nun soweit, dass wir das Audiosignal in Echtzeit auseinandernehmen und darstellen können (das soll sich für eine Livepräsentation eignen). Der Frequenzgang der Lautsprecher in einem bestimmten Raum wird durch Auflegen von weißem Rauschen und einem Messmikrofon ermittelt und das System so eingemessen, anschließen wird die Soundausgabe invers gefiltert.

Es ist laut Aufgabenstellung nicht zwingend erforderlich das in Echtzeit zu machen (also während der laufenden Musikwiedergabe einzuregeln), aber wir werden es trotzdem mal versuchen (wir wurden dafür schon milde belächelt..).

Vielleicht gibt es noch Anregungen, Tipps oder ein Interesse daran nach Fertigstellung daran weiterzubauen, deswegen stelle ich es hier hinein. Die gesamte Software arbeitet plattformunabhängig (MacOS und Linux, sowie WindowsXP, Win7 noch nicht) selbst wird unter GPL veröffentlicht.

Von Daedalus am 09.05.2011 15:19

Hi Elektron!

Ich find' das Thema an sich sehr spannend und die Darstellung ist mit Sicherheit ein Erfolg. "Echtzeit" ist vermutlich in diesem Zusammenhang eine Definitionssache nachdem man das Zeug Samplen --> Modifizieren --> Ausgeben/Darstellen muss, gibt es von Natur aus einen Versatz. Trotzallem nur weiter so Wink

Von Elektron am 15.05.2011 01:14

Ja, die Idee ist, einen variablen Filter zu nehmen. Dann soll mit einigen Vortests die Latenz des Systems gemessen werden. Anschließend weiß man ja wie das Quellsignal aussieht und - nach der erneuten Aufnahme - wie es aus den Lautsprechern kommt. Mit Hilfe der Information über die Zeitdifferenz kann dann man dann den Fehler ermitteln und den Filter anpassen. Es ist dann tatsächlich Echtzeit, weil der Filter noch vor der Ausgabe auf den Lautsprecher angewendet wird, obwohl die Regelung natürlich mit einer Verzögerung korrigiert. Bevor wir allerdings durchgestartet sind haben wir erstmal Code aufgeräumt.

Man kann nun virtuelle Geräte erstellen und diesen dann eine "virtuelle Bedieneinheit" spendieren. Die Geräte können dann in einem gedachten Rack eingeschleift werden, wobei das Erstellen und Verwalten der Geräte bis jetzt noch hard-wired im Programm stattfindet. Zum Test hatte ich einen einfachen Funktionsgenerator gebaut, siehe Screenshot, und davon zwei hinzugefügt. Dabei hatte ich auf den linken Kanal beide Funktionsgeneratoren gelegt, auf den anderen nur einen.

Anzeige: