• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Noise Canceling App - möglich?

chris90

Welscher Taubenapfel
Registriert
10.08.08
Beiträge
772
ich habe in den letzten Tagen ein wenig mit Noise Canceling, also der Auslöschung von Schallwellen mittels Überlagerung, gespielt und mich dabei gefragt, ob man nicht eine App schreiben könnte, die folgendes macht:

1) mittels der "AVAudioRecorder class" das Audiosignal in der Umgebung des iPhones - beispielsweise im Zug - abgreifen
2) dieses Fourier transformieren
3) Die Schallwelle duplizieren und entlang der Zeitachse verschieben, bis Summe der Fourier Transformationen minimal ist
4) Ausgabe der ermittelten Schallwelle über die Lautsprecher des iPhones
-> Reduzierung der Lautstärke in der unmittelbaren Umgebung

Nachdem ich nur minimale Programmierkenntnisse habe, ist das eher eine theoretische Frage: liese sich eine solche App umsetzen und falls nein, wo sind die physikalischen, oder hard/softwaretechnischen Probleme?
 

mickeyl

Granny Smith
Registriert
05.05.10
Beiträge
14
Scheint mir theoretisch möglich, in der Praxis fürchte ich, dass man noch lange nicht genügend CPU power hat, um das mit der notwendigen minimalen Latenz zu erledigen.
 

dusty1000

Weißer Trierer Weinapfel
Registriert
22.09.06
Beiträge
1.508
Das ist aus verschiedenen Gründen ein sehr schwieriges Unterfangen.
Zunächst musst du, um die Schallwellen in der Umgebung des iPhones auszulöschen, einen ausreichend hohen Schalldruck generieren.
Der Lautsprecher des iPhones wird kaum in der Lage sein, über mehr als ein bis zwei Zentimeter Entfernung einen wahrnehmbaren Effekt zu erzielen. Natürliche Geräusche haben teilweise einen ungeahnten Schalldruck. Darüber hinaus spielt die Richtung des zu reduzierenden Schalls eine entscheidende Rolle. Natürliche Schallquellen sind nur selten zielgerichtet. Darüber hinaus gibt es im Raum eine Vielzahl von Reflexionen des eigentlichen Signals.
Professionelle Systeme benötigen eine Vielzahl von Mikrofonen und können nur einen kleinen Bereich abdecken ( z.B. bei Cockpit-Kopfhörern ). Mehr als eine experimentelle App wird also nicht möglich sein.
Die Rechenleistung des iPhones sollte kein großes Problem sein. Eventuell kann es Probleme mit den Puffern der Audiotreiber geben. Sollte dadurch eine zu hohe Latenz auftreten, kann das Ganze nicht funktionieren.
 

chris90

Welscher Taubenapfel
Registriert
10.08.08
Beiträge
772
erstmal danke für die Antworten.

@mickeyl: Ein CPU-Problem wäre es nicht, denke ich, nachdem die Latenz eigentlich keine Rolle spielt: das Ziel wäre ja konstant schwingenden Lärm zu filtern. Dementsprechend müsste nur ein mal die optimale Überlagerung gefunden und dann ggf. gelegentlich überprüft werden, ob die Schwingung noch passt.

@dusty1000: Es muss eigentlich keine 100%ige Auslöschung, sondern lediglich eine Geräuschreduktion erreicht werden. Zu dem Zweck habe mal einen Test "von Hand" mit folgendem Aufbau durchgeführt: Mit GarageBand ein konstantes Dröhnen (Flugzeugsound) erzeugt. Dieses auf dem iPad aus ca. 50 cm Entfernung zum Mac abgespielt und mittels QuickTime am Mac aufgenommen. Die Peaks in der so erzeugten mp3 habe ich invertiert. Abschließend habe ich die iPad-Datei mit der invertierten Datei gleichzeitig abgespielt. Zwischen den beiden Geräten lag mein iPhone als Dezibelmesser. Ergebnis: Geräusch allein, ohne Überlagerung = 60 dB (+-1); mit Überlagerung = ca. 55 dB (+-1) Minimum.

Nachdem es bei dieser Anordnung reines Glück ist, ob man eine Interferenz, oder Auslöschung erzeugt, tippe ich einfach mal, dass unter optimierten Bedingungen so ca. 50 db möglich wären. Jetzt ist die Frage, ist das eine nennenswerte Geräuschreduktion? (zum Bewussten wahrnehmen waren die 5 Sekunden zu kurz)
 

dusty1000

Weißer Trierer Weinapfel
Registriert
22.09.06
Beiträge
1.508
10 dB weniger wären ca. eine Halbierung der Lautstärke. Das sollte wahrnehmbar sein. Wenn du nur ein iPhone für die Messung verwenden kannst, wirst du allerdings kein besonders genaues Ergebnis erhalten können.
Denke auch daran, dass du im Zweifelsfall die zu reduzierenden Frequenzen mit dem iPhone-Mikrofon gar nicht aufnehmen kannst.
Gerade sehr hohe und sehr tiefe Frequenzen werden psychoakustisch als sehr störend empfunden. Die Charakteristik des Mikrofons ist aber eher mittenbetont, um Sprache gut übertragen zu können.
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Ich denke, dusty1000 hat die wichtigsten Probleme beschrieben. Aber: Probier es doch einfach aus, so schwierig ist das vom Code her nicht.

Und dann sag uns mal, was rausgekommen ist

Gruss

Alex
 

chris90

Welscher Taubenapfel
Registriert
10.08.08
Beiträge
772
Ich denke, dusty1000 hat die wichtigsten Probleme beschrieben. Aber: Probier es doch einfach aus, so schwierig ist das vom Code her nicht.

Und dann sag uns mal, was rausgekommen ist

Gruss

Alex
leider habe ich so gut wie keine Programmierkenntnisse und XCode beherrsche ich auch quasi nicht, von daher werde ich es wohl nicht ausprobieren können.

Ich habe jetzt nochmal die theoretische Machbarkeit mit Garageband überprüft. Hierbei habe ich die Ursprungswelle (Flugzeug-) mit der invertierten/erzeugten Welle (Flugzeug+) überlagert. Bei exakt phasengleicher Überlagerung ist - wie zu erwarten - quasi nichts mehr zu hören (Spur 1+2).
Interessant ist vor allem die Kombi Spur 1+4. Hier habe ich die invertierte Welle phasenverschoben und mittels Dezibelmesser überprüft wann die Lautstärke minimal wird. Das Ergebnis sind ca. 7 dB weniger und meiner Meinung nach eine recht gut hörbare Geräuschreduktion (auch hier Interferenz/Auslöschungsstärke zufallsbasiert).

Spur 1+4 entspricht ja in etwa dem, was eine App machen würde. Von daher würde ich sagen, es ist definitiv machbar, die Frage ist nur, ob der Effekt so gravierend ist, dass die App auch einen praktischen Nutzen hätte (wie von euch schon angesprochen).


Wer möchte, kann gerne mal reinhören: GarageBand-Datei
edit: Datei bearbeitet (15:13 Uhr)
 

aleander

Erdapfel
Registriert
08.09.14
Beiträge
4
Hallo Chris,
hab eben deinen beitrag gelesen und find ihn sehr interessant. Ich wohn nämlich in der nähe eines wasserfalls. Könntest du dir vorstellen, dass man dieses recht gleimässig erscheinende Bachrauschen durch diese Methode etwas abdämpfen kann?

schöen grüße

alexander
 

Schniko

Reinette Coulon
Registriert
01.08.08
Beiträge
954
Das Problem ist, dass du die Schallwellen in deinem Ohr auslöschen möchtest und nicht dort, wo das Signal gemessen wird.

CPU-technisch etc. ist das alles kein Problem. Diese ganzen "Noise Cancellation"-Kopfhörer sind genau nach dem Prinzip aufgebaut. Großer Unterschied jedoch: Das Mikrofon ist nahezu direkt an deinem Ohr und hat nur eine minimale Verschiebung zu den Lautsprechern.

Kurzum: Eine Auslöschung mit dem iPhone ist nicht möglich. Wenn du wirklich Einfachstes Beispiel: Spiel einfach mal auf zwei Stereolautsprechern den gleichen Ton ab (möglichst eine saubere Sinusschwingung) und versuche durch Verschieben der Lautsprecher oder durch Bewegen des Kopfes den Ton auszulöschen. Es wird dir nicht gelingen.
 

chris90

Welscher Taubenapfel
Registriert
10.08.08
Beiträge
772
an sich schon. Ich hatte mal ein wenig damit rumgespielt (per Garage Band) und tatsächlich ein hörbares Ergebnisse erzielt. Aber zum Einen kann ich nicht programmieren zum Anderen wird das Ergebnis nicht weltbewegend sein.
 

aleander

Erdapfel
Registriert
08.09.14
Beiträge
4
ich dachte daran, man könnte die terrasse etwas vom lauten bachrauschen befreien - wenns auch nur ein paar db sind.
auf meinem handy hab ich ca. 60 db gemessen. weiters wäre es fein, wenn man bei geöffneten fenster schlafen könnte und nicht immer das sehr laute rauschen hören müsste. da wäre natürlich auch eine kleine verbesserung sehr willkommen.

schöne grüße

alex
 

chris90

Welscher Taubenapfel
Registriert
10.08.08
Beiträge
772
ich hatte dazu ein monotones Geräusch aufgenommen, die gleiche Tonspur nochmal drunter gelegt und so lange zeitlich verschoben bis die gemessene db Zahl minimal wurde (glaube 10 db weniger waren es). Also an sich geht es, aber der Effekt ist einfach minimal. Hier mal die Ergebnisse (am besten per Quick Look direkt hintereinander abspielen).

Ohne Noise Canceling
Mit Noise Canceling
 

aleander

Erdapfel
Registriert
08.09.14
Beiträge
4
klang ja nicht schlecht. wäre es prinzipiell möglich auch der terrasse dieses bachrauschen etwas abzudämpen, oder geht das dann nur an einer genau fixierten örtlichkeit?
 

chris90

Welscher Taubenapfel
Registriert
10.08.08
Beiträge
772
ich kann mir nicht vorstellen, dass das wirklich funktioniert. Mit einem iPhone eigentlich sicher nicht. Wenn dann müsste man das ziemlich exakt ausmessen und mit Lautsprechern machen oder so. Ich denke da stehen dann Aufwand und Nutzen in keinem guten Verhältnis.
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
ich kann mir nicht vorstellen, dass das wirklich funktioniert. Mit einem iPhone eigentlich sicher nicht. Wenn dann müsste man das ziemlich exakt ausmessen und mit Lautsprechern machen oder so. Ich denke da stehen dann Aufwand und Nutzen in keinem guten Verhältnis.
Eine simple, analoge Schallschutzwand ist gewiss preiswerter, unkomplizierte und effektiver.:D