summaryrefslogtreecommitdiff
path: root/speakerWatchdog.sh
diff options
context:
space:
mode:
authorSt33v <github@f3rr3t.com>2022-01-26 16:06:59 +1100
committerSt33v <github@f3rr3t.com>2022-01-26 16:06:59 +1100
commitf8ab5828ae318cb3c2c38bd1bc4a8bcafba10bf4 (patch)
treef2b5259ca394a3e1b10124e3809b91a929d84ae0 /speakerWatchdog.sh
parent572ab720e51cfa6b0cecb30b4dde4d7261ec54f5 (diff)
parentb236ba24b168db0720dcf5a2f75c95302ef95a8d (diff)
Merge branch 'master' of github.com:F3RR3T/bashups
Diffstat (limited to 'speakerWatchdog.sh')
-rw-r--r--speakerWatchdog.sh53
1 files changed, 53 insertions, 0 deletions
diff --git a/speakerWatchdog.sh b/speakerWatchdog.sh
index 344955f..d78c40a 100644
--- a/speakerWatchdog.sh
+++ b/speakerWatchdog.sh
@@ -10,3 +10,56 @@
# st33v@cr4y:~$ grep RUNNING /proc/asound/card*/pcm*/sub*/status
# /proc/asound/card2/pcm0p/sub0/status:state: RUNNING
+# That is fine, but the status remains as 'RUNNING' even after the speakers have turned themselves off...
+# So I'm going down the track of periodically sending a 'sound' to a loopback device
+# sudo modprobe snd-aloop
+# Now aply -l shows a new 'card' called Loopback.
+
+
+record one second of default stream:
+
+$ rec -d -n trim 0 1 stat
+
+ rec sox in record mode
+ -d default input
+ -n direct output to /dev/null
+ trim 0 1 duration 1 second
+ stat
+
+Output:
+
+Input File : 'default' (pulseaudio)
+Channels : 2
+Sample Rate : 48000
+Precision : 16-bit
+Sample Encoding: 16-bit Signed Integer PCM
+
+In:0.00% 00:00:01.02 [00:00:00.00] Out:48.0k [ | ] Clip:0
+Samples read: 96000
+Length (seconds): 1.000000
+Scaled by: 2147483647.0
+Maximum amplitude: 0.000000
+Minimum amplitude: 0.000000
+Midline amplitude: 0.000000
+Mean norm: 0.000000
+Mean amplitude: 0.000000
+RMS amplitude: 0.000000
+Maximum delta: 0.000000
+Minimum delta: 0.000000
+Mean delta: 0.000000
+RMS delta: 0.000000
+Rough frequency: -2147483648
+Done.
+
+So if Max amplitude = 0 then we have silence!
+
+to generate a tone that is not audible:
+play -n synth 1 sine 40 fade .2 0
+
+ play sox alias
+ -n dummy input file
+ synth synthesise a sound
+ sine sine wave [the default, so not strictly necessary]
+ 40 Hz
+ fade fade in from zero volume to max volume over 200 msec.
+ '0' says fade out at end over same period.