Вы можете получить и сгенерировать аудиосигналы, используя один или несколько доступных каналов поддерживаемого аудио устройства. Можно также одновременно работать с каналами на нескольких поддерживаемых аудио устройства. Data Acquisition Toolbox™ поддерживает аудиоканалы для устройств, которые работают с интерфейсом DirectSound. Вы можете:
Получайте и генерируйте аудиосигналы или последовательно, или как отдельные операции.
Получайте и генерируйте сигналы одновременно, где сигналы могут разделять свое время запуска.
Получите аудиоданные в фоновом режиме и фильтруйте или обрабатывайте входные данные одновременно. Можно сгенерировать данные немедленно в ответ на обработанные входные данные. В этом случае операции приобретения и генерации начинаются и прекращаются вместе.
Data Acquisition Toolbox не читает и не записывает непосредственно в аудио файлов с помощью многоканальной функции аудио. Вместо этого используйте функции MATLAB audioread
и audiowrite
.
The Rate
аудио DataAcquisition является частотой скана, с которой он производит выборку аудио данных. Все каналы в DataAcquisition имеют одинаковую скорость скана. Скорость передачи данных по умолчанию для аудио DataAcquisition составляет 44100 Гц. Если в 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: []
Добавьте аудио входной канал для микрофона с идентификатором 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)