Чтение и запись звуковых файлов

Запишите данные к звуковому файлу, получите информацию о файле, и затем считайте данные назад в рабочую область MATLAB®.

Запись в звуковой файл

Загрузите выборочные данные из файла, handel.mat

load handel.mat

Рабочая область теперь содержит матрицу аудиоданных, y, и частоты дискретизации, Fs.

Используйте функцию audiowrite, чтобы записать данные в Файл WAVE под названием handel.wav в текущей папке.

audiowrite('handel.wav',y,Fs)
clear y Fs

Функция audiowrite также может записать в другие форматы аудиофайла, такие как OGG, FLAC и MPEG-4 AAC.

Получение информации о звуковом файле

Используйте функцию audioinfo, чтобы получить информацию о Файле WAVE, handel.wav.

info = audioinfo('handel.wav')
info = 
             Filename: 'pwd\handel.wav'
    CompressionMethod: 'Uncompressed'
          NumChannels: 1
           SampleRate: 8192
         TotalSamples: 73113
             Duration: 8.9249
                Title: []
              Comment: []
               Artist: []
        BitsPerSample: 16

audioinfo возвращает массив структур 1 на 1. Поле SampleRate указывает на частоту дискретизации аудиоданных в герц. Поле Duration указывает на длительность файла в секундах.

Чтение звукового файла

Используйте функцию audioread, чтобы считать файл, handel.wav. Функция audioread может поддержать WAVE, OGG, FLAC, AU, MP3 и файлы MPEG-4 AAC.

[y,Fs] = audioread('handel.wav');

Проигрывайте аудио.

sound(y,Fs)

Также можно считать WAV, AU или файлы SND в интерактивном режиме. Выберите Import Data или дважды кликните имя файла в Браузере текущей папки.

Графическое изображение аудиоданных

Создайте векторный t та же длина как y, который представляет прошедшее время.

t = 0:seconds(1/Fs):seconds(info.Duration);
t = t(1:end-1);

Постройте аудиоданные как функцию времени.

plot(t,y)
xlabel('Time')
ylabel('Audio Signal')

Смотрите также

| |

Похожие темы