Hey, nur um den Thread fortzusetzen, würde ich dich gerne etwas zu wavwrite fragen. Ich versuche, eine Mat-Datei (T01DATA.mat) abzuspielen. Habe es versucht, aber sound()
keine wirkliche Lösung gefunden. Dank dir verstehe ich jetzt, warum. Habe es geändert, um die Datei folgendermaßen in eine Variable zu bekommen:
s = load("T01DATA.mat");
Habe nach s gesucht und einen ziemlich guten Beweis dafür bekommen, dass die Methode erfolgreich war. Dann versuche ich, es in eine WAV-Datei zu konvertieren und es herrscht Chaos.
wavwrite(s,"out.wav");
Ich bekomme Folgendes:
Also habe ich dann folgendes gemacht:
wavwrite("T01DATA.mat","out.wav");
Jetzt bekomme ich eine WAV-Datei, bin mir aber nicht 100% sicher, ob das Signal richtig geschrieben wurde. Ich bekomme nur eine 0-Sekunden-Aufnahme.
Antwort1
Für alle, die das hier nachlesen: Die Lösung ist einfacher als ich dachte. Indem man eine Datei in Octave lädt:
load("filename.ext");
Octave speichert es automatisch in der Variable „y“. Dies liegt daran, dass Octave Variablen aus der .mat-Datei importieren kann. Beim Laden der Datei sieht Octave den Namen der Spalte und der Vektoren und importiert daher die Daten automatisch in die Variable.
s = load("T01DATA.mat"); #Making this whole code unnecessary)
Um die WAV-Datei aus der MAT-Datei zu erhalten, können Sie wavwrite() nur mit „y“ implementieren und alles ist perfekt.
wavwrite(y,Fs,"out.wav");
Dadurch wird die Datei out.wav in dem Ordner erstellt, in dem Sie arbeiten. Sie können sie mit überprüfen
pwd