Ei, só para continuar o tópico, gostaria de perguntar algo sobre wavwrite. Estou tentando fazer com que um arquivo mat (T01DATA.mat) seja reproduzido. Tentei sound()
sem solução real; graças a você eu entendo o porquê. Modifiquei-o para colocar o arquivo em uma variável desta forma:
s = load("T01DATA.mat");
Verifiquei se havia uma prova bastante decente de que o método foi bem-sucedido. Então tento colocá-lo em um arquivo wav e o caos aparece.
wavwrite(s,"out.wav");
Eu entendi isso :
Então eu fiz isso:
wavwrite("T01DATA.mat","out.wav");
Agora recebo um arquivo wav, mas não tenho 100% de certeza de que o sinal foi escrito corretamente. Tudo o que consigo é uma gravação de 0 segundos.
Responder1
Para quem está verificando isso: A solução é mais simples do que eu pensava. Ao carregar um arquivo no Octave:
load("filename.ext");
Octave salva automaticamente na variável "y". Isso ocorre porque o Octave pode importar variáveis do arquivo .mat. Ao carregar o arquivo o Octave vê o nome da coluna e dos vetores, então importa automaticamente os dados dentro da variável.
s = load("T01DATA.mat"); #Making this whole code unnecessary)
Para obter o arquivo .wav do .mat você só pode implementar wavwrite() com "y" e tudo ficará perfeito.
wavwrite(y,Fs,"out.wav");
Isso criará o out.wav dentro da pasta em que você está trabalhando. Você pode verificar isso com
pwd