Windows USB Audio CODEC und die Klassifizierung Mic vs. Line

SB
SB
Licht | Ton | Strom
Moderator
HFU
Zuletzt hier
10.04.24
Registriert
04.04.07
Beiträge
4.139
Kekse
33.000
Ort
Bavarian Outback (AÖ)
Hallo Kollegen,

ich spiel hier grade mit diversen günstigen Audio-Interfaces rum. Wollte bewusst was, das "class compliant" ist (u.a. für eine eventuelle Verwendung am Androiden mittels OTG). Die größeren Interfaces mit dedizierten Treibern tun unter Windows brav ihren Dienst, das soll hier gar nicht Thema sein.

Vorgeschichte: Ich schlepp schon seit über 10 Jahren für Stereomitschnitte auf Gigs ein altes Netbook mit Windows XP (sieht eh nie das Internet) mit mir rum. Recording ganz pragmatisch über ein Behringer UCA202 direkt in mp3directCut. Läuft, es kommen sinnvolle Pegel an.

Irgendwann hatte ich besagtes Interface als damals dann Windows 7 aktuell wurde mal an den Laptop von nem Kumpel angeschlossen und wir hatten da was recorded. Über den sehr hohen Pegel kurz gewundert, aber erstmal nichts weiter gedacht. Später festgestellt, dass die Aufnahme überraschend in Mono war, weil in Audacity beide Seiten der Stereospur das gleiche Signal erhalten haben. Des Rätsels Lösung für beide Phänomene war, dass Windows das Ding erstmal als 1-Kanal-Gerät einrichtet, und zwar als "Microphone". Der Pegel steht dabei auf 100%, was scheinbar einen künstlichen "Trim" direkt in Windows raufschraubt (Preamps hat das Interface ja gar nicht). Man muss bis auf 5 (von 100) runtergehen, damit Line-Signale sinnvoll ausgesteuert werden können und das SNR passt.

Ich habe irgendwann einfach akzeptiert, dass man das bei Microsoft schlicht ab Vista verhunzt hat. Es war mir auch egal - ich recorde ja eh mit meiner Uraltkiste und da funktioniert es ja. :D

Und nun wieder Back 2 the Future ins Jahr 2021...ich sitz hier also grade mit einem Behringer UMC22, das unter Win7 erfahrungsgemäß das gleiche Verhalten zeigt (erkannt als USB Audio CODEC und Klassifizierung als Mikrofon mit "Software-Boost"). Ich hab mir für ne andere Anwendung zudem ein t.mix MicroMix 2 USB bestellt. Und jetzt kommt der Clou: Das Ding wird erwartungsgemäß ebenfalls als USB Audio CODEC angezeigt, aber als Line! Da passen dann logischerweise auch die Pegel ad hoc. Wenn der Pegel-Slider unter Windows hier auf 100 steht, bin ich da in der Recordingsoftware wirklich auch erst dann bei 0dbFS, wenn der AD-Wandler vom Pult intern am Clippen ist, so wie es sein soll.

Was ich jetzt wissen möchte: Wie läuft das Ganze ab? Ist jemand so tief in Windows drin, dass er mir das Phänomen erklären kann? Letztlich werden beide als die gleiche Geräteklasse erkannt - wie kann es sein, dass eins der drei Interfaces korrekt als Line-Eingang erkannt wird (der dann auch gleich mal ohne Zutun als Stereo eingerichtet wird) und die anderen nicht? Wird da vom Hersteller des USB-Chips irgendein Flag gesetzt? Lässt sich die korrekte Erkennung auch irgendwie auf Windows-Seite erzwingen? Werde mal checken, ob im Geräte-Manager eine entsprechende Einstellung vorhanden ist; unter der Audioeinstellungen direkt hab ich jedenfalls schon alles durch...
Es bleibt halt die Möglichkeit, manuell die zwei Einstellungen zu ändern (2Ch und Pegel irgendwo auf <5), aber ne saubere Lösung sieht anders aus...


Gruß Stephan
 
Eigenschaft
 
Irgendwo hatte ich so eine Einstellung schonmal gesehen (bei ner Onboard-Soundkarte vor ewigen Zeiten). Bei ner externen aber nicht. Das eigentlich kuriose ist ja aber, dass das ganze Gerät überhaupt als Mic gemeldet wird unter der Rubrik Audiogeräte. Das geht ja primär vom System aus und ist durch reguläre Einstellungen wohl nicht beeinflussbar. Zumindest nicht ohne Weiteres - und genau diese Hintertür suche ich. Ich will verstehen, wie das von Windows festgelegt wird und warum. Bestimmt geht das über die Registry, aber wenn man die einschlägigen Suchmaschinen zu dieser Problemstellung füttert, kommt da natürlich alles Mögliche...
 
Irgendwo hatte ich so eine Einstellung schonmal gesehen
Genau.
Aber sie ist nicht immer verfügbar.
Ich hatte es neulich wieder mal bei meinem AUKEY Kondensatormikrofon das über USB(!) angeschlossen werden sollte gefunden.

Es hat in dem Fall aber absolut nichts gebracht, das Signal war trotzdem zum wegschmeissen.
Ich hab das Kabel durch ein XLR ersetzt und dem Mikro eine korrekte Speisespannnung spendiert und jetzt funktionierts.

Manche Windowsinterna bringen einem an den Rand des Wahnsinns wenn man versucht die Logik dahinter zu begreifen.
 
Was ich jetzt wissen möchte: Wie läuft das Ganze ab? Ist jemand so tief in Windows drin, dass er mir das Phänomen erklären kann? Letztlich werden beide als die gleiche Geräteklasse erkannt - wie kann es sein, dass eins der drei Interfaces korrekt als Line-Eingang erkannt wird (der dann auch gleich mal ohne Zutun als Stereo eingerichtet wird) und die anderen nicht?

Genau das liegt an der Firmware. Ein Mini-Mixer bietet eben Stereo-(Tape-)Out und ein UMC22 einmal Mic und einmal Inst (wo soll da Stereo-Line-In herkommen?).

Daß da bei dir irgendwo ein "Boost" drin ist, liegt aber höchstwahrscheinlich an deiner vergurkten Windows-Installation und nicht am Interface.
 
und ein UMC22 einmal Mic und einmal Inst (wo soll da Stereo-Line-In herkommen?).

Der soll genau deswegen daherkommen, weil das Ding immer noch ein einzelnes Device mit zwei Kanälen ist. Welche Input-Sensitivity das Ganze hat, geschweige denn wie die Inputs heißen, interessiert das System erstmal überhaupt nicht. Wie schon gesagt, passiert das bei einem UCA202 (2-Kanal-Line-Interface) ja genauso.
Der hardwareseitige (!) Gain hat das System noch weniger zu interessieren, es kann diesen nicht auslesen und erst recht nicht beeinflussen. Wenn da -40dbFS daherkommen, kann Windows nicht einfach sagen "ich mach da jetzt -10dbFS draus", egal ob das Ding Line-In, "Fake-Mic-In" oder ein echter Preamp ist. Genauso Stereo oder Mono, das sind ja im Endeffekt einfach nur zwei isolierte Kanäle - was ich panningtechnisch in der DAW dann damit mache, steht auf einem anderen Blatt. Es ist ja auch nicht so, dass der "Inst In" als zweite Quelle auftaucht, sondern der verschwindet ohne aktiven Eingriff (Umstellung auf 2ch-Betrieb) komplett im Nirvana. Selbiges gilt für den rechten Input vom UCA202.

Daß da bei dir irgendwo ein "Boost" drin ist, liegt aber höchstwahrscheinlich an deiner vergurkten Windows-Installation und nicht am Interface.

Gemessen an dem Umfang, in dem ich das in der letzten Dekade kreuz und quer getestet habe, müssten dann lückenlos alle ca. 10 Installationen bei zwei verschiedenen Betriebssystemgenerationen (Vista und 7 - bei 10 müsst ichs tatsächlich mal noch testen) "verhunzt" sein, inklusive derer im Bekanntenkreis, zuzüglich den X Fällen aus dem Netz (inkl. USB-Audio-Schnittstellen in USB-Plattenspielern usw. usf.) ;)
Wäre "schön" wenn es so einfach wäre, aber das Thema ist deutlich komplexer.

Ich bin aber schon ein wenig weitergekommen. Grundsätzlich hast du nämlich völlig recht:

Genau das liegt an der Firmware.

Hier mal etwas Lesestoff:
https://www.microchip.com/forums/m1008767.aspx
https://docs.microsoft.com/en-us/answers/questions/225843/6-channels-microphone-descriptor.html
https://www.usb.org/sites/default/files/audio10.pdf

Im wesentlichen dürfte das Array "bmaControls" dafür verantwortlich sein, mit welchem Interface wie umgegangen wird und welche Einstellmöglichkeiten in den Audioeigenschaften bereitstehen. Da werde ich mich mal näher damit beschäftigen.
Es gibt also nicht "das" Gerät "USB Audio CODEC", sondern da wird deutlich mehr an Infos ausgetauscht, als ich dachte.
 
Der soll genau deswegen daherkommen, weil das Ding immer noch ein einzelnes Device mit zwei Kanälen ist. Welche Input-Sensitivity das Ganze hat, geschweige denn wie die Inputs heißen, interessiert das System erstmal überhaupt nicht. Wie schon gesagt, passiert das bei einem UCA202 (2-Kanal-Line-Interface) ja genauso.

Zwei Mono-Sources sind etwas ganz anderes als eine Stereo-Source. Genauso kannst du sechs Mono-Sinks haben, drei Stereo-Sinks oder einen 6-Kanal-Sink (5.1).

Die werden host-seitig jeweils komplett anderes behandelt.

Es ist ja auch nicht so, dass der "Inst In" als zweite Quelle auftaucht, sondern der verschwindet ohne aktiven Eingriff (Umstellung auf 2ch-Betrieb) komplett im Nirvana. Selbiges gilt für den rechten Input vom UCA202.

Ich habe ein Steinberg-Interface (nicht USB-class-compliant), dessen Windows-Treiber zwei Mic/Line-Sources zu einem Line-Level Stereo-Source kombiniert (dürfte die häufigste Anwendung widerspiegeln). Über den nativen ASIO-Treiber sind jedoch die Mono-Sources noch einmal zusätzlich getrennt verfügbar.

Im wesentlichen dürfte das Array "bmaControls" dafür verantwortlich sein, mit welchem Interface wie umgegangen wird und welche Einstellmöglichkeiten in den Audioeigenschaften bereitstehen. Da werde ich mich mal näher damit beschäftigen.
Es gibt also nicht "das" Gerät "USB Audio CODEC", sondern da wird deutlich mehr an Infos ausgetauscht, als ich dachte.

Ja klar, wenn du ein 32in/32out-Mischpult anschließt, werden da andere Daten ausgetauscht, als bei einem USB-Mikrofon.
 
Zwei Mono-Sources sind etwas ganz anderes als eine Stereo-Source. Genauso kannst du sechs Mono-Sinks haben, drei Stereo-Sinks oder einen 6-Kanal-Sink (5.1).

Aber mit dem 0815-Treiber? Wie gesagt - möglich, habe ich aber so noch nie gesehen (irgendwas >2Ch, was mit dem Standardtreiber läuft). Daher dachte ich ja eben, dieser USB Audio Codec definiert genau einen einzigen Gerätetyp und alles, was da drunter fällt folgt ganz dumm dämlich einem einzigen Standard und wird genau gleich behandelt. Für alles weitere gibts ja dann herstellerspezifische Treiber. Dass selbst da schon Infos mitgesendet werden "ich kann das und das" war mir vollkommen neu. In der Hinsicht ist der Link zum Developer-Forum von Microchip ja ganz interessant, denn wenn der Wandler das entsprechend hergibt, lassen sich da aus Windows raus dann tatsächlich auch Funktionen wie der Gain direkt in der Hardware steuern. Again what learnt...

Bei einem
32in/32out-Mischpult
wie dem X32 ist das ja nochmal was anderes - da läuft ohne den passenden Treiber für die X-USB gar nix, das ist klar. Das hab ich dann nach dessen Installation einmal als "echtes" 32-Kanal-Interface zur Auswahl und einmal aufgesplittet in 16 Stereosources, damit nicht-multichannel-fähige Anwendungen damit auch umgehen können. Das ist ja alles bekannt, logisch und sinnvoll.

Also halten wir wohl fest: Die Wahrheit liegt irgendwo in der Mitte. Anscheinend hat Behringer hier auch ein wenig Schuld, denn die Geräte werden als VID_08BB & PID_2902 gemeldet, das führt mich namentlich auch zu Behringer. Das t.mix hingegen meldet sich als VID_08BB & PID_29C0 und nutzt demnach Wandler von Texas Instruments. Deren Entwickler haben wohl die Flags sinniger gesetzt als die vom Uli. ;)

Also hab ich jetzt zumindest eine Erklärung für das Ganze.
 
Also, es gibt tatsächlich eine "richtige" Lösung fernab vom ASIO4ALL-Treiber (keine Ahnung, ob der überhaupt in diesem Fall hilft) und/oder manuellem Umstellen auf 2-Kanal-Betrieb und Input-Pegel 5%. Man muss aber seeehr tief graben. Ich bin in "Textform" nirgends fündig geworden, dafür fiel mir dann bei den Suchergebnissen ein Video ins Auge.



Der Link zur Treiberseite liefert zwar irgendwie keine Downloadmöglichkeit, aber ich bin dann bei Driverguide fündig geworden. (Wie immer natürlich nicht einfach blind den Automatik-Installer runterladen, sondern die BEHRINGER_2902_X64_2.8.40.zip).

Erst hats nicht geklappt, weil ich in altbewährter Manier einfach nur manuell auf die INF-Datei aus dem Paket umswitchen wollte, habe aber dann gesehen, dass ja auch ein Installer dabei ist und somit wurde aus dem USB Audio CODEC nun ein Behringer WDM Audio Device. Da die Teile intern alle gleich sind (sieht man ja auch schon an der VID/PID) funktioniert der ursprünglich fürs UCA202 gedachte Treiber auch fürs UMC22. Dieses wird nun brav als Line-Input angezeigt, der Pegel passt trotz Einstellung auf 100% (Clip in der DAW = Clip des Eingangs) und ist auf 2Ch / 44,1kHz voreingestellt.

Auf meinem Bürorechner werde ich trotzdem alles beim alten belassen, aus einem ganz einfachen Grund: Mit dem Behringer-Treiber lässt sich das Interface dann tatsächlich nur noch im 2-Kanal-Mode betreiben, die Option den In 1 Mono zu nutzen ist dann aus dem Dropdown-Menü in den Audioeinstellungen verschwunden. Bei Audiokonferenzen könnte das dann evtl. nervig sein, wenn der Stream nicht automatisch auf Mono geschaltet wird, da man mich dann natürlich nur von links hört.
 
Zuletzt bearbeitet:

Ähnliche Themen


Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben