Télécharger des musiques de Deezer

Tu peux te contenter de la commande

ffmpeg -stats -y -hide_banner -f pulse   -i $sink   -map_metadata -1 -metadata copyright="Bibi"   -qscale:a 2 -af loudnorm=I=-14:LRA=11:TP=-1  Nom_Du_Fichier

avec Nom_Du_Fichier valant toto.mp3 ou mieux toto.aac (successeur de mp3) ou toto.ogg, ffmpeg se débrouille avec ce qu’il a

Attention tout ne se vaut pas, Voici quelques notions expliquées par l’IA

Son.html (12,4 Ko)

Après quelques essais, j’ai commis l’alias suivant:

alias deezer=cd /home/work/eric/Musique/Deezer && sink=$(pactl list sinks | grep $(pactl get-default-sink).monitor | cut -d : -f 2) ; ffmpeg -stats -y -hide_banner -f pulse -i $sink -map_metadata -1 -metadata copyright="Eric" -qscale:a 2 -af loudnorm=I=-14:LRA=11:TP=-1

En revanche un script bash ne fonctionne pas.

Merci à tous.

il faut indiquer un nom pour le fichier audio à créer

C’est que soit ton script soit ton alias est mal fait :wink:

~$ cat test.sh 
#!/bin/bash
echo "Hello World"

Avec les droits execution sur le fichier test.sh
Puis:

~$ alias test01=./test.sh
~$ test01
Hello World

Merci Zargos,

en voulant vous transmettre les informations, je m’aperçois de la grossière erreur: je n’avais pas mis la variable nécessaire pour donner le nom au script! (avec l’extension qui convient).

donc doublement merci.

dans ta commande, une partie est inutile:
pactl list sinks | grep $(pactl get-default-sink).monitor
donnera toujours:
$(pactl get-default-sink).monitor

Vu que le default sink fait toujours partie de la liste des sinks.

De même la réponse ne comportant pas de « : », le cut ne sert à rien.

du coup comme tu cherche à avoir la source, il te faut en fait juste

~$ pactl get-default-source
alsa_output.pci-0000_7b_00.6.analog-stereo.monitor

Ce qui au final donnerais juste:
ffmpeg -stats -y -hide_banner -f pulse -i $(patcl get-default-source) -map_metadata -1 -metadata copyright="Eric" -qscale:a 2 -af loudnorm=I=-14:LRA=11:TP=-1
En ajoutant le nom du fichier à créer.

Pas besoin de se compliquer inutilement la vie :smiley:

1 J'aime

Super, merci encore Zargos,

Précision:
pactl get-default-source
alsa_input.pci-0000_00_1f.3.analog-stereo

$ sink=$(pactl list sinks | grep $(pactl get-default-sink).monitor | cut -d : -f 2)
$ echo $sink
alsa_output.pci-0000_00_1f.3.analog-stereo.monitor

  • output = ce qui SORT vers les enceintes.
  • output.monitor = copie virtuelle de la sortie, très pratique pour enregistrer le son du système.

alsa_output.pci-0000_00_1f.3.analog-stereo.monitor

= la source virtuelle de surveillance (« monitor ») de la sortie audio.

Elle contient exactement ce qui est envoyé vers les haut-parleurs ou le casque.

Donc à chacun son choix

non, chez moi j’ai bien directement le monitor:

~$ pactl get-default-source 
alsa_output.pci-0000_7b_00.6.analog-stereo.monitor

Très bizarre d’avoir un output comme source, tu as du faire une modification

Non aucune, je n’utilise pas cette commande en général
cela étant « get-default-source » c’est normal d’avoir une source, ca specifie pourtant qu’on obtient un .moinitor dans la doc.

Bnjour,
sur Trixie j’ai:

$pactl get-default-source 
alsa_input.pci-0000_00_1f.3.analog-stereo

Je n’ai pas vraiment compris la différence.
Actuellement je peux modifier la puissance de l’écoute et la sortie (ordi ou HP bluetooth), sans que ça modifie l’enregistrement, avec l’alias:

$type  deezer
deezer est un alias vers « cd /home/work/eric/Musique/Deezer && sink=$(pactl list sinks | grep $(pactl get-default-sink).monitor | cut -d : -f 2) ; ffmpeg -stats -y -hide_banner -f pulse -i $sink -map_metadata -1 -metadata copyright="Eric" -qscale:a 2 -af loudnorm=I=-14:LRA=11:TP=-1  »

La différence c’est qu’une source c’est un micro ou une entrée
alsa_input.pci-0000_00_1f.3.analog-stereo c’est qui
Cette source correspond au microphone intégré ou à la prise micro (Jack) de votre carte mère informatique.

Dans le cas qui nous intéresse ce qu’on veut enregistrer c’est la sortie vers les haut-parleurs donc
pactl get-default-sink
alsa_output.pci-0000_00_1f.3.analog-stereo
S’il se termine par .monitor : C’est le flux d’enregistrement interne de ce que vous entendez. Si vous choisissez cette source dans un logiciel comme OBS Studio, Audacity ou Discord, vous allez enregistrer ou diffuser le son de votre ordinateur (une vidéo YouTube, de la musique, un jeu vidéo) plutôt que votre voix.

sink=$(pactl list sinks | grep $(pactl get-default-sink).monitor | cut -d : -f 2)

 echo $sink
alsa_output.pci-0000_00_1f.3.analog-stereo.monitor