Hi, ich muss mir für mein Vorhaben einen virtuellen Soundkartentreiber schreiben. Dieser soll eine einfache Stereosoundkarte emulieren. Der Audiostream Kanal L und R soll dann diversen DSP-Effekten (Tiefpass, Hochpass, Parametrischer Equalizer, Laufzeitkorrektur) unterzogen werden und dann auf einer externen 5.1 Soundkarte wieder ausgegeben werden. Wie kann ich das schaffen? Ich hab 3 Monate Zeit, theoretisch länger, aber in 3 Monaten fängt die Theoriephase meines Studiums wieder an und da sollte die Kiste so langsam laufen. Ich habe Grundkenntnisse in C#. Ich denke mal Treiberprogrammierung ist mit .NET nicht möglich? Oder doch? Lieber mal in C++ einarbeiten (schaden würds nicht! C++ könnte ich an vielen stellen gebrauchen um hardwarenäher als in C# zu arbeiten, wenns mal auf Speed ankommt) Wo kriege ich das benötigte Wissen her um sowas zu realisieren? (Ja ich werde Googeln aber vielleicht hat jemand einen Tipp :) ) lg PoWl
Paul Hamacher schrieb: > Ich hab 3 Monate Zeit Und dazu Null Ahnung von C/C++? Auweia, das wird knapp. Paul Hamacher schrieb: > Wo kriege ich das benötigte Wissen her um sowas zu realisieren? Z.B. hier: http://msdn.microsoft.com/en-us/windows/hardware/gg454508
Wenn die Audio-Quelle nur Software ist die DirectShow benutzt, würde es auch reichen einen DirectShow-Filter zu schreiben. Wirklich nen eigenen virtuellen Soundkartentreiber schreiben ohne da vorher schonmal was in Sachen Treiberprogrammierung gemacht zu haben dürfte sehr sehr eng werden. Einstiegspunkt wäre: http://msdn.microsoft.com/en-us/windows/hardware/gg487463 ...da sind auch Beispiel-Treiber für alle möglichen Devices drin (die allerdings nicht wirklich tief gehen)
Wie ich das ganze realisier ist letzendlich egal, hauptsache ich kann den Stereo-Sound durch die DSP-Effekte jagen und hinterher auf 5 Kanäle richtig verteilen (2 mal Hochtöner, 2 mal Tiefmitteltöner, 1 mal Subwoofer, ist fürn Car-PC). DirectShow-Filter? Ist es nicht so, dass sowieso die ganze Soundausgabe jedes Standard-Programms (eigentlich geht es mir hier nur um einen selbstgeschriebenen MP3player, VLC-Player, Webbrowser..) sowieso über DirectX (DirectShow?) läuft? Dann könnte ich mir die Treiberprogrammierung sparen und würde mich in die Programmierung eines solchen DirectShow Filters einarbeiten. Grundkenntnisse in C und OOP sind natürlich vorhanden. Von 0 muss ich nicht anfangen aber bisher habe ich noch nichts großes gemacht. @Matthias, Jackaudio klingt interessant, werd ich mich mal reinlesen! lg PoWl
Paul Hamacher schrieb: > Hi, > > ich muss mir für mein Vorhaben einen virtuellen Soundkartentreiber > schreiben. Dieser soll eine einfache Stereosoundkarte emulieren. Der > Audiostream Kanal L und R soll dann diversen DSP-Effekten (Tiefpass, > Hochpass, Parametrischer Equalizer, Laufzeitkorrektur) unterzogen werden > und dann auf einer externen 5.1 Soundkarte wieder ausgegeben werden. Ein normales Audiokabel mit 3.5mm Klinkensteckern von Out->In reicht nicht? Wenn's nicht zu lange dauern soll, gibt's das auch fertig http://software.muzychenko.net/eng/vac.htm
Schau die mal BASS24 (http://www.un4seen.com/) an. Da gibt es auch samples für C#. ich habe damit 8 verschiedene Mp3s zugleich ausgegeben, auf jedem Kanal (7.1) einen. Wahrscheinlich kannst du damit deine Hoch, Mitten und Subwoofer auch getrennt ansteuern. Probiers mal Thomas
Danke für die weiteren Antworten :) Die Soundkarte, die ich verwenden werde, wird leider keinen Eingang zum Aufnehmen haben, daher muss ich das irgendwie virtuell machen. Der Sound muss auf jeden Fall vom System abgefangen und dann auf dieser einen Soundkarte wieder ausgegeben werden (und zuvor halt die ganzen DSP-effekte durchlaufen)
Paul Hamacher schrieb: > Danke für die weiteren Antworten :) Die Soundkarte, die ich verwenden > werde, wird leider keinen Eingang zum Aufnehmen haben, daher muss ich > das irgendwie virtuell machen. Irgendwo muss doch das Eingangssignal herkommen... Entweder Signal -> AD -> Stream -> Anwendung (die div. Effekte) -> Stream/s -> DA oder Stream/File -> Anwendung ... Stream/File kann bei DirectShow alles mögliche sein http://www.gdcl.co.uk/building.htm http://www.gdcl.co.uk/dshow.htm https://github.com/rdp/directshow-demo-audio-input-source http://www.codeproject.com/KB/audio-video/DSound_Spectrum3.aspx http://www.codeproject.com/KB/audio-video/Circular_Buffers.aspx
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.