Создайте объект для записи аудио
устройство записи = магнитофон
устройство записи = магнитофон (Фс, nBits, nChannels)
устройство записи = магнитофон (Фс, nBits, nChannels, ID)
создает 8 000 Гц, 8-битный, одноканальный объект recorder = audiorecorderaudiorecorder.
устанавливает частоту дискретизации recorder = audiorecorder(Fs,nBits,nChannels) Fs (в Гц), объем выборки nBits и количество каналов nChannels.
устанавливает устройство аудиовхода на устройство, заданное recorder = audiorecorder(Fs,nBits,nChannels,ID) ID.
| Выборка уровня в Гц. Допустимые значения зависят и от частот дискретизации, разрешенных MATLAB® и от определенных аудио аппаратных средств в вашей системе. MATLAB имеет трудное ограничение 1 000 Гц <= Фс <= 384 000 Гц, несмотря на то, что далее аппаратно-зависимые ограничения применяются. Типичные значения, поддержанные большинством звуковых карт, 8000, 11025, 22050, 44100, 48000, и 96 000 Гц. Значение по умолчанию: 8000 |
|
'BitsPerSample' . Допустимые значения зависят от аудио установленных аппаратных средств: Значение по умолчанию: 8 |
|
Количество каналов: (моно) Значение по умолчанию: 1 |
|
Идентификатор устройства. Чтобы получить ID устройства, используйте функцию Значение по умолчанию: |
При вызове любого метода включайте имя объекта audiorecorder с помощью синтаксиса функций, такого как .stop(recorder)
Запросите свойства объекта | |
Создайте массив, который хранит записанные значения сигналов. | |
| Создайте объект |
| Запросите, происходит ли запись: возвращает |
| Приостановите запись. |
Проигрывайте зарегистрированное аудио. Этот метод возвращает объект | |
Начните записывать. | |
Запись, и не возвращает управление, пока запись не завершается. Этот метод требует второго входного параметра в течение продолжительности записи в секундах: | |
| Перезапустите запись от приостановленного положения. |
Установите свойства объекта | |
| Прекратите записывать. |
Смотрите страницы с описанием для get, getaudiodata, play, record, recordblocking и set для дополнительных опций синтаксиса.
'BitsPerSample' | Количество битов на выборку. Только для чтения |
CurrentSample | Текущая выборка, которую записывает устройство аудиовхода. Если устройство не записывает, |
DeviceID | Идентификатор для аудио устройства. Только для чтения |
NumberOfChannels | Количество звуковых каналов. Только для чтения |
Running | Состояние магнитофона: |
SampleRate | Частота дискретизации в Гц. Только для чтения |
TotalSamples | Общая длина аудиоданных в выборках. Только для чтения |
Тег | Метка объекта. |
Ввод | Имя класса: |
UserData | Любой тип дополнительных данных, чтобы сохранить объектом. |
Следующие четыре свойства применяются к функциям обратного вызова. Первые два входных параметра к вашей функции обратного вызова должны быть объектом | |
StartFcn | Функция, чтобы выполнить одно время, когда запись запускается. |
StopFcn | Функция, чтобы выполнить одно время при записи остановок. |
TimerFcn | Функция, чтобы выполняться неоднократно во время записи. Чтобы задать временные интервалы для повторений, используйте свойство |
TimerPeriod | Время в секундах между обратными вызовами |
| |
BufferLength | Длина буфера в секундах. |
NumberOfBuffers | Количество буферов. |
Создайте объект audiorecorder для аудио качества CD в стерео и просмотрите его свойства:
recObj = audiorecorder(44100, 16, 2); get(recObj)
Соберите выборку своей речи с микрофоном и постройте график данных сигнала:
% Record your voice for 5 seconds.
recObj = audiorecorder;
disp('Start speaking.')
recordblocking(recObj, 5);
disp('End of Recording.');
% Play back the recording.
play(recObj);
% Store data in double-precision array.
myRecording = getaudiodata(recObj);
% Plot the waveform.
plot(myRecording);Чтобы использовать объект audiorecorder, ваша система должна иметь правильно установленную и сконфигурированную звуковую карту.
audiorecorder долгое время не предназначается, запись высокой частоты дискретизации. audiorecorder использует системную память для устройства хранения данных и не использует дисковую буферизацию. Когда вы делаете попытку большой записи, ваша производительность MATLAB иногда ухудшается в зависимости от времени.