Określanie poziomu decybeli audio line-in

2

Czy istnieje sposób (za pomocą wiersza poleceń) na wyprowadzenie poziomu decybeli audio do wejścia liniowego karty dźwiękowej? Chcę uruchomić skrypt, jeśli głośność / intensywność dźwięku wchodzącego do wejścia przekracza pewien próg.

Sprawdziłem pliki i podkatalogi w / proc / asound i trochę zagrałem z narzędziami alsa / a *, ale nie znalazłem niczego obiecującego.

Jakieś pomysły / myśli?

fsmaniac
źródło

Odpowiedzi:

3

Spróbuj rec, dołączony do pakietu sox, z filtrem ciszy. Możesz określić poziom i czas trwania, aby rozpocząć i zatrzymać zapis. Następnie możesz użyć go jako wyzwalacza, aby kontynuować skrypt.

Istnieje bardzo dobry link: http://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/

Pozdrowienia,

neogurb
źródło
1
Witaj @neogurb, witaj w SuperUser. Nie jestem jednak pewien, czy chcesz spędzić zbyt wiele czasu, odpowiadając na pytania 2-letnie;)
Julian Knight
2
@ JulianKnight Nie zgadzam się, (jeden z) punkt (y) SO to utrzymanie archiwum informacji. Nie chodzi tylko o pomoc op, ale także przyszłych odwiedzających (takich jak ja). neo: Jeszcze tego nie wypróbowałem (dam ci znać), ale dziękuję za informacje. Mam ten sam cel, co fsmaniac
Adam Plocher
1

Generalnie nie. Zapisane dane są wartością względną (w stosunku do maksymalnej liczby zapisanych ustawień, która zmienia się w zależności od mikrofonu, karty dźwiękowej i innych czynników).

Jeśli masz inny sprzęt, za pomocą którego możesz skalibrować wartości wyjściowe karty dźwiękowej, możesz to rozgryźć (ponownie, dla konkretnej konfiguracji). Ale bez tego zewnętrznego odnośnika nie ma sposobu na poznanie.

Chris S
źródło
To ma sens. Biorąc to pod uwagę, czy istnieje program wiersza poleceń, który powie mi, czy do wejścia liniowego dochodzi dźwięk, niezależnie od siły / poziomu / głośności decybeli? Pod koniec dnia poziom decybeli nie jest tak ważny - po prostu wiedząc, czy na linii jest sygnał.
fsmaniac
0

możesz spróbować czegoś takiego:

/usr/bin/arecord -L # figure out what device to use

/usr/bin/arecord -d 1 --device plughw:CARD=HD1,DEV=0 -t wav | sox -t .wav - -n stats 2>&1 | awk '/RMS lev dB/{print $4}'
pez
źródło
2
Czy możesz podzielić się tym, co robią te polecenia? Nie wszyscy użytkownicy mają tutaj wiedzę techniczną, więc powiadomienie o tym, co robią te polecenia, jest koniecznością.
Vylix