Bonjour,
un script que je teste et qui pour l'instant va pas mal.
Il capture l'audio que l'on écoute peu importe la source. (monitor, line ....)
Pratique pour les programmes n'utilisant pas pulse.
A la fin de la capture, sox est lancé pour la détection des blancs et leurs suppressions.
Le fichier final se trouvera dans votre bureau.
Il utilise ffmpeg et son filtre amix.
#!/bin/bash
# @Anonyme
# Example :
# pactl list sources | grep Name:
# Name: alsa_output.pci-0000_07_01.0.analog-stereo.monitor
# Name: alsa_input.pci-0000_07_01.0.analog-stereo
# Notes :
# Thread message queue blocking; consider raising the thread_queue_size option (current value: 8) = -thread_queue_size 1024
# Non-monotonous DTS in output stream 0:0 = -use_wallclock_as_timestamps 1
# silence -l 1 00:00:00.5 -65d -1 00:00:00.5 -65d
TMPDIR=/tmp/CAPTURE_JOB
DIR=$(xdg-user-dir DESKTOP)
OUTPUT=$DIR
JOUR=$(date +%d-%m-%y)
HEURE=$(date +%H.%M.%S)
MONITOR=$(pactl list | grep -A2 '^Source #' | grep 'Name: .*\.monitor$' | awk '{print $NF}' | tail -n1)
ALSA_IN=$(pactl list | grep -A2 '^Source #' | grep 'Name: .*\alsa_input.pci' | awk '{print $NF}' | tail -n1)
[ -d "$TMPDIR" ] || mkdir "$TMPDIR"
cd "$TMPDIR"
ffmpeg -thread_queue_size 1024 -use_wallclock_as_timestamps 1 -f pulse -i $MONITOR -f pulse -i $ALSA_IN -filter_complex amix=inputs=2 -c:a pcm_s16le -ar 44100 -map 0:0 -map 1:0 "Capture Du $JOUR à $HEURE.wav"
sox -S "Capture Du $JOUR à $HEURE.wav" "$OUTPUT/$JOUR à $HEURE[Silence Removed].wav" silence -l 1 00:00:00.5 -65d -1 00:00:00.5 -65d
rm -r "$TMPDIR"
apt-get install ffmpeg sox
Voilà, si ça peut aider à remplacer des programmes comme le superbe Audio-recorder
Dernière modification par Anonyme (19-01-2017 16:35:04)