Использование функции wavwrite, Octave
Эй, просто чтобы продолжить тему хотел бы спросить вас кое-что о wavwrite. Я пытаюсь получить файл матов (T01DATA.mat) для воспроизведения. Попробовал с sound()
без фактического решения; благодаря вам, я понимаю, почему. Модифицировал его, чтобы получить файл переменной:
s = load("T01DATA.mat");
Проверено на s и получилось довольно приличное доказательство того, что метод был успешным. Затем я пытаюсь получить его в файл WAV и появляется хаос.
wavwrite(s,"out.wav");
Я получаю это:
Итак, я сделал это тогда:
wavwrite("T01DATA.mat","out.wav");
Теперь я получаю wav-файл, но я не уверен на 100%, что сигнал записан правильно. Все, что я получаю, это 0 секунд записи.
1 ответ
Для тех, кто проверяет это: решение проще, чем я думал. Загружая файл в Octave:
load("filename.ext");
Octave автоматически сохраняет его в переменной "y". Это потому, что Octave может импортировать переменные из файла.mat. При загрузке файла Octave видит имя столбца и векторы, поэтому он автоматически импортирует данные внутри переменной.
s = load("T01DATA.mat"); #Making this whole code unnecessary)
Чтобы получить файл.wav из.mat, вы можете реализовать только wavwrite() с "y", и все будет идеально.
wavwrite(y,Fs,"out.wav");
Это создаст out.wav внутри папки, с которой вы работаете. Вы можете проверить это с
pwd