Entwickler-Ecke

Multimedia / Grafik - Eingangspegel der Soundkarte messen!


Flolo - Sa 18.02.06 21:19
Titel: Eingangspegel der Soundkarte messen!
Hab da mal ne Frage: weiß jemand, wie ich den eingangspegel von meiner Soundkarte bestimmen kann? Am idealsten währe ed in einem Integerwert von 0 bis 100!


caedes - Sa 18.02.06 22:15

Damit wollte ich mich auch mal beschäfigen. Resultat meiner Recherchen, war dass das so leicht nicht möglich ist, sondern man jeweils eine kurze Zeit aufnehmen muss und es aus diesen Daten errechnet. Irgendwer aus dem Forum hat dafür sogar 'ne Unit geschrieben, wenn ich mich recht entsinne.

Hoffe dieser Hinweis grenzt den Umfang deiner Suche etwas ein.


digi_c - So 19.02.06 10:25

So was in die Richtung habe ich auch gehört, dafür verbürgen möchte ich mich aber auch nicht. Ich glaube aber das man sich nicht einfach so in den Aufnahmestream einklinken kann.


Antherea - So 19.02.06 17:54
Titel: Re: Eingangspegel der Soundkarte messen!
user profile iconFlolo hat folgendes geschrieben:
Hab da mal ne Frage: weiß jemand, wie ich den eingangspegel von meiner Soundkarte bestimmen kann? Am idealsten währe ed in einem Integerwert von 0 bis 100!

Darf ich fragen, was Du genau messen willst: den absoluten Pegel oder auch den Wert der Dampfung durch den Aufnahme-Regler?
Eine Unit, um die Mischer zu manipulieren findest Du Hier: http://www.fi.muni.cz/~xkovalc/index.php.cs.windows-1250?lang=en&section=delphi
Habe ein Derivat der Unit mit Delphi 4.. 2006 Prof. ausprobiert. Funktioniert einwandfrei.
Um den absoluten Eingangspegel zu messen, musst Du allerdings zumindest einmal ein bekanntes Signal anlegen.


Flolo - Mo 20.02.06 18:12

Ne, einfach nur, wie stark das mommentane Eingangssignal ist! Das kann doch nicht so schwer sein? :shock: In jedem Aufnahmeprogramm ist soetwas integriert! :cry:


Antherea - Mo 20.02.06 19:17

also eine Aussteuerungs-Messung? (möglichst verzögerungsfrei?) Dann musst Du den Eingangs-Datenstrom abgreifen (ist nicht ganz trivial) und als Bruchteil von 2^16 darstellen (bei 16 Bit-AD-Wandlung).


digi_c - Mo 20.02.06 19:30

Suche im MSDN WINDOWS MULTIMEDIA SDK

Vielleicht gibt es aber auch schon eine fertige Delphi Komponente (http://www.torry.net) such auf jeden fall erstmal in Ruhe, nichts ist nerviger, als auf dem halben Weg festzustellen, das sich einer die Arebit schonmal gemacht hat :P


Antherea - Di 21.02.06 00:04

Ich mache so etwas ähnliches, allerdings in einem Projekt, bei dem die Signale auf dem Line-in zu Messzwecken benutzt werden, ähnlich einem Oszilloskop. Allerdings ist das kein "Durchschleifen". Eine gleichzeitige Aufnahme des Sounds ist damit nicht möglich. Das Programm beruht auf Routinen die vor mehr als 10 JAhren mal in der Ct standen. Ich errechne aus Extrema den Wert für einen TProgressBar, der dann per Timer gesteuert exponentiell abklingt.


Lossy eX - Di 21.02.06 09:36

Ich habe vor einiger Zeit mal einen VU Meter [http://www.dev-center.de/index.php?cat=projects&file=vumeter] gemacht. Quellen gibts davon auch. Befinden sich unten unter Download.


Flolo - So 26.02.06 20:52

Also ich hab mir dieses VU Meter schon einmal heruntergeladen, und es hat wie heute schon damals nicht funktioniert!


Lossy eX - Mo 27.02.06 12:10

Es funktioniert auch nicht mit allen Karten. Das habe ich auch schon gemerkt. Du brauchst dazu eine Karte bei der du direkt von WaveOut aufnehmen kannst. Oder noch besser "What You Hear". Bei Creative heißt der Eingang so. Damit wird das aufgenommen was man gerade hört. Da das Programm selber nichts ausgibt was man darstellen könnte muss ich mich halt an so etwas halten. Wenn deine Karte so etwas kann musst du diese Kanäle entsprechend auswählen und dafür sorgen, dass die Pegel genügend groß sind.

Diverse OnBoard Chips sind dazu nicht in der Lage. Dann kann ich aber auch nichts dagegen tun. Und andere Programme wohl auch nicht. Außer sie geben direkt etwas aus. Sonst müssten man sich schon in den Treiber hacken.


Tilo - Mo 27.02.06 15:31

Ginge nicht auch eine kopplung des Ausgangsanschluss mit dem Eingangsanschluss über ein Audiokabel? Dann könnte man ein Signal vordefinierter Stärke ausgeben und gleichzeitg das Signal aufnehmen und aus der SignalPegeldifferenz den Einganspegel ermitteln.


Antherea - Mo 27.02.06 18:56

im Prinzip schon, dann sollte noch ein echtes hinreichend breitbandiges Voltmeter oder Oszilliskop eingeschleift sein (Bei Oszilloskop auf Erdungsprobleme achten!)


GTA-Place - Fr 03.03.06 19:47

Schonmal mit der Bass.dll von http://www.un4seen.com/ . Sollte gehen.


Michael Gaedtke - Fr 21.07.06 18:36
Titel: Messen mit der Soundkarte
Zum Thema "Messen mit der Soundkarte" und zur Verwendung der BASS.DLL zu diesem Zweck habe ich ein kleines Tutorial unter http://www.michaelgaedtke.de/BASS-DLL-Tutorial.htm auf meine Homepage gestellt. Vielleicht hilft das für's erste. Good luck!