Использование функции 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
Другие вопросы по тегам