Аудиовход и Выход

Можно получить и сгенерировать звуковые сигналы с помощью одного или нескольких доступных каналов поддерживаемого аудио устройства. Можно также одновременно управлять каналами на нескольких поддерживаемых аудио устройствах. 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)

Plot of 7 seconds of acquired audio data

Похожие темы