Получение аудиосэмплов, отправленных на звуковую карту.

%veracrypt ALL=(ALL:ALL) NOPASSWD: /usr/bin/veracrypt
%veramount ALL=(ALL:ALL) NOPASSWD:/home/user/Code/nim/mountkey/veramount

Вместо %veracrypt и %veramount должно быть имя пользователя, у которого должно быть разрешение sudo на выполнение скрипта. Что-то вроде этого:

myusername ALL = (root) NOPASSWD: /path/to/my/program

Также убедитесь, что это последняя строка. Сохранить и выйти.

1
10.09.2019, 08:10
1 ответ

«Запись» и «доступ к образцам в реальном времени» — это, по сути, одно и то же.

В Debian Pulseaudio включен по умолчанию, поэтому самый простой способ — записать (или «получить доступ к сэмплам» )из соответствующего .monitorисточника приемника Pulseaudio вашей звуковой карты. Это будет работать из коробки.

Из приемника Pulseaudio сэмплы проходят через ALSA, а затем отправляются на карту, поэтому возникает небольшая задержка. Но образцы будут точно отправленными образцами.

Вероятно, есть и другие способы сделать это, но все они намного сложнее, а некоторые зависят от типа вашей звуковой карты.

Что касается задержки, вы также должны иметь в виду, что «доступ к образцам» будет включать буферизацию, поэтому будет задержка, независимо от того, что вы делаете.

Если у вас есть более конкретные требования, пожалуйста, опишите ваш вариант использования более подробно.

Редактировать

Источники и приемники Pulseaudio — это не файлы, а «объекты», которые представляют, ну, аудиоисточники (физические, такие как микрофоны на звуковых картах, а также виртуальные )и аудиоприемники (физические, такие как динамики, подключенные к вашей звуковой карте, а также виртуальные ).

Каждый приемник Pulseaudio, такой как some-source-name, имеет связанный с ним источник some-source-name.monitor. Используя библиотеку Pulseuadio из C++, из Python или любого другого языка, который вам нравится, вы можете подключиться к этому источнику и получить сэмплы в реальном -времени, отражающие все, что помещается в этот приемник.

Опять же, никаких файлов не задействовано, ни WAV, ни любого другого формата. Что происходит внутри, так это то, что ваше приложение взаимодействует с демоном Pulseaudio и через регулярные промежутки времени получает буфер с сэмплами.

Библиотека проста в использовании, взгляните на пример кода.

4
27.01.2020, 23:22

Теги

Похожие вопросы