магнитофон

Создайте объект для записи аудио

Синтаксис

устройство записи = магнитофон
устройство записи = магнитофон (Фс, nBits, nChannels)
устройство записи = магнитофон (Фс, nBits, nChannels, ID)

Описание

recorder = audiorecorder создает 8 000 Гц, 8-битный, одноканальный объект audiorecorder.

recorder = audiorecorder(Fs,nBits,nChannels) устанавливает частоту дискретизации Fs (в Гц), объем выборки nBits и количество каналов nChannels.

recorder = audiorecorder(Fs,nBits,nChannels,ID) устанавливает устройство аудиовхода на устройство, заданное ID.

Входные параметры

Fs

Выборка уровня в Гц. Допустимые значения зависят и от частот дискретизации, разрешенных MATLAB® и от определенных аудио аппаратных средств в вашей системе. MATLAB имеет трудное ограничение 1 000 Гц <= Фс <= 384 000 Гц, несмотря на то, что далее аппаратно-зависимые ограничения применяются. Типичные значения, поддержанные большинством звуковых карт, 8000, 11025, 22050, 44100, 48000, и 96 000 Гц.

Значение по умолчанию: 8000

nBits

'BitsPerSample' . Допустимые значения зависят от аудио установленных аппаратных средств: 8, 16, или 24.

Значение по умолчанию: 8

nChannels

Количество каналов: (моно) 1 или 2 (стерео).

Значение по умолчанию: 1

ID

Идентификатор устройства. Чтобы получить ID устройства, используйте функцию audiodevinfo.

Значение по умолчанию: -1 (устройство по умолчанию)

Методы

Примечание

При вызове любого метода включайте имя объекта audiorecorder с помощью синтаксиса функций, такого как stop(recorder).

получение

Запросите свойства объекта audiorecorder.

getaudiodata

Создайте массив, который хранит записанные значения сигналов.

getplayer

Создайте объект audioplayer.

isrecording

Запросите, происходит ли запись: возвращает true или false.

приостановка

Приостановите запись.

игра

Проигрывайте зарегистрированное аудио. Этот метод возвращает объект audioplayer.

запись

Начните записывать.

recordblocking

Запись, и не возвращает управление, пока запись не завершается. Этот метод требует второго входного параметра в течение продолжительности записи в секундах:
recordblocking(recorder,length)

resume

Перезапустите запись от приостановленного положения.

набор

Установите свойства объекта audiorecorder.

остановка

Прекратите записывать.

Смотрите страницы с описанием для get, getaudiodata, play, record, recordblocking и set для дополнительных опций синтаксиса.

Свойства

'BitsPerSample'

Количество битов на выборку. Только для чтения

CurrentSample

Текущая выборка, которую записывает устройство аудиовхода. Если устройство не записывает, CurrentSample является следующей выборкой, которая запишет с record или resume. Только для чтения

DeviceID

Идентификатор для аудио устройства. Только для чтения

NumberOfChannels

Количество звуковых каналов. Только для чтения

Running

Состояние магнитофона: 'on' или 'off'. Только для чтения

SampleRate

Частота дискретизации в Гц. Только для чтения

TotalSamples

Общая длина аудиоданных в выборках. Только для чтения

Тег

Метка объекта.

Ввод

Имя класса: магнитофон Только для чтения

UserData

Любой тип дополнительных данных, чтобы сохранить объектом.

Следующие четыре свойства применяются к функциям обратного вызова. Первые два входных параметра к вашей функции обратного вызова должны быть объектом audiorecorder и структурой event.

StartFcn

Функция, чтобы выполнить одно время, когда запись запускается.

StopFcn

Функция, чтобы выполнить одно время при записи остановок.

TimerFcn

Функция, чтобы выполняться неоднократно во время записи. Чтобы задать временные интервалы для повторений, используйте свойство TimerPeriod.

TimerPeriod

Время в секундах между обратными вызовами TimerFcn. Значение по умолчанию: .05

audiorecorder игнорирует любые заданные значения для этих свойств, которые будут удалены в будущем релизе.

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 иногда ухудшается в зависимости от времени.

Представлено до R2006a

Была ли эта тема полезной?