mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP DELT rechnen von 2 Sounds


Autor: Saousan Edna (saousan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen!Ich Bitte um Hilfe!!!
Ich hab ein Ton mit dem Programm Cool Edit aufgenommen.Dieses Sound,den
ich bekommen habe,hab ich zuzweit geschnitten,also insgesamt hab ich
zwei Sounds:Sound1(000101010001000) und Sound2(00001010100010000).

Ich möchte gerne DELT=Sound1-Sound2(1:15)
Mein Ziel ist dass ich die Übereistimmung beiden Sounds finde.

Das alles muss ich mit dem Programm Matlab arbeiten aber ich weiss
nicht leider wie geht:-(
Ich bedanke mich für jede Antwort.

MfG Saousan

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
hast Du ein .wav file, dann Matlab 'wavread'. Wenn Du Stereo
aufgenommen hattest (habe ich aus Deinem post nicht verstanden), hat
DELT zwei Dimensionen. Vergleichen mit Differenzbildung, oder wie auch
immer geht dann ohne Probleme in Matlab.

Cheers
Detlef

Autor: Saousan Edna (saousan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Detlef!
Danke erstmal für Deine Antwort.Ich hab ein Ton mit dem Programm Cool
Edit aufgenommen und dann hab ich es geschnitten(zu 2 Signale),und mit
dem Funktion Polt in Matlab hab ich ein Bild(Signal)bekommen, mein
Problem ist dass ich das hier:
DELT= Sound1-Sound2(1:15)
und DELT=Sound1-Sound2(2:16)

leider nicht rechnen kann und weiss nicht wie das geht:-(


Ich danke Dir im voraus.

G Saousan

Autor: MasterFX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ja auch nicht gehen, da du mit DELT= Sound1-Sound2(1:15) ja von
einem Vektor EINEN Wert abziehst. Du wolltest doch eigentlich
Sound1(1)-Sound2(1); Sound1(2)-Sound2(2) ...
machen oder?
Dann musst du natürlich bei beiden die Elemente angeben(kanns jetzt
nicht testen)
DELT= Sound1(1:15)-Sound2(1:15)

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DAs stimmt nicht ganz:

sound1 ist der ganze Vektor, ein Element bekommt man mit
sound1(5) % das 5. Element von sound1

Übereinstimmung o. Ähnlichkeiten findet ich würde mal nach dem Thema
kkf schauen

Autor: Saousan Edna (saousan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo! ich danke ruch ersmal!

ich weiss nicht was kkf bedeutet????

MfG Saousan

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kreuz Korrelations Funktion

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mach mal in Matlab:

help xcorr

Aber vorsichtig, für ein richtiges Ergebniss musst du noch mitteln

Autor: Saousan Edna (saousan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo! das problem bei mir ist dass ich nicht so richtig weit mit Malb
bin dh kann mich nicht so richtig damit umgehen.
Ich hab jetzt ein Ton aufgenommen mit dem Programm cool edit und hab
ich es auf : ton.wav gespeichert und dann hab ich mit M file das hier
geschieben:

[y,fs,bits]=wavread('ton');

und hab es auf : sprach.m gespeichert
wenn ich es in Matlab plote, funktioniert das irgendwie
nicht,normalerweise muss ich ein graph bekommen.

Ich weiss nicht wasfür ein fehler gemacht habe.

MfG Saousan

Autor: Hannes Hering (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn du die ton.wav mit dem Befehl

[y,fs,bits] = wavread('ton');

einliest und dann den Ton in Matlab mit

soundsc(y,fs);
oder
sound(y,fs);

abspielen kannst, dann hat zumindest das Einlesen in Matlab
funktioniert. Wenn du dann 2 Vektoren (also beispielsweise 2
Tonsamples) voneinander abziehen willst, musst du beide Vektoren
voneinander abziehen. Also wie MasterFX schon geschrieben hat müsstest
du entweder alle Samples einzeln berechnen:

DELT=[Sound1(1)-Sound2(1) ...];

oder als Matrixoperation

DELT= Sound1(1:15)-Sound2(1:15);

ausführen. Zum plotten der Funktion bzw. des eingelesenen WAV reicht
ein

plot(y);

Es gibt übrigens in MATLAB noch die Funktion wavrec, mit der direkt in
MATLAB eine Aufnahme gestartet werden kann. Näheres dazu unter:

help wavrec;

MFG

Hannes

Autor: Hannes Hering (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry ... der Befehl zur Aufnahme heisst wavrecord ... ;) Also:

help wavrecord;

Autor: Saousan Edna (saousan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank:-)
Ich probiere es erstmal.

MfG

Saousan

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.