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

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

Plot of 7 seconds of acquired audio data

Похожие темы