Нахождение текущей громкости динамика (мощность сигнала)

хорошо я сумел получить туннельный пароль openvpn, введенный автоматически, и также сумел заставить туннель работать на начальной загрузке. надо надеяться, это помогает кому-то еще, кто пытается сделать то же самое - потому что его взятый меня более чем 20 часов для выяснения чего-то, что теперь выглядит довольно основным. код:

$ cat /etc/init.d/ZZcreate_ovpn_tun.sh
#!/bin/bash

# check if the tunnel already exists before trying to create it
proc=$(ps aux | grep openvpn | grep Userxxx)
if [ "$proc" == "" ]; then
  echo "ovpn tunnel does not exist yet - will create it now"
else
  echo "ovpn tunnel already exists ($proc)"
  exit 0
fi

# load the config file into openvpn - has options to request the pkcs12 password through
# telnet
nohup openvpn /etc/init.d/ovpn/Userxxx.ovpn
sleep 1

# enter the password though a telnet session
/etc/init.d/ovpn/telnet_commands.sh

$ cat /etc/init.d/ovpn/telnet_commands.sh
#!/usr/bin/expect
spawn telnet 127.0.0.1 5558
expect ">PASSWORD:Need 'Private Key' password"
send "password 'Private Key' xxxxxxxxxxxxx\r"
expect "SUCCESS: 'Private Key' password entered, but not yet verified"
send "quit\r"
expect eof

$ cat Userxxx.ovpn
#OpenVPN Server conf
tls-client
client
dev tun
proto udp
tun-mtu 1400
remote xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.com.au 1194
pkcs12 /etc/init.d/ovpn/Userxxx.p12
cipher AES-256-CBC
comp-lzo
verb 3
ns-cert-type server
tls-remote xxxxxxxxxxxxxxxxxxxxxxxxxxx.com.au
management 127.0.0.1 5558
management-query-passwords

$ sudo update-rc.d ZZcreate_ovpn_tun.sh defaults
$ sudo shutdown -r 0

$ # wait for system to boot up again
$ ps aux | grep openvpn
root 5279  0.0  0.1  28224  3728 ? S 22:48 0:00 openvpn /etc/init.d/ovpn/Userxxx.ovpn

можно также хотеть перенаправить весь вывод в файл так, чтобы, если он перестал работать, Вы смогли видеть почему. я назвал файл ZZcreate_ovpn_tun.sh, чтобы удостовериться, что он пришелся последним изо всех сценариев в init.d dir идеально, я просто удостоверюсь, что он только работал на уровне приблизительно 6, но это хорошо работает на данный момент.

4
10.04.2012, 02:27
1 ответ

Я не думаю, что это тривиально, и этот вопрос должен, вероятно, быть перемещен в stackoverflow.

Существует насколько я знаю нет sysfs или procfs интерфейс для доступа к финалу (ALSA) [аудио] соединение; даже нет гарантии, что существует такая вещь в программном обеспечении как некоторые аппаратные средства (такой как emu10k1) выполняет его собственное смешивание, хотя я по общему признанию понятия не имею, как это работает.

Существует также вопрос нескольких аудиовыходов (цифровой (как SPDIF), аналог, headphons или динамики, и т.д.) и несколько конфигураций динамиков на той же карте, не говоря уже о возможности нескольких карт.

Лучший выбор состоит в том, чтобы, по-видимому, попытаться насладиться, какой бы ни устройство ALSA используется (По-видимому, hw0 если смешивание происходит в звуковой подсистеме как pulseaudio, или dmix если никакая звуковая подсистема не используется), так как это - "последний шаг", прежде чем аудио достигнет аппаратных средств. Однако я понятия не имею, возможно ли это;наверное, нет.

Если можно предположить, что пользователь использует что-то как pulseaudio, то задача становится намного легче. Программное обеспечение, такое как pavucontrol уже реализует это, как замечено под вкладкой Playback, а также этапами pre-final-mix под Устройствами вывода. Технически, это включает получение самого аудиопотока, затем преобразовывая его в частотную область (например, путем выполнения StFt) для визуализации его некоторым способом; все, в чем Вы действительно нуждаетесь для этого, является доступом к аудиопотоку, и pulseaudio может обеспечить, это (как pavucontrol делает) через приемник.

Я не помогаю, не так ли? На вашем месте и просто требуемый это для моего рабочего стола, и если я использовал pulseaudio (который я сам, оказывается, использую), моя первая цель состояла бы в том, чтобы попытаться получить заключительный поток соединения. Парни в этом потоке, кажется, выяснили красноречивый метод выполнения того использования только pactl и pacmd, который мог довольно легко быть сделан программно также.

Когда Вы схватили аудиопотока, только математика остается :-)

1
27.01.2020, 21:02
  • 1
    Вы знаете ncmpcpp visualiser? Что-то вроде этого могло быть предпринято? –  romeovs 11.04.2012, 20:06

Теги

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