Можно получить и сгенерировать звуковые сигналы с помощью одного или нескольких доступных каналов поддерживаемого аудио устройства. Можно также одновременно управлять каналами на нескольких поддерживаемых аудио устройствах. Data Acquisition Toolbox™ поддерживает звуковые каналы для устройств, которые работают с интерфейсом DirectSound. Вы можете:
Получите и сгенерируйте звуковые сигналы или в последовательности или как отдельные операции.
Получите и сгенерируйте сигналы одновременно, где сигналы могут совместно использовать свое время начала.
Получите аудиоданные в фоновом режиме и фильтр или обработайте входные данные одновременно. Можно сразу сгенерировать данные в ответ на обработанные входные данные. В этом случае и операции приобретения и генерации запускаются и останавливаются вместе.
Data Acquisition Toolbox не читает непосредственно из или пишет непосредственно в звуковые файлы, использующие многоканальную функцию аудио. Вместо этого используйте функции MATLAB audioread
и audiowrite
.
Rate
из аудио DataAcquisition частота развертки, в которой он производит аудиоданные. Все каналы в DataAcquisition имеют ту же частоту развертки. Уровень DataAcquisition по умолчанию для аудио DataAcquisition составляет 44 100 Гц. Если у вас есть несколько устройств в DataAcquisition, убедитесь, что они могут все действовать в общей частоте развертки.
Данные вы получаете или генерируете звуковые каналы использования, содержит значения с двойной точностью. Эти значения нормированы к области значений -1
к +1
. DataAcquisition представляет данные, полученные или сгенерированные в амплитуде без модулей.
В этом примере показано, как получить аудиоданные в течение семи секунд и построить результат.
Узнайте аудио устройства DirectSound, установленные в вашей системе, и создайте DataAcquisition для этих устройств.
dev = daqlist;
dev = 4×4 table DeviceID Description Model DeviceInfo ________ ____________________________________________________ ________________________________________ __________________________ "Audio0" "DirectSound Primary Sound Capture Driver" "Primary Sound Capture Driver" [1×1 daq.audio.DeviceInfo] "Audio1" "DirectSound Headset Microphone (Plantronics BT600)" "Headset Microphone (Plantronics BT600)" [1×1 daq.audio.DeviceInfo] "Audio2" "DirectSound Primary Sound Driver" "Primary Sound Driver" [1×1 daq.audio.DeviceInfo] "Audio3" "DirectSound Headset Earphone (Plantronics BT600)" "Headset Earphone (Plantronics BT600)" [1×1 daq.audio.DeviceInfo]
d = daq("directsound")
d = DataAcquisition using DirectSound hardware: Running: 0 Rate: 44100 NumScansAvailable: 0 NumScansAcquired: 0 NumScansQueued: 0 NumScansOutputByHardware: 0 RateLimit: []
Добавьте канал аудиовхода для микрофона с ID Audio1
. Типом измерения является Audio
.
addinput(d,"Audio1",1,"Audio");
ch = Index Type Device Channel Measurement Type Range Name _____ ______ ________ _______ ________________ ______________ __________ 1 "audi" "Audio1" "1" "Audio" "-1.0 to +1.0" "Audio1_1"
Получите 7 секунд данных на переднем плане и отобразите данные на графике по сравнению со временем.
[data,t] = read(d, seconds(7), "OutputFormat","Matrix"); plot(t,data)