Hola, solo para continuar el hilo, me gustaría preguntarte algo sobre wavwrite. Estoy intentando reproducir un archivo mat (T01DATA.mat). Probado sound()
sin solución real; gracias a ti entiendo por qué. Lo modifiqué para convertir el archivo en una variable de esta manera:
s = load("T01DATA.mat");
Verificó s y obtuvo una prueba bastante decente de que el método fue exitoso. Luego intento pasarlo a un archivo wav y aparece el caos.
wavwrite(s,"out.wav");
Entiendo esto :
Entonces hice esto entonces:
wavwrite("T01DATA.mat","out.wav");
Ahora obtengo un archivo wav, pero no estoy 100% seguro de que la señal se haya escrito correctamente. Todo lo que obtengo es una grabación de 0 segundos.
Respuesta1
Para cualquiera que esté comprobando esto: la solución es más sencilla de lo que pensaba. Al cargar un archivo en Octave:
load("filename.ext");
Octave lo guarda automáticamente en la variable "y". Esto se debe a que Octave puede importar variables desde el archivo .mat. Al cargar el archivo, Octave ve el nombre de la columna y los vectores, por lo que importa automáticamente los datos dentro de la variable.
s = load("T01DATA.mat"); #Making this whole code unnecessary)
Para obtener el archivo .wav del .mat solo puedes implementar wavwrite() con "y" y todo será perfecto.
wavwrite(y,Fs,"out.wav");
Esto creará el out.wav dentro de la carpeta en la que estás trabajando. Puedes comprobarlo con
pwd