Записывать можно с помощью wavrecord():
>> speech = wavrecord(16000, 8000, 1, 'double');
>> sound(speech) % воспроизведение с частотой дискретизации по умолчанию 8192 Гц)
Это запись 16000 отсчетов с частотой дискретизации 8 кГц, моно (только Windows).
Запись с помощью audiorecorder():
>> x = audiorecorder(16000, 16, 1);
>> record(x);
% recording ...
>> stop(x); % другие комманды: pause(), resume()
>> play(x);
>> speech2 = getaudiodata(x, 'double'); %преобразование
x: это объект audio recorder
16000: Гц, частота дискретизации (обычные значения: 8000, 11025, 22050, 44000)
16: точность представления отсчета в битах
1: количество каналов
Максимальный динамический диапазон для 16-битного представления -32768~32767. Он масштабируется к диапазону –1.0~1.0 в представлении double. Если по каким-то причинам значения сигнала вызывают переполнение, можно использовать sound(speech):
>> soundsc(speech, 8000); % или
>> sound(speech / max(abs(speech)), 8000);
Отображать во временной области так:
>> plot(speech); % или
>> plot([1:size(speech)]/8000, speech); % на оси x время в секундах