Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/09/2012, à 19:05

amj

comment enregistrer du sons dans un terminal

bonjour à tous
j'aimerai savoir comment enregistrer le sons qui sort d'un programme (par exemple une ligne de commande et en l’occurrence mplayer)
je sait que record existe mais je ne sais pas comment l'utiliser roll


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#2 Le 24/09/2012, à 19:36

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

Tu as des exemples d'utilisation de mplayer dans une pipeline ici.

Maintenant, tu veux peut-être enregistrer les sons qui sont envoyés à la sortie audio de ton ordinateur ?

Dernière modification par Beta Pictoris (Le 24/09/2012, à 19:42)

Hors ligne

#3 Le 24/09/2012, à 20:15

amj

Re : comment enregistrer du sons dans un terminal

Beta Pictoris a écrit :

Tu as des exemples d'utilisation de mplayer dans une pipeline ici.

Maintenant, tu veux peut-être enregistrer les sons qui sont envoyés à la sortie audio de ton ordinateur ?

1 oui je connais la fonction -dumpstream mais il crée un cache ce qui désynchronise la lecture et l'enregistrement
2 oui c'est exactement ça mais je souhaite le faire dans un terminal


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#4 Le 24/09/2012, à 22:02

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

J'utilisais plutôt audacity pour enregistrer les sons, mais c'est une interface graphique.
En ligne de commande, gstreamer est déjà installé sous ubuntu (avec gnome). Il est très puissant. Il fontionne par pipeline.
Par exemple, pour enregistrer un son provenant de l'entrée par défaut, tu peux faire ceci:

gst-launch-0.10 pulsesrc ! audioconvert ! audioresample ! filesink location=test.raw

"pulsesrc" représente l'entrée par défaut de ta carte son (micro, entrée ligne,...)

Mon exemple est très simple. Je te conseille de regarder sur le site officiel pour avoir des explications plus détaillées. Tu trouveras d'autes exemples sur internet et dans la documentation Ubuntu.

Hors ligne

#5 Le 25/09/2012, à 14:10

amj

Re : comment enregistrer du sons dans un terminal

bonjour
si j'ai bien compris

gst-launch-0.10 pulsescr ! audio/x-raw-float,rate=44100,channels=2 ! vorbisenc name=enc quality=0.5 ! oggmux ! filesink location=test.ogg

devrait me donner un ogg
juste comment ça marche exactement les pipeline et y a-t-il une liste de commandes utiles de ce genre?


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#6 Le 25/09/2012, à 16:09

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

Tu as des exemples en faisant: man gst-launch
Sinon regarde ici et .

Dernière modification par Beta Pictoris (Le 25/09/2012, à 16:09)

Hors ligne

#7 Le 25/09/2012, à 17:23

amj

Re : comment enregistrer du sons dans un terminal

ça ne marche pas

ERREUR : le pipeline n'a pas pu être construit : pas d'élément « pulsescr ».

Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#8 Le 25/09/2012, à 17:26

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

pulsescr --> pulsesrc

Dernière modification par Beta Pictoris (Le 25/09/2012, à 17:27)

Hors ligne

#9 Le 25/09/2012, à 17:50

amj

Re : comment enregistrer du sons dans un terminal

je crois que je dois avoir un problème avec pulse le ficher est vide (comme avec audacity)


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#10 Le 25/09/2012, à 20:52

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

pactl list | grep -A2 "^source"

Cette commande permet d'afficher les sources audio disponibles. Par exemple:

Source #0
	État : IDLE
	Nom : alsa_output.pci-0000_00_05.0.analog-stereo.monitor
--
Source #1
	État : SUSPENDED
	Nom : alsa_input.pci-0000_00_05.0.analog-stereo

Tu peux ensuite faire ceci :

gst-launch-0.10 pulsesrc device=lsa_input.pci-0000_00_05.0.analog-stereo ! ....

Hors ligne

#11 Le 25/09/2012, à 21:21

amj

Re : comment enregistrer du sons dans un terminal

ta commande ne me retourne rien


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#12 Le 25/09/2012, à 21:48

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

C'est une erreur de ma part. Le S de "source" doit être en majuscule.

Hors ligne

#13 Le 25/09/2012, à 22:38

amj

Re : comment enregistrer du sons dans un terminal

j’obtiens

pactl list | grep -A2 "^Source"
Source #0
	État : SUSPENDED
	Nom : alsa_output.pci-0000_00_1f.5.analog-stereo.monitor
--
Source #1
	État : SUSPENDED
	Nom : alsa_input.pci-0000_00_1f.5.analog-stereo
--
Source Output #1
	Driver: protocol-native.c
	Owner Module: 7
--
Source Output #2
	Driver: protocol-native.c
	Owner Module: 7

Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#14 Le 25/09/2012, à 22:40

amj

Re : comment enregistrer du sons dans un terminal

ça fait la même chose que gstreamer-properties
mais ça ne marchait pas


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#15 Le 26/09/2012, à 00:04

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

Je viens de tester sur mon portable. Ça marche super bien ! smile

gst-launch-0.10 pulsesrc device=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor ! audioconvert ! wavenc ! filesink location=test.wav

A toi d'adapter la commande à ta machine. Utilise la source "analog-stereo.monitor"

Dernière modification par Beta Pictoris (Le 26/09/2012, à 00:05)

Hors ligne

#16 Le 26/09/2012, à 13:30

amj

Re : comment enregistrer du sons dans un terminal

ça ne marche pas

gst-launch-0.10 pulsesrc device=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor ! audioconvert ! wavenc ! filesink location=test.wav
Définition du pipeline à PAUSED...
ERREUR : le pipeline refuse de se mettre en pause.
ERREUR : de l'élément /GstPipeline:pipeline0/GstPulseSrc:pulsesrc0 : Failed to connect stream: Aucune entité de ce type
Information de débogage supplémentaire :
pulsesrc.c(1480): gst_pulsesrc_prepare (): /GstPipeline:pipeline0/GstPulseSrc:pulsesrc0
Définition du pipeline à NULL...
Libération du pipeline...

Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#17 Le 26/09/2012, à 13:40

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

Tu dois utiliser ta source audio : "alsa_output.pci-0000_00_05.0.analog-stereo.monitor", pas la mienne ! smile

Hors ligne

#18 Le 26/09/2012, à 13:45

amj

Re : comment enregistrer du sons dans un terminal

à oui évidemment tongue

j'ai donc fait

gst-launch-0.10 pulsesrc device=alsa_output.pci-0000_00_1f.5.analog-stereo.monitor ! audioconvert ! wavenc ! filesink location=test.wav

mais le fichier sons est vide


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#19 Le 26/09/2012, à 14:06

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

Quand on regarde les détails du plugin "pulsesrc" sur le site de gstreamer, on voit qu'il dispose des propriétés "volume" et "mute".

Tu peux donc essayer ceci:

gst-launch-0.10 pulsesrc device=alsa_output.pci-0000_00_1f.5.analog-stereo.monitor mute=false volume=1 ! audioconvert ! wavenc ! filesink location=test.wav

Dernière modification par Beta Pictoris (Le 26/09/2012, à 14:06)

Hors ligne

#20 Le 26/09/2012, à 14:16

amj

Re : comment enregistrer du sons dans un terminal

tout parait normal excepté que le fichier est toujours vide c'est peut-être parce que je fait Ctrl C pour l’arrêter

gst-launch-0.10 pulsesrc device=alsa_output.pci-0000_00_1f.5.analog-stereo.monitor mute=false volume=1 ! audioconvert ! wavenc ! filesink location=test.wav
Définition du pipeline à PAUSED...
Le pipeline est actif et n'a pas besoin de phase PREROLL...
Passage du pipeline à la phase PLAYING...
New clock: GstAudioSrcClock
^CCaught interrupt -- handling interrupt.
Interruption : arrêt du pipeline...
Execution ended after 8519226082 ns.
Définition du pipeline à PAUSED...
Définition du pipeline à READY (prêt)...
Définition du pipeline à NULL...
Libération du pipeline...

Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#21 Le 26/09/2012, à 14:19

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

Pour tester, je lance d'abord l'écoute d'une station radio avec Rhythmbox, puis je lance ensuite la commande.
Au bout de quelques secondes, je fais un ctrl-c pour arréter la commande. J'arrête Rhythmbox et j'écoute le fichier: aplay test.wav

Dernière modification par Beta Pictoris (Le 26/09/2012, à 14:20)

Hors ligne

#22 Le 26/09/2012, à 14:21

amj

Re : comment enregistrer du sons dans un terminal

dans deux onglets différent je fait d'abord

mplayer http://lapremiere.ice.rtbf.be/lapremiere

ensuite

gst-launch-0.10 pulsesrc device=alsa_output.pci-0000_00_1f.5.analog-stereo.monitor mute=false volume=1 ! audioconvert ! wavenc ! filesink location=test.wav

Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#23 Le 26/09/2012, à 14:27

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

Mets "volume=10" pour voir

Hors ligne

#24 Le 26/09/2012, à 14:33

amj

Re : comment enregistrer du sons dans un terminal

toujours rien ça doit être un problème avec pulse


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#25 Le 26/09/2012, à 14:39

Beta Pictoris

Re : comment enregistrer du sons dans un terminal

Non, ce serait plutôt la carte audio ou les drivers qui ne permettent pas ce genre de chose.

Hors ligne