exponenta event banner

Вход и выход звука

Вы можете получать и генерировать звуковые сигналы, используя один или несколько доступных каналов поддерживаемого аудиоустройства. Вы также можете одновременно работать с каналами на нескольких поддерживаемых аудиоустройствах. Data Acquisition Toolbox™ поддерживает звуковые каналы для устройств, работающих с интерфейсом DirectSound. Вы можете:

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

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

  • Получение аудиоданных в фоновом режиме и одновременная фильтрация или обработка входных данных. Данные можно генерировать немедленно в ответ на обработанные входные данные. В этом случае операции получения и генерации начинаются и прекращаются вместе.

Панель инструментов сбора данных не считывает и не записывает непосредственно в аудиофайлы с помощью функции многоканального звука. Вместо этого используйте функции MATLAB. audioread и audiowrite.

Скорость сканирования многоканального звука

Rate audio DataAcquisition - это частота сканирования, с которой производится выборка аудиоданных. Все каналы в DataAcquisition имеют одинаковую скорость сканирования. Частота получения данных по умолчанию для audio 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)

Plot of 7 seconds of acquired audio data

Связанные темы