logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 17-04-2016 20:19:04

Anonyme
Invité

[CONTOURNÉ] SOX record sur Monitor

Bonsoir,

je cherche une commande avec SOX pour faire une capture de l'audio que l'on entend. Je ne veux pas avec Pulse.
Même avec arecord, ça m'irait

Je n'ai qu'une carte. hw0,0 ou hw0,1 ne donne rien.

Si vous avez une idée, je suis preneur. Moi, j'ai tout essayé, mais nada. sad

Merci par avance.

Dernière modification par Anonyme (18-04-2016 13:09:12)

#2 18-04-2016 13:08:42

Anonyme
Invité

Re : [CONTOURNÉ] SOX record sur Monitor

Contourné par la compilation et l'installation de audio-recorder smile


EDIT :


#!/bin/bash

##  Anonyme
##  ARCHLINUX PUR MINIMALE
##  PULSEAUDIO VERSION 11.0
##  XDG-USER-DIRS  SOX FFMPEG BC MEDIAINFO


##  POUR FfFMPEG
##  CHOIX :  (s16le ou s24le)
bits=s16le
##  CHOIX :  (44,1Khz-16Bits ,  48Khz-16Bits , 96Khz-24Bits ou 192Khz-24Bits)
INFO=44,1Khz-16Bits



#DIR=$(xdg-user-dir DESKTOP)
#OUTPUT=$DIR
OUTPUT=~/Record
JOUR=$(date +%d-%m-%y)
HEURE=$(date +%H:%M:%S)
#TMPDIR=/tmp/CAPTURE_JOB
TMPDIR=~/CAPTURE_JOB

    [ -d "$OUTPUT" ] || mkdir "$OUTPUT"
    [ -d "$TMPDIR" ] || mkdir "$TMPDIR"
    cd "$TMPDIR" || exit


#arecord --vumeter=stereo -f cd -D hw:0,0 "Capture Du $JOUR à $HEURE.wav"
sox -r 44100 -t alsa default "Capture Du $JOUR à $HEURE.wav" silence 1 0.1 3% 1 3.0 3%  
 
 
#arecord --format=S16_LE --rate=44100 --channels=2 --device=hw:0,0 -V stereo test.wav

## DEPUIS INSTALLATION DE PULSEAUDIO
#sox -r 44100 -t alsa default "Capture Du $JOUR à $HEURE.wav"

## https://unix.stackexchange.com/questions/16640/how-can-i-get-the-size-of-a-file-in-a-bash-script
FILENAME="Capture Du $JOUR à $HEURE.wav"
FILESIZE=$(stat -c%s "$FILENAME")

DURATION=$(mediainfo --Output="General;%Duration%" "$TMPDIR/Capture Du $JOUR à $HEURE.wav")


if [ "$FILESIZE" -eq 44 ] || [ "$DURATION" -le 5000 ]; then
echo "Size of $FILENAME = $FILESIZE bytes ou d'une durée insuffisante... terminé."

rm -r  "$TMPDIR"
exit 0
else
echo "Size of $FILENAME > $FILESIZE bytes."


fi



sox -S "Capture Du $JOUR à $HEURE.wav" "$JOUR à $HEURE-Silence_Removed.wav" silence -l 1 00:00:00.1 -75d -1 00:00:00.1 -75d
 
 
    times=()

 _t=$(ffmpeg -i "$JOUR à $HEURE-Silence_Removed.wav" 2>&1 | awk '/^  Duration/ { split($2, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] - 5 }')
    times+=("$_t")

echo "${times[@]}" | sed 's/ /+/g' | bc

 ffmpeg -guess_layout_max 0 -i "$JOUR à $HEURE-Silence_Removed.wav" -acodec pcm_$bits  -af "afade=t=in:ss=0:d=5,afade=t=out:st=${times[*]} :d=5" "$OUTPUT/Le $JOUR à $HEURE - ($INFO).wav"
 
 rm -r  "$TMPDIR"

 

Dernière modification par Anonyme (29-05-2020 21:53:50)

Pied de page des forums