C++/Qt Programm Zugriff auf Soundkarte inkl. Manipulation vorhandener Soundstreams

Niv k

Mitglied
Hallo alle zusammen,

ich würde gerne einen Equalizer programmieren, welcher sich zwischen die Audiosignale des PCs und der Soundkarte stellt,
da ich gerne jeden ausgehenden Sound equalizern will. Leider weiß ich grade überhaupt nicht, wie ich anfangen soll Ich brauche also quasi einen Windows-Dienst(?) der immer läuft, mit einem kleinem Symbol unten rechts in der Taskleiste. Dieses Programm sollte, Sounds abfangen, bearbeiten und dann weiterleiten. Das das irgendwie gehen muss, zeigen ja manche Programme bereits. Z.B. das Porgramm der Realtek Soundkarte, welches Effekte zum Computersound hinzufügen kann, etc.

Info:
Ich benutze C++/Qt auf Windows 7 64-Bit, kann aber auch andere Libs einbinden.

Aufstellung:
Audio streams >> Equalizer (in C++) >> Lautsprecher

Frage :
Wie kann ich Audiostreams abfragen und bearbeiten? Und wie kann ich einen solchen Windowsdienst in die Taksleiste schieben (inkl. Autostart etc.) ?

Hintergrund:
Ich habe ziemlich schlechte Klangeigenschaften in meinem Raum und außerdem, mag ich es den Klang genau anzupassen, darum wird es auch ein parametrischer Equalizer. Ich habe einen solchen für Winamp, dadurch hören sich Lieder immer super an!
Aber wehe, ich möchte mal was auf Youtube anmachen -> gleich wieder kacke. Darum würde ich gerne einfach jeden PC-Sound durch den Equalizer jagen.

Wenn mir jemand helfen kann, wäre ich sehr dankbar! Habe schon gegoogelt, aber nichts gefunden... weiß auch nicht wirklich nach was ich fragen muss.

Mit besten Grüßen
Kevin
 
Hallo,

danke für die Antwort. Also das sieht ganz gut aus. So, als ob ich damit was anfangen könnte, leider bin ich noch etwas überrumpelt von den vielen Informationen, die dort enthalten sind. Wie könnte ich am besten anfgangen?... Auf einer weiteren Seite steht dies zur Auswahl:
  • Creating a New Device Function Driver
  • Creating a New Filter Driver
  • Creating a New Software Driver

Welches davon wäre mein "Ziel"? ...
Noch eine Frage: Kann ich diese Windows Header im Qt Creator überhaupt einfach einbinden?
Generell weiß ich grade noch nicht wie ich anfangen muss. Ich muss also diese Windows files includen und benutzen, da diese dann Zugriff haben etc.. Dann wähle ich mein Programm als Treiber aus und in dem Programm benutze ich aber wieder die normalen Treiber.
Hat das vll. auch jemand schonmal gemacht?

Gruß
Kevin
 
Hey

Hm, also ich würde sagen ein Filter Driver klingt nicht übel, oder? Habe da auch nicht wirklich Erfahrung, aber würde vielleicht mal da ansetzen.

Bzgl. den Headern ist das folgendermassen: Den Treiber wirst du nicht mit Qt schreiben, der muss speziell gemacht werden, Visual Studio bietet die ganzen Sachen relativ intuitiv an. Anschliessend würde ich einen Service mit Qt schreiben der über DeviceIoControl bzw Read/WriteFile mit dem Treiber kommuniziert und dir eine GUI zur Verfügung stellt.

Der Treiber läuft im Kernel mode und deine GUI im user mode und kommuniziert dann mit dem Treiber.

Grüsse
Cromon
 

Neue Beiträge

Zurück