Создайте объект для записи аудио
устройство записи = магнитофон
устройство записи = магнитофон (Фс, nBits, nChannels)
устройство записи = магнитофон (Фс, nBits, nChannels, ID)
создает 8 000 Гц, 8-битный, одноканальный объект recorder = audiorecorder
audiorecorder
.
устанавливает частоту дискретизации 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 иногда ухудшается в зависимости от времени.