использование функции wavwrite, Octave

использование функции wavwrite, Octave

Привет, просто чтобы продолжить тему, хотел бы спросить тебя кое-что о wavwrite. Я пытаюсь получить файл mat (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

Связанный контент