|
|
Dauer eines bestimmten Tons in Audiodatei analysieren |
|
firen89 |

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 16.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2014, 22:45
Titel: Dauer eines bestimmten Tons in Audiodatei analysieren
|
 |
Hallo,
ist es möglich aus einer Audiodatei mit hilfe von Matlab die Dauer eines bestimmten Geräusches (ein hohes piepen ähnlich von dem eines Rauchmelders, nur durchgehend) auszulesen?
Grüße,
René
|
|
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 22.09.2014, 10:46
Titel:
|
 |
Ja. Sollte sogar sehr einfach gehen. Wie kann die Community dabei helfen?
Andreas
|
|
|
firen89 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 16.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.09.2014, 13:30
Titel:
|
 |
ich wollte erstmal nur wissen ob das prinzipiell möglich ist, aber das ja schonmal gut. Gibt es dazu ein paar stichwörter, oder befehle die ich mir angucken kann. Die Dateien liegen leider in .mov vor, da von apple aufgenommen.
Danke!
Grüße,
René
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 22.09.2014, 16:13
Titel:
|
 |
Es sind ja maximal drei Schritte
1. Einlesen des MOV Files
2. Möglicherweise Datenvorverarbeitung (Filtern, Entrauschen, etc.)
3. Längenbestimmung
1. http://www.mathworks.com/help/matlab/audio-and-video.html
Was hier ungewöhnlich ist, MOV ist ja ein Video Format. Da käme es auf einen Versuch an wie man das Audiosignal extrahiert. Geht bestimmt, aber meine Sorge ist, dass viel unnütze Videoinformationen eingelesen werden und viiiiiiel Speicher unnütz belegt wird.
2. Die Befehle sind einfach, aber man muss vielleicht ein wenig Signalverarbeiting können. Wie steht es damit?
3. Hängt von Schritt 2 ab. Im einfachsten Fall eine FFT und /oder entsprechendes herausfiltern eines Frequenzbandes. Abschliessend ist ein einfacher Schwellwert zu definieren was Start und Ende des Signals ist. Fertig.
Andreas
|
|
|
firen89 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 16.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.09.2014, 23:37
Titel:
|
 |
Naja Signalverarbeitung hab ich nicht so viel Ahnung von leider, aber ihc guck mir das mal in Ruhe an. Könntest du mir dazu ein paar wichtige Befehle nennen, die dabei in Frage kommen?
Und ich verstehe nicht ganz, wie ich den mit einer FFT auf den Zeitraum eines Signals rückschließen kann?
Grüße
René
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 23.09.2014, 09:40
Titel:
|
 |
Die Befehle hängen davon ab was es für ein Signal ist. Ich gehe jetzt mal davon aus, dass es ein Signussignal mit einer konstanten, aber unbekannten Frequenz ist, dazu etwas Rauschen. Also gilt es mittels einer FFT die Frequenz zu identifizieren, und dann mit einem Filter das Rauschen weg zu machen.
Ich schlage vor erstmal versuchen die Daten reinzubekommen und dann ein Signal zu posten.
Andreas
|
|
|
firen89 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 16.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.09.2014, 15:26
Titel:
|
 |
Hallo,
bis hierhin schonmal vielen Dank
Also ich habe mit anderer Software die mov-Dateien in wav-Dateien umgewandelt. Nun habe ich dann audioread zum einlesen verwendet. Meine erste Frage ist, warum meine Variable aus zwei Spalten besteht in denen jeweils exakt das gleiche steht?(Vom Typ double sind die.) Und zweitens wüsste ich gerne wie ich nur einen Teil der Datei einlesen kann. Ich glaube ich habe da die Falsche Syntax.
Grüße,
René
|
|
|
firen89 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 16.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.09.2014, 20:48
Titel:
|
 |
Ich habe jetzt soweit einmal eine fft gemacht mit dem Signal, hab mich dabei an dem orientiert wie es in der Hilfe beschrieben ist.
Ich vermute mal stark, das der eine Peak normales Reden etc. ist, und der zweite bei etwa 2 Megahertz das piepen.
Kann mir jemand sagen was ich jetzt machen muss? Und ich hatte das Problem das ich nicht vom gesamten Video die fft machen konnte, da zu wenig Speicher vorhanden scheinbar. Ist das schlimm? Daher auch : m = (length(y))/4;
Beschreibung: |
|
 Download |
Dateiname: |
fft_test.PNG |
Dateigröße: |
66.54 KB |
Heruntergeladen: |
225 mal |
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 29.09.2014, 08:39
Titel:
|
 |
|
|
firen89 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 16.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.09.2014, 18:08
Titel:
|
 |
Hallo,
ok ich habe jetzt die fft mal gemacht. mit folgendem code:
nun sieht das ganze aus wie auf dem bild(fft). jetzt weis ihc jedoch nicht wie ich das im zusammenhang mit dem zeitsignal nutzen kann? Besonders wegen der Amplituden. Wo ist da der zusammenhang?
ist die fft überhaupt richtig?
Danke und sorry für die vielen Fragen!
Beschreibung: |
|
 Download |
Dateiname: |
zeitsignal.PNG |
Dateigröße: |
79.67 KB |
Heruntergeladen: |
248 mal |
Beschreibung: |
|
 Download |
Dateiname: |
fft.PNG |
Dateigröße: |
48.67 KB |
Heruntergeladen: |
248 mal |
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 01.10.2014, 12:55
Titel:
|
 |
Wenn ich mir "zeitsignal.PNG" anschaue, würde mich zunächst interessieren was denn die menschliche Betrachtung als "Dauer eines bestimmten Geräusches" hier ist? Für mich ist das ein durchgehendes Geräusch im gesamten Zeitraum.
Andreas
|
|
|
firen89 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 16.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.10.2014, 13:08
Titel:
|
 |
Naja also durchgehend ist es nicht. Es ist halt schon häufig in diesem Fall, aber es gibt ja auch phasen ohne Amplitude, und mich interessieren nur die Phasen wo das Signal da ist. Dazu muss auhc noch gesagt werden das zwischendurch noch normales sprechen vorkommt, was jedoch deutlich leiser sein sollte als das Piepen selber.
Grüße,
René
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 01.10.2014, 13:32
Titel:
|
 |
Nun gut. Akzeptiert. Die nächsten Schritte sind in die FFT ein wenig hineinzuzoomen und zu schauen welcher Frequenzbereich heraus gefiltert werden soll. Ein Bandpass von x bis y Hertz - irgendwo bei 3000 Hz wohl.
Andreas
|
|
|
aj.geissler |

Forum-Guru
|
 |
Beiträge: 251
|
 |
|
 |
Anmeldedatum: 26.11.07
|
 |
|
 |
Wohnort: Seeheim-Jugenheim
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.10.2014, 14:39
Titel: "Dauer eines Tons"
|
 |
Hallo,
die anfänglich harmlose Frage "Wie lange dauert ein Ton" hat es in sich.
Das Einlesen, Resamplen etc. ist jetzt mehr oder weniger gelöst.
Kernansatz hier sollte sein:
Aus dem Tonsignal ein Kurzzeitspektrogramm erstellen. Hierbei werden überlappende Zeitabschnitte in den Frequenzbereich transformiert. Letzten Endes hat man damit aus einem Vektor (Sound) wieder eine Matrix (Bild) gemacht.
Aus dem Bild markiert man einen Teil-)Bereich, der den Ton beinhaltet.
Nun muss man im Bild nach dem Muster suchen, das diesen Ton "hinreichend" genau beschreibt (gewisse Amplitudenschwankungen und ggfs. Frequenzschwankungen sollen ja toleriert werden).
Entlang der Zeitachse des Kurzzeitspektrogramms zählt man die Segmente, auf die das zutrifft, und schon hat man die Dauer.
Viel Spaß und Erfolg
Andreas
|
|
|
firen89 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 16.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.10.2014, 16:35
Titel:
|
 |
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|