Hi, ich bin gerade dabei, ein Schwenkstativ für eine Kamera zu bauen. Soweit tut das auch Mechanik und Elektronik sind schon fertig. Nun würde ich gerne 2 bis 3 Mikrofone im Raum verteilen und die Kamera soll dann immer in die Richtung gehen, aus der es am lautesten schallt. Wenn z.B. 3 Leute im Raum sind, soll die Kamera immer zu dem schwenken, der gerade spricht. Vom Prinzip her ist das ja recht einfach. Mikro, AD Wandler und da wo der Höchste Wert her kommt hinschenken. Es soll aber nicht bei jedem kleinen Huster geschwenkt werden sondern erst, wenn so ca. 1 oder 2 Sekunden gesprochen wird. Ich würde dazu gerne einen ATMega nehmen, da der ja genügend A/D Eingänge hat. Die Mikros dann an einen Vorverstärker hin und dann das Audiosignal der Mikros über den A/D-Wadler interpretiert. Damit könnte man z.B. in einer Videokonferenz immer den Sprecher ins Bild holen. Hat sowas schon mal jemand gemacht oder weis jemand wo es weitere Infos dazu gibt? Ich bin über jeden Tipp dankbar. Goggeln hat mich leider nicht arg weiter gebracht. Danke schon mal im Vorraus. Grüße, Bernd
das ist nicht fair...der goesste schreihals(bloedmann)bekommt dann immer die groesste aufmerksamkeit.
umkippvorlachen Na ja....so hab ich es noch nicht gesehen...aber du hast recht. Trotzdem....irgend welche Ideen oder Links wie man sowas realisieren könnte? so long, Bernd
messe doch einfach permanent, und erst wenn eine neue schallquelle mehr als 2 sekunden erschallt, dann positioniere die kamera neu. finde ich aber wirklich keine gute idee.
Mein Vorschlag (geht aber nur mit DSP): Nimm 2 Mikrofone direkt an der Kamera, als Stereo-Mikro. Vergleiche beide Signale auf Laufzeitdifferenzen. Das geht am Besten mit adaptiven Filtern. Das Filter wird Dir einen Peak (oder mehrere) liefern. Die Stelle, an der der Peak ist, kann umgerechnet werden in den Winkel der Schallquelle (ganz grob gesagt). Sprechen mehrere gleichzeitig, sollte es mehrere Peaks geben. Ich habe mal einen Versuchsaufbau mit 2 Mikros gemacht, mit dem konnte man ganz gut den Abstand zweier Mikros erkennen. Stefan
jeder redner bekommt einen taster(code) vor beginn der diskussion wird ein teach-in 'gefahren' damit der motorcontroller weiss (winkel) wohin er fahren soll .... es muss allerdings eine gewisse disziplin eingehalten werden...sonst faehrt sich der motor kaputt.... bei solchen sachen merkt man immer wieder wie intelligent mancher mensch ist!!!!...und wie schwierig es ist nur ein wenig davon in eine maschine zu packen.
Wenn jeder der zu filmenden Leute ein Mikrofon hat, ist das doch recht einfach: jedes Mikrofonsignal überwachen, sobald ein gewisser Geräuschpegel erreicht wird, eine programmierte Position mit der Kamera anfahren. Dazu ist es natürlich wichtig, die Einstellungen des Pan/Tilt-Kopfes zu wissen (Potis und AD-Wandler?). Den Pegel der Mikrofone kann man ja mit je einem AD-Wandler oder sogar mit einem Komperator detektieren, und bei Überschreiten einer Schwelle einen Timer starten. Da hast du mich übrigens auf eine gute Idee gebracht. Ich bin nämlich momentan dabei ein Quasi-Konferenzsystem aufzubauen (Mobilstudio des Offenen Kanal Kiel). Hierzu verwende ich aber fertige Kameras mit Pan/Tilt-Kopf; es sind die EVI-D70P von Sony. Hervoragendes Preis/Leistungsverhältnis. Vorteil dieser Kamera ist, dass sie selbst schon 6 Speicher für verschiedene Positionen besitzt. Die Idee von Stefan finde ich auch interessant. Mit 3 Mikrofonen könnte man neben der Richtung auch noch die Höhe feststellen... Noch eine Idee wäre es, ein Mikrofon mit einem Parabolspiegel auszurüsten und es peroidisch zu schwenken, so dass man aus dem Pegel und dem momentanen Winkel auf die lauteste Stelle im Raum schliessen kann. Bei drei Mikrofonen könnte man auch die Pegel vergleichen, den Durchschnitt berechnen und dann die Kamera in den Bereich des errechneten Maximums schwenken. Sind ein paar Gedanken und Ideen, die mir jetzt so bei dem Thema kamen. Gruß Rahul
@bernd maier: um auf deine frage zurückzukommen: wenn du wirklich ADCs verschwenden willst für sowas primitives, richte deine werte gleich (sprich aus 0..-127 wird 0..+127) und führe dann eine gleitende mittelung über die letzten 5sek durch. wenn der aktuelle mittelungswert einen maximalpegel erreicht kannst du die entsprechende kameraposition anfahren. das ganze lässt sich aber auch analog machen. ist ja nix anderes als gleichrichtung mit nachgeschaltetem tiefpass.
Hallo Bernd, das mit den Mikros wird nie im Leben was. Wenn ich nur an die Reflektionen denke, kann ich mir die Auswertung der Signale nicht vorstellen. Ich würde das so machen: Kleine Kamera mit Fischauge installieren. Software kann dann Köpfe erkennen. Wenn sich der Mund von einem Kopf bewegt, dann spricht der auch. Geht aber auch nur mit einem DSP. Gruß Mattias
Hallo, aus meiner Erfahrung mit Gesangserkennung und Aufzeichnung von Heuschrecken habe ich gelernt, daß das sichere Erkennen und Auschalten der Nebengeräusche das eigentliche Problem darstellt. Ein amplitudenstarkes Nebengeräusch (z.B.Husten)würde eine Kamera zum Schwenken veranlassen. Wird das Geräusch bedämpf oder integriert kommt eine verspätete Schwenkung zustande usw. Das Ganze will gut durchdacht sein. Im Anhang mal eine Methode der Nebengeräuschunterdrückung. Ein Mikro mit Bandpass und Komparator sind die Grundschaltung. Da extrem starke Nebengeräusche auch durch das Filter schlagen und andererseits aber auch leises Sprechen eine Aktion auslösen soll, habe ich eine amplitudenabhängige Komparatorschwelle eingeführt. Die NF nach dem Mikro wird gleichgerichtet und zur Kompschwelle addiert. Je stärker das Geräusch, um so höher die Triggerschwelle. Da das Signal Zeit braucht um durch das Filter zu laufen, ist die Schwellenregulierung immer vorher aktiv. Übrigens, die Heuschrecken benutzen zur Richtungserkennung (aus der der Gesang eines Pertners kommt) tatsächlich die Laufzeitunterschiede an den Hörorganen. MfG Manfred Glahe
hmm, intressantes Problem! Wie wäre es wenn du das ganze mit einem Integrator löst? Du integrierst einfach eine bestimmte Zeit lang das Sprachsignal auf und wenn du einen Schwellenwert überschreitest, dann schwenkst du die Kamera. Denke das sollte nicht allzuschwer zu realisieren sein ,-) hth Joe
@Joe, dann würde folgendes passieren: Ein Redner startet einenen kurzen laut gesprochenen Satz und beendet ihn (oder bricht ihn ab) kurz vor dem Triggerpunkt der Integrationsspannung. Der nächste Redner spricht nun (lückenlos oder mit wenig Zeitverzug)weiter und die Kamera schwenkt auf den vorletzten und damit falschen Redner. Integration funktioniert nicht in diesem Fall, oder ist so kurz zu halten, daß sie nicht mehr wirkungsvoll genug ist. MfG Manfred Glahe
@manfred: es war nicht gemeint, das summensignal aller mikrofone zu integrieren. und integrieren ist sowieso das falsche wort. mittelwertbildung des gleichgerichteten signals.
@Dingens, das ändert doch auch nichts an dem eigentlichen Problem. Irgendwann muß doch entschieden werden (Komparatorschwelle, so wie die bisherigen Vorschläge waren) wann ein Redner angepeilt werden soll. Und diese Entscheidung muß (nach bisheriger Auswertung) mit Schaltschwellen und Mikrofonamplituden ,die extrem eng zusammenliegen können, gefällt werden. Das ist schwer zu lösen. Eine funktionierende Schaltung dafür hätte ich jetzt auch nicht parad. MfG Manfred Glahe
Sowas habe ich damals mal in einer Studienarbeit gemacht, allerdings auf einem Sharc-DSP. Du nimmst zwei Mikrofone und zeichnest beide Signale auf (meinentwegen in Sample-Längen von 512). Dann bildest du die Kreuzkorrelationsfunktion zwischen beiden Signales. Nach Wiener-Khitchine und Konsorten ;-) ist der Sprecher dann genau dort, wo sich der (Pseudo-)Diracstoß in deiner KKF befindet. (Musst du natürlich noch passend umrechnen). Das klappt wegen der KKF-Bildung sogar extrem gut und ist sehr rauschunempfindlich.
Hi alle zusammen, vielen Dank für die vielen Ideen und Vorschläge. Allerdings geht da vieles über mein Elektronikverständniss hinaus. Es soll keine perfekte Lösung sein. Das Sprichwort "Mit 20% Aufwand 80% des Ziels erreichen" würde hier schon reichen. Ich denke ich werde einfach mal versuchen, 2 Mikros (mit Verstärker) an einen ATMega an zu schließen und dann mittels AD-Wandlung und Amplitudenauswertung was hin zu bekommen. Wenn hier allerdings jemand eine gute Lösung mit einem DSP oder ähnlichem hat und damit 4 Mikros anpeilen kann, dann wäre ich sehr daran Interesiert. Hier könnte man dann auch über ein Honorar sprechen. Danke nochmals für die Ideen.... so long, Bernd
Ein solches Problem lässt sich mit einem neuronalen Netz lösen. Ich bezweifle allerdings, dass es ohne Vorkenntnisse leichter als mit herkömmlichen Ansätzen zu erledigen ist.
In der Hardware muss man aber sauber differenzieren: Will man zwei parallele Mikrofone verwenden, so ist das Problem mehrdeutig. Die Anordnung kann nicht zwischen einem Redner vor und hinter ihr unterscheiden. Der bessere Ansatz ist die Verwendung zweier antiparalleler Mikrofone; aus deren Signal lässt sich die Position eindeutig herausrechnen, allerding funktioniert dann eine einfache Kreuzkorrelation nicht mehr.
[QUOTE] Autor: Sebastian (Gast) Datum: 30.04.2004 15:18 Sowas habe ich damals mal in einer Studienarbeit gemacht, allerdings auf... [/QUOTE] Das ist genau das was ich brauche. Hat hier irgendwer eine Ahnung, wer das geschrieben hat? Wenn ja, dann möchte ich nämlich gerne mit ihm in Kontakt treten.
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.