Richtungsdetektierung Schall

Gast #6812363
Lesenswert?

Hallo Leute,

ich möchte 4 Silizium-Mikrofone mit einem 4-Channel PDM-to-TDM converter 
IC an einen STM32F7 anbinden.
Das Audio geht dann über 4 Kanal TDM da rein.

Ich wollte die 4 Mikrofone in einem Quadrat anordnen und darüber eine 
Richtungsdetektierung des Schalls machen (also Winkel berechnen).

Wisst Ihr ob es da irgendwo fertige Projekte gibt, die man nutzen kann?

Danke
Gast #6816608
Lesenswert?

Ja, hier liegen 2 Projekte rum. Bestellt und nicht abgeholt. Einer hat 
es dann selber gemacht und eine andere Firma hat ein Ingenieurbüro zur 
Fertigstellung beauftragt.

In keinem der beiden Fälle kam es produktionsfähiges bei raus!

Die option A bezieht sich auf die Lokalisation einer entfernten 
Schallquelle mit Zeitmessung und Abstandsermittlung, also eine Art 
akustisches Radar. Funktioniert im vorderen Halbraum. Für einen Vollraum 
braucht es mindestens 2 Anordnungen -> 6 Mikros.

Die option B bezieht sich auf die Verfolgung eines Objekts im 
Nahbereich. Die Person vor dem Mikro-Array wird verfolgt und getrackt. 
Die Signalverarbeitung wird auf diese Position optimiert und seine 
Sprache extrahiert. Ferner wird seine Position ausgegeben. Funktioniert 
im vorderen Viertelraum und braucht 6 Mikro.

Im dritten Schritt sollte erkannt werden, wer es ist. Das haben wir dann 
nicht mehr gemacht.

Für beide gibt es Prototypenaufbauten, die funktionieren und in 
Registern die per Microcontroller auslesbaren Daten zur Verfügung 
stehen.
Gast #6816615
Lesenswert?

Schau mal wie die Amis (Militär) das machen, vielleicht hilft dir das 
auch weiter. Sofern man dazu etwas findet.

Die haben wohl so Systeme, die Waffen vollautomatisch auf Angreifer 
ausrichten können. Geht also sehr genau.
Gast #6816793
Lesenswert?

egal schrieb:
> Wisst Ihr ob es da irgendwo fertige Projekte gibt, die man nutzen kann?

GPS - die Rolle von Sendern/Empfänger ist dort vertauscht und das 
Problem mit dem Äther gibt es dabei nicht. Beim Schall kannst du 
allerdings von homogener Ausbreitungsgeschwindigkeit ausgehen, was bei 
GPS nur bedingt der Fall ist.
Gast #6816969
Lesenswert?

egal schrieb:
> ich möchte 4 Silizium-Mikrofone mit einem 4-Channel PDM-to-TDM converter
> IC an einen STM32F7 anbinden.
> Das Audio geht dann über 4 Kanal TDM da rein.

Warum über zusätzlichen Converter? Der F7 kann 4 PDM Mikros direkt 
anbinden, der H7 sogar 8.
Gast #6851858
Lesenswert?

@Manfred: Danke für den Link!

Als mich im Sommer im Schlafzimmer öfters Stechmucken geplagt haben, 
dacht ich mir, man müsste sie über das Summen relativ gut orten können. 
Wenn ein Strahler dann dem Insekt folgt, könnte man es händisch leicht 
wegfangen. Vielleicht mag das jemand umsetzen :)
Gast #6852531
Lesenswert?

Wenn die Mücke fliegt, kannst du sie auch mit den Augen verfolgen und 
fangen. Gfs mit einem Staubsauger. Alternative die elektrischen 
Fliegenklatschen. Muss man nur dort schnell hin und herwedeln, wo man 
das Vieh gerade noch gesehen hat. Sind ja nicht so dolle schnell …
Gast #6903729
Lesenswert?

Servus,

ich spiel auch gerade mit sowas rum...hab mir dafür das 4-mic array von 
seedstudio für den Pi besorgt:
https://wiki.seeedstudio.com/ReSpeaker_4_Mic_Array_for_Raspberry_Pi/

Dafür findet man auch einige python Programme, auch mit voice detection 
oder hotword detection:
https://github.com/respeaker/mic_array

sehr geiles Programm, kann das Ganze in 3D (nur leider braucht man dazu 
dieses odas studio zur visu):
https://github.com/introlab/odas

Gruß
Gast #6903740
Lesenswert?

Hier mal ein von mir selbst erstelltes Programm, allerdings bin ich am 
zweifeln, ob die berechneten Werte so richtig sind.

Ich bekomme bei den x-Werten zum Teil Unterschiede von einigen Metern, 
bei einem Quellenabstand von vll. 1m...das kann doch nicht passen?!

Vll. hat ja jemand einen Tipp, oder erkennt den Fehler?
1
import time
2
import numpy as np
3
from scipy import signal as sgn
4
from scipy.ndimage.interpolation import shift
5
import scipy
6
import pyaudio
7
import math
8

9

10
M = 343.2 # Schallgeschwindigkeit
11
mic_dist = 0.058 # Mikrofonabstand
12

13
mic_arr = [[0.0, 0.0],
14
           [mic_dist, 0.0],
15
           [mic_dist, mic_dist],
16
           [0.0, mic_dist]]
17

18

19
FORMAT = pyaudio.paInt16
20
CHUNK = 1024
21
CHANNELS = 4
22
RATE = 44100
23

24
Threshold = 30
25

26
audio = pyaudio.PyAudio()
27

28
#### find 4-mic audio divice ####
29
device_index = None
30
for i in range(audio.get_device_count()):
31
    dev = audio.get_device_info_by_index(i)
32
    name = dev['name'].encode('utf-8')
33
    print(i, name, dev['maxInputChannels'], dev['maxOutputChannels'])
34
    if dev['maxInputChannels'] == CHANNELS:
35
        print('Use {}'.format(name))
36
        device_index = i
37
        break
38

39
if device_index is None:
40
    raise Exception('can not find input device with {} channel(s)'.format(channels))
41
#################################
42

43
# audio-stream start:
44
stream = audio.open(
45
    format = pyaudio.paInt16,
46
    channels = CHANNELS,
47
    rate = RATE,
48
    input_device_index = device_index,
49
    output = False,
50
    input = True,
51
    frames_per_buffer=CHUNK)
52

53
def ping()
54
    
55

56

57
def listen():
58
    while True:
59
        data = stream.read(CHUNK)
60
        data_array = np.frombuffer(data, dtype='int16')
61
        signal1 = data_array[0::CHANNELS]
62

63
        ### RMS Pegel ###
64
        square = np.sum((signal1 * signal1))
65
        mean = square / CHUNK
66
        if mean < 1:
67
            mean = 1
68
        rms = math.sqrt(int(mean))
69
        #print(rms)
70
        #################
71
        if rms < Threshold:
72
            ssl(data_array)
73

74

75
def ssl(data_array):
76
    while True:
77
        #data = stream.read(CHUNK)
78
        #data_array = np.frombuffer(data, dtype='int16')
79

80
        signal1 = data_array[0::CHANNELS]
81
        signal2 = data_array[1::CHANNELS]
82
        signal3 = data_array[2::CHANNELS]
83
        signal4 = data_array[3::CHANNELS]
84

85
        # Cross-Correlation:
86
        #cc11 = sgn.correlate(signal1, signal1, mode = 'full')
87
        cc12 = sgn.correlate(signal1, signal2, mode = 'full')
88
        cc13 = sgn.correlate(signal1, signal3, mode = 'full')
89
        cc14 = sgn.correlate(signal1, signal4, mode = 'full')
90

91
        # maximum:
92
        mcc12 = np.argmax(cc12)
93
        mcc13 = np.argmax(cc13)
94
        mcc14 = np.argmax(cc14)
95

96

97
        # time difference:
98
        #t11 = mcc11 / RATE
99
        t12 = mcc12 / RATE
100
        t13 = mcc13 / RATE
101
        t14 = mcc14 / RATE
102

103
        # delta-Abstand
104
        x12 = M * t12
105
        x13 = M * t13
106
        x14 = M * t14
107

108
        print(t12, t13, t14)
109

110
        ### beamforming ###
111
        # signale shiften:
112
        bf1 = signal1
113
        bf2 = shift(signal2, mcc12, cval=0)
114
        bf3 = shift(signal3, mcc13, cval=0)
115
        bf4 = shift(signal4, mcc14, cval=0)
116

117
        # signale summieren:
118
        audio_bf = bf1 + bf2 + bf3 + bf4
119

120
        ###################
121

122
        break
123

124
listen()
125
#ssl()
#6970902
Lesenswert?

https://dam-assets.fluke.com/s3fs-public/flk-6012097d-de-naam-ii900-ii910-ds-w_0.pdf?WP1Vquw5QxhvaaBtgFou9J1xUpF_Qwzp
gerade gelesen, Ultraschall von Gaslecks mit MEMS-Mikrofonen orten, 
Anzeige auf Bildschirm.
kleineres Modell 17500€, das größere 21000€ ohne MwSt.
leider noch nichts für den Hausgebrauch, aber das Video sieht 
beeindruckend aus.
vielleicht wirds mal billiger wie die Wärmebildkameras.

Taugt vielleicht auch zur Fledermausbeobachtung.

Gerade gesehen, dasselbe hatte uwe oben schon verlinkt

Im neuen Raspberry Pi Geek ist ein Artikel hierzu
https://wiki.seeedstudio.com/ReSpeaker/
2-6 Mikrofone für den Raspi. Dazu gibt es ein Softwareprojekt ODAS (open 
embedded audition system) und eine GUI dazu. Auf seed verlinkt.
Das dazu benötigte aktuelle "Node.js" sei noch nicht in den Raspi 
Paketquellen enthalten, man muss danach suchen.
https://wiki.seeedstudio.com/ReSpeaker_4_Mic_Array_for_Raspberry_Pi/
Gast #6971188
Lesenswert?

Christoph db1uq K. schrieb:
> Ultraschall von Gaslecks mit MEMS-Mikrofonen orten,
> Anzeige auf Bildschirm.
Das dürfte so aber nur in der Nahdistanz funktionieren und für die 
Anwendung des TO nicht tauglich sein.

depp schrieb:
> audio_bf = bf1 + bf2 + bf3 + bf4
Könntest du das mal erläutern, was du da machst?
Ich vermisse eine Triangulation in dem Code, ich nehme an, dass sich das 
im BF-Teil verbrigt.
#6972198
Lesenswert?

Dr. Hardware schrieb:
> depp schrieb:
>
>> audio_bf = bf1 + bf2 + bf3 + bf4
>
> Könntest du das mal erläutern, was du da machst?
> Ich vermisse eine Triangulation in dem Code, ich nehme an, dass sich das
> im BF-Teil verbrigt.

Die bf1, bf2, ... Werte sind die zeitlich angeglichenen Signale der 4 
Mikrofone, welche dann addiert werden, um die signalstärke letztendlich 
zu erhöhen...aber Du hast es richtig erkannt, irgendwas fehlt noch oder 
ist nicht ganz richtig.
Mit der sgn.correlate Funktion und der darauffolgenden np.argmax wird ja 
die signalverschiebung berechnet und damit dann die zeitliche differenz 
und über die schallgeschwindigkeit dann der delta Abstand:
1
        # time difference:
2
        #t11 = mcc11 / RATE
3
        t12 = mcc12 / RATE
4
        t13 = mcc13 / RATE
5
        t14 = mcc14 / RATE
6
        # delta-Abstand
7
        x12 = M * t12
8
        x13 = M * t13
9
        x14 = M * t14

Und hier liegt irgendwo der Hund begraben...beim delta abstand kommt nur 
schmarrn raus. Die triangulation würde dann aus dem delta abstand 
berechnet, aber soweit bin ich noch nicht.
Persönliche Seite #6974279
Lesenswert?

Bei einer derartigen Abstandsberechung spielt die Qualität der Signale 
und deren Varianz eine wichtige Rolle. Die Omnidirektionalität der 
MEMS-Mikros ist nämlich leider nicht perfekt. Es gibt u.a. durch die 
Verbauung immer spektrale Effekte und damit ein Problem, den Trigger 
qualitativ genau zu erfassen und die relative TOA exakt zu messen.

Hermann S. schrieb:
> Die triangulation würde dann aus dem delta abstand
> berechnet,
Bei solchen Aufgaben ist auch noch zu berücksichtigen, dass man eine 
gute T nur hinbekommt, wenn man ein überbestimmtes Gleichungssystem 
benutzt und mehre Kreise berechnet.

Gut funktioniert es, wenn man den Frequenzbereich überstreicht, also 
einen Chirp emitiert. Weniger gut ist es bei der Autokorrelation 
unbekannter Signale. Geht aber auch mit Musik hinreichend genau:

http://www.96khz.org/oldpages/soundsourcelocalisation.htm

Zum beamforming noch das: Richtungsselektivität durch Berechnung:
http://www.96khz.org/oldpages/cardioidemulationdecca.htm
#6974417
Lesenswert?

Jürgen S. schrieb:
> Bei einer derartigen Abstandsberechung spielt die Qualität der Signale
> und deren Varianz eine wichtige Rolle. Die Omnidirektionalität der
> MEMS-Mikros ist nämlich leider nicht perfekt. Es gibt u.a. durch die
> Verbauung immer spektrale Effekte und damit ein Problem, den Trigger
> qualitativ genau zu erfassen und die relative TOA exakt zu messen.

Ja ich denke die Signalqualität ist vll. nicht perfekt, bzw. hab ich es 
bisher nur in meinem Zimmer ausprobiert, wo es natürlich auch einiges an 
Reflexionen gibt, vll. liegts daran. Hab aber bis jetzt keine Audio lib 
gefunden, mit der man die Signale entsprechend filtern kann, welche auch 
auf dem RPi läuft, z. B. Acoular.

> Hermann S. schrieb:
>> Die triangulation würde dann aus dem delta abstand
>> berechnet,
> Bei solchen Aufgaben ist auch noch zu berücksichtigen, dass man eine
> gute T nur hinbekommt, wenn man ein überbestimmtes Gleichungssystem
> benutzt und mehre Kreise berechnet.

Kannst Du das vll. etwas näher erklären?


> Zum beamforming noch das: Richtungsselektivität durch Berechnung:
> http://www.96khz.org/oldpages/cardioidemulationdecca.htm

Leider etwas wenig beschrieben...was ist A, B, X, Y ? Abstände zu was?
Persönliche Seite #6982140
Lesenswert?

Hermann S. schrieb:
> Leider etwas wenig beschrieben...was ist A, B, X, Y ?
Ok, das ist jetzt gfs etwas zuviel Tontechnik im Detail. Die Abstände 
beziehen sich auf die jeweiligen Mikrofonachsen in Relation zum Objekt. 
Maßgeblich ist dabei auch der Abstand der beteiligten Mikrofone 
untereinander. Diese definieren über ihre Parameter das sognannte 
Polarpattern, also das Empfindlichkeitsmuster, das angibt, aus welchem 
Winkel wie sensitiv aufgenommen wird. Theoretisch lässt sich das in 
einfacher Form ohne Frequenzgang mit den Parametern A und B beschreiben, 
wie sie auch hier zu finden sind:
http://www.sengpielaudio.com/FormelnZumPolardiagramm.pdf

Wolfgang schrieb:
> Hermann S. schrieb:
>> Kannst Du das vll. etwas näher erklären?
> Es gibt mehr Daten, als man für eine eindeutige Lösung benötigt.
So ist es. Siehe "überbestimmtes Gleichungssystem". GPS nutzt das auch. 
Beim Schall sucht man sich die am Besten ausgesteuerten Mikrofone 
heraus, verwirft die übersteuerten und zieht auch vorzugsweise die 
heran, die gleichmäßig ausgesteuert sind, etc.

Wolfgang schrieb:
> Jede Phase-Array-Antenne macht das so, z.B. im 5G Mobilfunknetz.
So ist es, wobei es beim Schall mitunter etwas problematischer ist, 
wegen der zahlreichen Reflektionen, die mit anderem Spektrum daher 
kommen. Im Gegensatz zur Antenne, die ich auf eine Frequenz optimieren 
kann, ist das Spektrum beim Schall etliche Oktaven und es ist nicht so 
genau bekannt, was reinkommen wird. Die Autokorrelation wird 
anspruchsvoller (habe beides schon gemacht, z.b. bei UMTS).

Was bei Schall immer das unterschätzte Dauerproblem ist: Die 
Mikrofonrichtungsempfindlichkeit. Auch Kugelmikrofone haben eine starke 
Präferenz für Höhen auf der Hauptachse und damit wird eine einfache 
Triangulation nur für Bässe möglich, was wiederum phasenabhängige 
Probleme macht, da d/dt gering. Für die Höhen, wo das steiler ist, 
weicht das Signal bei dem Mikro, das dem Schall weniger gut zugewandt 
ist, mehr ab. Das muss berücksichtigt werden.
#6984993
Lesenswert?

egal schrieb:
> Ich wollte die 4 Mikrofone in einem Quadrat anordnen und darüber eine
> Richtungsdetektierung des Schalls machen (also Winkel berechnen).

Eine quadratische Anordnung gibt dir keine eindeutige Antwort, weil die 
Zeitdifferenzen von Quellen, die sich oberhalb und unterhalb der 
quadratischen Fläche befinden, gleich sind.

Versuchs mal mit einer tetraedrischen Anordnung.

Im übrigen kann man damit nicht nur die Richtung, sondern auch den 
genauen Ort der Quelle ermitteln.
Solche Verfahren sind schon sehr sehr lange unter dem Begriff 
Hyperbelnavigation bekannt. Auch GPS gehört dazu.
Gast #7731472
Lesenswert?

Chris K. schrieb:

Wird bei denen schon verwendet.

Die detektieren aber nicht die Schallquellenposition, des Schützen sondern registrieren den Aufschlag des Projektils im Ziel. Das ist ein bischen was anderes. Sofern es nicht der Schall des Auftreffens ist, der entsteht, wenn das Projektil tritt, ist es die Machwelle.

Persönliche Seite #7732721
Lesenswert?

S. R. schrieb:

ist das dieses Navigationssystem?

Das ist ja schräg - kannte ich noch garnicht!

Als Antwort: Ja und Nein: Die Lokalisation der Musiker und Schauspieler, die ich damals betrieben hatte, ist rein zufällig mit einem DECCA-Tree geschehen, weil dieses Aufnahmesystem eben im Bereich der Orchestermusik sehr weit verbreitet ist und da verwendet wurde, als ich die Idee mit dem Tracken hatte. Im Prinzip geht es auch mit einem AB-Mikro oder XY. Aufgrund der Anordnung der Mikrofone fand ich die Idee, sie zur vollständigen Triangulation zu nutzen, halt irgendwie naheliegend, wobei das außer mir - zumindest damals - bisher noch keiner gemacht hatte. Auch heute ist mir nicht bekannt, dass das jemand macht.

Die gelinkte DECCA-Navigation hat damit nichts zu tun. Ist wohl rein Funkwellenanwendungen. Wie man lesen kann, scheint sie aber lustigerweise von einer Tochter eben jener DECCA-Plattenfirma entwickelt worden zu sein, welche die Tonaufaufnahme machte und dem System den Namen gab. Die nehmen aber, soweit ich das sehe, nicht den Tontechnikbaum. Es scheint sich auch nur auf Funkwellennaviagtion zu beziehen. Irgendeinen praktischen Zusammenhang zur Tontechnik und Schallwellen muss es aber geben, wenn Ablager einer Plattenfirma plötzlich Ortungsysteme entwickeln.

Jedenfalls danke für den link!

#7735557
Lesenswert?

J. S. schrieb:

Im Prinzip geht es auch mit einem AB-Mikro oder XY.

Wir haben ja auch nur 2 Ohren und können damit ganz gut orten. In einem Keyboards-Heft gab es mal Demo-Cds, da konnte man Kopfhörer aufsetzen, und tatsächlich verschiedene präsentierte "3D" Effekte hören. Steckt vielleicht auch viel Arbeit dahinter - auf jeden Fall muss umgekehrte Ortung auch möglich sein.

Steckmücken orientieren sich an der Atemluft und wenn sie einem aus dem Schlaf wecken, dann braucht man meist nur an der Wand entlangsehen, oder an der Decke. Wenn man sitzt, können die auch am Stuhlbein hocken. Recht sicher ist das Einfangen mit einem Trink-Glas (auch bei Bienen und Wespen etc.) und wenn man Kontaktspray parat hat.. Noch besser sind aber Fliegengitter vor den Fenstern.

Persönliche Seite #7735607
Lesenswert?

Rbx schrieb:

Wir haben ja auch nur 2 Ohren und können damit ganz gut orten.

Ja, wobei das schon einiges an Signalverarbeitung im Hirn erfordert: Die Ohrmuschel fügt dem eintreffenden Schall richtungsabhängig einige Echos hinzu, die vorn/hinten und oben/unten unterscheidbar machen. Da muss das Hirn in den ersten Lebensmonaten und -jahren richtig viel dekodieren lernen. Um das mit Software zu machen, muss man auch ordentlich rechnen.

Es gibt Anordnungen mit denen das möglich ist, allerdings sind mehrere Mikros, die die Winkel abdecken, einfach eleganter und simpler zu prozessieren.

In einem Keyboards-Heft gab es mal Demo-Cds, da konnte man Kopfhörer aufsetzen, und tatsächlich verschiedene präsentierte "3D" Effekte hören.

Binaurales Hören kam so Ende der 1970er auf und war bis in die 1990er noch vereinzelt zu hören. Ich selber habe damit Aufnahmen gemacht und auch CDs produziert - u.a. gab es immer mal eine Spur auf CDs mit Chören.

Es ist nur in der Qualität begrenzt, weil jedes Ohr individuell ist und damit das Hirn andere Echos erwartet. Hinzu kommt auch noch, dass in der Realität einige Schallanteile auch durch den Schädel kommen und mitgerechnet werden. Diese fehlen bei den Aufnahmen, bzw sind falsch.

Das Hauptproblem ist dass ein Kopfhörer den Schall auch nur wieder auf der Achse abstrahlt und damit nicht das Schallbild ans Ohr gelangt, das eigentlich benötigt wird.

Daher hat sich das nie so richtig etablieren können.

Ähnliches gilt für künstlich addierte Reflektionen mit Software als Plugin in DAWs oder ein Form von Signalprozessoren, die Räumlichkeit und Richtung erzeugen sollen. Bisweilen klappt das mit 3D-Prozessoren an HIFI-Systemen ganz gut, wo der Schall scheinbar von hinten kommt, obwohl da gar keine Lautsprecher stehen. Mein AIWA von 1998 konnte das.

... und einige Synthesizer behaupten, binaurales Stereo zu prozessieren. Scheint also wieder in Mode zu kommen. Da muss ich dann wohl mal meinen alten DSP-Code aus der Kiste holen ....

Praktisch sieht es so aus, dass dadurch ein Haufen Sondereffekte entstehen, die z.T. unkontrollierbar sind, besonders wenn man man das dann ohne Kopfhörer hört. Besonders eindrucksvoll fand ich immer den Reverb vom Virus, der über Lausprecher sehr weit klang, über Kopfhörer aber irgendwie immer von hinten kam.

Vieles ist auch Zufall: Meine normales Stereosignal aus dem Fernseher reflektiert so komisch an den Wänden, dass manchmal sehr phasenversetzte Signale, wie die Zuschauergeräusche beim Fussball, von weit außen zu kommen scheinen. Klappt aber nur rechts, wegen des unsymmetrischen Raumes nehme ich an.

#7745574
Lesenswert?

J. S. schrieb:

und einige Synthesizer behaupten, binaurales Stereo zu prozessieren. Scheint also wieder in Mode zu kommen. Da muss ich dann wohl mal meinen alten DSP-Code aus der Kiste holen ....

Ich fände 3D-Sounds in Computerspielen toll. Habe aber keine Ahnung, wie man das Implementieren könnte. Theoretisch ginge das wohl, dann müsste man aber einen Modulator für die Sounds haben, der sowas aufbereitet. Also beispielsweise alle Sounds als Doppel - oder Mehrfach-Spur (+elendig viel Speicher) - oder on the fly duplizieren, modulieren usw. Die Modulation selber könnte man zumindest teilweise in den Einstellungen anbieten, .. naja, schön wäre es, aber mir macht sowas ziemlich viel Spaß, also das Lauschen auf Ortung. Teilweise geht es wohl, wegen der Entfernungsmodulation. Wäre aber noch schöner, wenn es wirklich gut ginge. Oder eben Jagdschein machen, und das Wild jahrelang in der Kühltruhe verrotten lassen.

#7745579
Lesenswert?

Rbx schrieb:

Ich fände 3D-Sounds in Computerspielen toll. Habe aber keine Ahnung, wie man das Implementieren könnte.

Das Stichwort ist HRTF, dafür gibt es fertige Lösungen, z.B. Dolby Headphone.

Ziemlich gutes Beispiel für HRTF-Audio, produziert von QSound Labs: https://www.youtube.com/watch?v=IUDTlvagjJA

Dolby Headphone, erzeugt aus DTS 5.1-Ton: https://www.youtube.com/watch?v=kFzcNuGiEKE

(Firma: CAD- und CAE-Konstruktion) #7745816
Lesenswert?

Rbx schrieb:

Wäre aber noch schöner, wenn es wirklich gut ginge. Oder eben Jagdschein machen, und das Wild jahrelang in der Kühltruhe verrotten lassen.

Falscher thread?

Gunnar F. schrieb:

Ja. Nein. Einfach mal nachdenken.

Danke für diesen erhellenden Beitrag.

Mein Gedanke geht dahin, dass das Telefon richtungsempfindlich ist, beim Hineinsprechen. Durch Schwenken müsste es möglich sein, die Quelle zu orten.

#7746205
Lesenswert?

Kai D. schrieb:

Mein Gedanke geht dahin, dass das Telefon richtungsempfindlich ist, beim Hineinsprechen. Durch Schwenken müsste es möglich sein, die Quelle zu orten.

Leg dein Smartie lieber mal in einen kleinen Eimer (leerer Abfalleimer oder so) hinein, und dann frag mal von da aus was dein Gegenüber am anderen Telefon hört.

#7746301
Lesenswert?

Kai D. schrieb:

Mein Gedanke geht dahin, dass das Telefon richtungsempfindlich ist, beim Hineinsprechen. Durch Schwenken müsste es möglich sein, die Quelle zu orten.

Klar, das ist natürlich im Grundsatz richtig. Aber das Mikrofon dürfte eine Kugelcharakteristk haben, da kannst Du am Ende raten, wo der Schall NICHT her kommt. Mein Verständnis von Orten wäre anders. Handy-Mikros sind dafür gemacht, Sprache aufzunehmen. Sprache mit eher hohem Pegel.

Persönliche Seite #7746365
Lesenswert?

Gunnar F. schrieb:

Klar, das ist natürlich im Grundsatz richtig. Aber das Mikrofon dürfte eine Kugelcharakteristk haben,

Das haben die - mehr oder weniger. Da hat allerdings sofort seine Grenzen, wenn es irgendwo vertieft eingebaut ist. Dann entsteht einen Schalltrichter, der eine Amplitudenabhängigkeit von der Achse macht und auch noch einen Kammfilter generiert. Eine gewisse Abhängigkeit ist da definitiv gegeben.

Um damit aver einen schwenkbaren Sucher zu machen, müsste sicher noch ein richtiger Trichter drauf. Am Besten einen Parabolreflektor.

Bernd S. schrieb:

Such mal nach dem Stichwort "Beamforming"

So in etwa. Braucht aber mindestens 2 Mikros. Mir ist kein Smartfone bekannt, dass ein Stereomikro hätte. Wäre allerdings leicht verbaubar, z.B. als XY. Für phasendetektion ist das Smartphone zu klein. Die Mikros sässen zu eng. Mit einem tablet von 30cm wiederum ginge das.

Kai D. schrieb:

smart phone app gibt, die eine Schallrichtung erkennen kann?

Zusammen mit einem externen Stereomikro geht das mit jeder Audio-APP, die ein Goniometer intus hat. Man stellt die Schallrichtung auf Mono und orientiert das Mikro so, dass die Interferenz minimal wird. Das ginge damit auch rein optisch ohne Signalverarbeitung.

Persönliche Seite #7746370
Lesenswert?

Hmmm schrieb:

Das Stichwort ist HRTF, dafür gibt es fertige Lösungen, z.B. Dolby Headphone.

Das war ja mal der Riesenschrei, hat sich aber nicht durchgesetzt. 3D Audio über Kopfhörer ist immer stark reduziert, u.a. da die benötigten Signal an das individuelle Ohr des Hörenden angepast sein müssten, was ja nicht geht.

Die meisten DAWs können soetwas produzieren. Es braucht aber immer einen mehrkanaligen Input, d.h. die Spiele müssten das bereitstellen.

Wenn man das aber hat, geht man besser über eine 7:1 Soundkarte raus und stellt Lautsprecher. Meine billige Soundblaster im Mix-PC von 2012 hatte das bereits drin. Die spätere "Z" kann das sogar auch mischen, glaube ich - ich nutze es aber nicht.

3D über Kopfhörer klappt bei Vielen nicht richtig, vor allem wenn sie asymmetrische Ohren / Gehörgänge haben, die Ohrmuscheln nicht der Durchschnittsform entsprechen, die man beim Erzeugen annimmt und auch wenn der Schädel stark vom Durchschnitt abweicht, weil man auch Schädelresonanzen und darüber eindringende Signalanteile hat, die das Gehirn verarbeitet.

Bei künstlich gemischten Signalen stimmt das alles nicht so richtig.

#7746459
Lesenswert?

J. S. schrieb:

Das war ja mal der Riesenschrei, hat sich aber nicht durchgesetzt.

Das kann jede etwas bessere Soundkarte. Die wird dann vom System als 5.1-Karte erkannt, und der Treiber macht daraus bei passender Konfiguration HRTF-Ton.

Manche Spiele haben auch eine Option, um selbst HRTF-Stereoton zu erzeugen.

J. S. schrieb:

3D Audio über Kopfhörer ist immer stark reduziert, u.a. da die benötigten Signal an das individuelle Ohr des Hörenden angepast sein müssten, was ja nicht geht.

Vielleicht sind meine Ohren recht standardkonform, aber meine Erfahrungen damit sind positiv. Ansonsten gibt es tatsächlich auch "Personalized HRTF", meistens wird dafür Bildmaterial von den Ohren verwendet:

https://www.genelec.com/aural-id

J. S. schrieb:

Es braucht aber immer einen mehrkanaligen Input, d.h. die Spiele müssten das bereitstellen.

Ist Bestandteil von DirectX.

J. S. schrieb:

Wenn man das aber hat, geht man besser über eine 7:1 Soundkarte raus und stellt Lautsprecher.

Es ist bei Multiplayer-Spielen bloss unpraktisch, wenn der eigene Ton ins Mikrofon plärrt.

#7746470
Lesenswert?

Hmmm schrieb:

Es ist bei Multiplayer-Spielen bloss unpraktisch, wenn der eigene Ton ins Mikrofon plärrt.

Lästige Rückkopplung ist ja auch immer so eine Sache. Ich hatte spannenderweise das hier gefunden: https://github.com/HungryDoctor/x3daudio1_7_hrtf

Jetzt bin ich mir nicht ganz sicher, ob das auch bei Linux/Wine funktioniert. Der Sound (bei Skyrim) ist ja schon ein Wackelkandidat.

  • auf jedenfall gibt es ein Video zum Anhören - und das finde ich eigentlich sehr gut. Es ist ja auch so, dass sich die Ohren, bzw. das Ding dazwischen, sich ganz gut anpassen können. Das heißt, ein besseres Urteil hat man vielleicht, wenn man 1 Woche Testing durch hat. Das ist, na, besser ich denke, das müsste ganz ähnlich sein, wie beim Sehen (man sieht ja meistens mehr, wenn man öfter hinsieht) oder beim Lernen von neuen Fremdwörtern bei einem Thema. Während letzteres noch ganz gut nachvollziehbar ist, ist so ein förmlicher Geistermoment des Unbewussten eher weniger gut zu erklären. -> es ist gut, wenn man auch hinhören will, im Sinne von Mustererkennung, die mit der Zeit besser wird. Kann man nicht so gut erklären, wie das mit den neuen Fremdwörtern - jedenfalls hilft die Übung und der gute Wille. (Außerdem (wenn es funktioniert) viel besser als gar nichts in dieser "Richtung") ;)
Persönliche Seite #7746530
Lesenswert?

Hmmm schrieb:

J. S. schrieb:

Es braucht aber immer einen mehrkanaligen Input, d.h. die Spiele müssten das bereitstellen.

Ist Bestandteil von DirectX.

Klar, aber wie gesagt, müssten es die Spiele auch nutzen und das Verrechnen zu einem 2-kanal-Ton ist schon bei Dolby eine massive Reduktion.

Ich habe die Thematik ja in jeder zweiten Tonproduktion vor Augen. Animationen werden ja auch schon lange mit Mehrkanalton gefahren, d.h. die Klangquellen tönen von dem Ort, wo sie stehen und die bewegte Kamera dient als Mikrofonposition. Das ist ein gewaltiger Unterschied ob man daraus ein 7.1 macht oder auf Kopfhörersignal umrechnen lässt.

Kein Vergleich. Eine ganze Reihe von Tonaufzeichnungssystemem und Mikrofonsystemem sind für HRTF- nicht nutzbar, weil deren Information völlig verfälscht wird. Daher muss man Stereo anders aufnehmen, als Surround und dies wiederum abgegrenzt von binaurelm Stereo. Mit Besten geht da immer noch mit einem Kunstkopf parallel zum anderen Stereosystem.

Wenn man das aber hat, geht man besser über eine 7:1 Soundkarte raus und stellt Lautsprecher.

Es ist bei Multiplayer-Spielen bloss unpraktisch, wenn der eigene Ton ins Mikrofon plärrt.

Das ist ein Argument. Die Frage wäre dann, ob dann jeder Spieler auch seinen eigenen Surround bekommt - er hat ja eine andere Posision.

#7746684
Lesenswert?

J. S. schrieb:

Das ist ein Argument. Die Frage wäre dann, ob dann jeder Spieler auch seinen eigenen Surround bekommt - er hat ja eine andere Posision.

Wobei beim Multiplayer ganz andere Sachen im Vordergrund stehen, als wenn man offline in die virtuelle Welt lauschen möchte. Aber es gibt ja auch PVP-Szenarien, wo sowas dann wieder wichtig ist. Das könnte man zumindest ähnlich wie Teamspeak als Vorraussetzung organisieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren