utilizzo della funzione wavwrite, Octave


0

Hey, per continuare il thread vorrei chiederti qualcosa su wavwrite. Sto cercando di ottenere un file mat (T01DATA.mat) da riprodurre. Provato con sound() senza alcuna soluzione reale; grazie a te capisco perché Modificato per ottenere il file in una variabile in questo modo:

s = load("T01DATA.mat");

Controllato per s e ottenuto una prova abbastanza decente che il metodo ha avuto successo. Quindi provo a farlo su un file wav e appare il caos.

wavwrite(s,"out.wav");

Ho capito:

Screenshot

Quindi l'ho fatto allora:

wavwrite("T01DATA.mat","out.wav");

Ora ho un file wav, ma non sono sicuro al 100% che il segnale sia stato scritto correttamente. Tutto quello che ottengo è una registrazione di 0 secondi.

Risposte:


0

Per chiunque controlli questo: La soluzione è più semplice di quanto pensassi. Caricando un file in Octave:

load("filename.ext");

Octave lo salva automaticamente nella variabile "y". Questo perché Octave può importare variabili dal file .mat. Durante il caricamento del file Octave vede il nome della colonna e dei vettori, quindi importa automaticamente i dati all'interno della variabile.

s = load("T01DATA.mat"); #Making this whole code unnecessary)

Per ottenere il file .wav dal .mat puoi solo implementare wavwrite () con "y" e tutto sarà perfetto.

wavwrite(y,Fs,"out.wav");

Questo creerà il out.wav all'interno della cartella che stai lavorando. Puoi verificarlo con

pwd
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.