Debian-facile

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

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

#1 05-11-2020 13:19:14

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Streamripper (play/record + programmation) wav + cue + Titres.txt

Bonjour,


apt install mplayer mpv ffmpeg streamripper bc
 



Un petit script avec 3 radios "de mon choix: oldies, 80s et AC/DC bien sûr" pour écouter/enregistrer et pour avoir au final, dans un dossier le fichier wav unique "fondu en ouverture et fermeture" et son cuesheet.
En ouvrant ce cuesheet, on pourra donc naviguer entre les pistes (c'est un plus sur un fichier unique).
Un fichier txt "Titres.txt" pour un historique des morceaux présent dans le gros wav.

C'est un début ....

Voilà le script à tester, faites moi en retour sur son fonctionnement sur débian :


#!/bin/bash

#### Radios.
Oldies_but_goldies=http://orion.shoutca.st:8248/stream
Radio_Italo4You=http://s0.radiohost.pl:8018/stream
Radio_BOB=http://bob.hoerradar.de/radiobob-acdc-mp3-mq

jour=$(date +%d-%m-%y)
heure=$(date +%H:%M:%S)


 while true; do
echo "Mes radios:"
echo -e "\e[3;32m1. \033[m \e[3;94mOldies_but_goldies\033[m"
echo -e "\e[3;32m2. \033[m \e[3;94mRadio_Italo4You\033[m"
echo -e "\e[3;32m3. \033[m \e[3;94mRadio_BOB\033[m"
echo

echo -n "Entrer votre choix, 0 pour quitter: "
read -r choice
echo

case $choice in
     1)
mkdir -p Oldies_but_goldies/$jour/$heure

    ( cd Oldies_but_goldies/$jour/$heure || exit
mpv $Oldies_but_goldies >/dev/null 2>&1 | \
streamripper $Oldies_but_goldies -a -A -s \
                  --codeset-filesys=UTF-8 \
                  --codeset-id3=ISO-8859-15 \
                  --codeset-id3=ISO-8859-15 \
                  --codeset-relay=ISO-8859-15 \
                  -u FreeAmp/2.x | mplayer -slave -playlist $Oldies_but_goldies | tee out.log

    awk '{print $0}' out.log | \
    grep "ICY" | sed -r 's/ICY Info: StreamTitle='\'\(\[^[\]*\).*';/\1/g' | \
    awk '{printf("%02d - %s\n", NR, $0)}' \
    >> Titres.txt
rm -f out.log

filename_cue=$(ls *.cue | xargs -n 1 basename)
Filename_mp3=$(ls *.mp3 | xargs -n 1 basename)
tr -d '\0' < "$filename_cue" > data.cue | sed -i -e '1 s/^.*$/FILE "data.wav" WAVE/' data.cue
rm -f "$filename_cue"
ffmpeg -i "$Filename_mp3" -acodec pcm_s16le -ar 44100 data.wav
rm -f "$Filename_mp3"

#### Pour le fondu en ouverture et fermeture sur le single wave.
times=()
_t=$(ffmpeg -i data.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 -i data.wav -acodec pcm_s16le -ar 44100 -af "afade=t=in:ss=0:d=1,afade=t=out:st=${times[*]} :d=4" data-fade.wav
rm -f data.wav | mv data-fade.wav data.wav
)
    break
     ;;
     2)
mkdir -p Radio_Italo4You/$jour/$heure

    ( cd Radio_Italo4You/$jour/$heure || exit
mpv $Radio_Italo4You >/dev/null 2>&1 | \
streamripper $Radio_Italo4You -a -A -s \
                  --codeset-filesys=UTF-8 \
                  --codeset-id3=ISO-8859-15 \
                  --codeset-id3=ISO-8859-15 \
                  --codeset-relay=ISO-8859-15 \
                  -u FreeAmp/2.x | mplayer -slave -playlist $Radio_Italo4You | tee out.log

    awk '{print $0}' out.log | \
    grep "ICY" | sed -r 's/ICY Info: StreamTitle='\'\(\[^[\]*\).*';/\1/g' | \
    awk '{printf("%02d - %s\n", NR, $0)}' \
    >> Titres.txt
rm -f out.log

filename_cue=$(ls *.cue | xargs -n 1 basename)
Filename_mp3=$(ls *.mp3 | xargs -n 1 basename)
tr -d '\0' < "$filename_cue" > data.cue | sed -i -e '1 s/^.*$/FILE "data.wav" WAVE/' data.cue
rm -f "$filename_cue"
ffmpeg -i "$Filename_mp3" -acodec pcm_s16le -ar 44100 data.wav
rm -f "$Filename_mp3"

times=()
_t=$(ffmpeg -i data.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 -i data.wav -acodec pcm_s16le -ar 44100 -af "afade=t=in:ss=0:d=1,afade=t=out:st=${times[*]} :d=4" data-fade.wav
rm -f data.wav | mv data-fade.wav data.wav
)
    break
     ;;
     3)
mkdir -p Radio_BOB/$jour/$heure  

    ( cd Radio_BOB/$jour/$heure || exit
mpv $Radio_BOB >/dev/null 2>&1 | \
streamripper $Radio_BOB -a -A -s \
                  --codeset-filesys=UTF-8 \
                  --codeset-id3=ISO-8859-15 \
                  --codeset-id3=ISO-8859-15 \
                  --codeset-relay=ISO-8859-15 \
                  -u FreeAmp/2.x | mplayer -slave -playlist $Radio_BOB | tee out.log

    awk '{print $0}' out.log | \
    grep "ICY" | sed -r 's/ICY Info: StreamTitle='\'\(\[^[\]*\).*';/\1/g' | \
    awk '{printf("%02d - %s\n", NR, $0)}' \
    >> Titres.txt
rm -f out.log

filename_cue=$(ls *.cue | xargs -n 1 basename)
Filename_mp3=$(ls *.mp3 | xargs -n 1 basename)
tr -d '\0' < "$filename_cue" > data.cue | sed -i -e '1 s/^.*$/FILE "data.wav" WAVE/' data.cue
rm -f "$filename_cue"
ffmpeg -i "$Filename_mp3" -acodec pcm_s16le -ar 44100 data.wav
rm -f "$Filename_mp3"

times=()
_t=$(ffmpeg -i data.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 -i data.wav -acodec pcm_s16le -ar 44100 -af "afade=t=in:ss=0:d=1,afade=t=out:st=${times[*]} :d=4" data-fade.wav
rm -f data.wav | mv data-fade.wav data.wav
)
    break
     ;;
    0)
    echo "OK, see you!"
    exit 1
    ;;
    *)
    echo "Invalid input..."
    echo "Quit"
    exit 1
    ;;
esac  
done

 

Dernière modification par golgot200 (Aujourd'hui 13:05:51)

Hors ligne

#2 05-11-2020 13:39:43

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

~/Téléchargements$ sudo bash essai.sh



Mes radios:
1.  Oldies_but_goldies
2.  Radio_Italo4You
3.  Radio_BOB

Entrer votre choix, 0 pour quitter: 1

essai.sh: ligne 35: mplayer : commande introuvable
ls: impossible d'accéder à '*.cue': Aucun fichier ou dossier de ce type
basename: opérande manquant
Saisissez « basename --help » pour plus d'informations.
ls: impossible d'accéder à '*.mp3': Aucun fichier ou dossier de ce type
basename: opérande manquant
Saisissez « basename --help » pour plus d'informations.
essai.sh: ligne 45: : Aucun fichier ou dossier de ce type
sed: impossible de lire data.cue: Aucun fichier ou dossier de ce type
ffmpeg version 4.3.1-5 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10 (Debian 10.2.0-15)
  configuration: --prefix=/usr --extra-version=5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --disable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
: No such file or directory
ffmpeg version 4.3.1-5 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10 (Debian 10.2.0-15)
  configuration: --prefix=/usr --extra-version=5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --disable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
data.wav: No such file or directory
mv: impossible d'évaluer 'data-fade.wav': Aucun fichier ou dossier de ce type

Dernière modification par Debian Alain (05-11-2020 13:41:39)

En ligne

#3 05-11-2020 14:27:52

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

@Debian Alain

Alors, on n'installe pas les programmes qu'il faut (entre autre mplayer) smile

Une question bête, pourquoi sudo bash ?

Dernière modification par golgot200 (05-11-2020 14:29:26)

Hors ligne

#4 05-11-2020 14:35:48

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

oui , tu as raison .

en service :

~/Téléchargements$ bash essai.sh


Mes radios:
1.  Oldies_but_goldies
2.  Radio_Italo4You
3.  Radio_BOB

Entrer votre choix, 0 pour quitter: 1

essai.sh: ligne 35: mplayer : commande introuvable



je ferme le terminal et je regarde :

~/Téléchargements/Oldies_but_goldies/05-11-20$ ls -lah


total 20K
drwxr-xr-x 5 alain alain 4,0K  5 nov.  14:33 .
drwxr-xr-x 3 alain alain 4,0K  5 nov.  14:31 ..
drwxr-xr-x 2 alain alain 4,0K  5 nov.  14:31 14:31:35
drwxr-xr-x 2 alain alain 4,0K  5 nov.  14:33 14:32:29
drwxr-xr-x 2 alain alain 4,0K  5 nov.  14:33 14:33:24
 

Dernière modification par Debian Alain (05-11-2020 14:38:21)

En ligne

#5 05-11-2020 14:37:49

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Une chose, bien un "ctrl + c" dans le terminal pour poursuivre le job après l'écoute wink

Hors ligne

#6 05-11-2020 14:41:29

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

malheureusement , je n'ai aucun fichier *.wav ou *.mp3

ah , çà marche mieux en installant mplayer ...

~/Téléchargements$ bash essai.sh


Mes radios:
1.  Oldies_but_goldies
2.  Radio_Italo4You
3.  Radio_BOB

Entrer votre choix, 0 pour quitter: 1

Creating config file: /home/alain/.mplayer/config
Resolving orion.shoutca.st for AF_INET6...

Couldn't resolve name for AF_INET6: orion.shoutca.st
Resolving orion.shoutca.st for AF_INET...
Connecting to server orion.shoutca.st[5.39.71.159]: 8248...

Name   : DI Radio Digital Impulse - Oldies but goldies
Genre  : Oldies
Website: http://www.di-radio.com
Public : yes
Bitrate: 320kbit/s
Cache size set to 320 KBytes

ICY Info: StreamTitle='Captain Beefheart - Upon the My O My [FGJ]';
 




~/Téléchargements$ ls -lah


total 83M
drwxr-xr-x  6 alain alain 4,0K  5 nov.  16:43  .
drwxr-xr-x 20 alain alain 4,0K  5 nov.  14:42  ..
-rwxr--r--  1 root  root  4,6K  5 nov.  13:35  essai.sh
drwxr-xr-x  2 alain alain 4,0K  2 nov.  15:09  ISOs
-rw-r--r--  1 alain alain  72K  2 nov.  11:34  liste-des-paquets
-rwxr--r--  1 alain alain  73M  2 nov.  15:58  molotov.AppImage
-rw-r--r--  1 alain alain 1,7K  3 nov.  16:34 'Nouvelle base de données.kdbx'
drwxr-xr-x  3 alain alain 4,0K  5 nov.  16:43  Oldies_but_goldies
-rw-r--r--  1 alain alain  11M  5 nov.  12:33  Oracle_VM_VirtualBox_Extension_Pack-6.1.16.vbox-extpack
drwxr-xr-x  3 alain alain 4,0K  5 nov.  14:47  Radio_BOB
drwxr-xr-x  2 alain alain 4,0K  2 nov.  14:33 'scripts conky'
 



~/Téléchargements/Oldies_but_goldies/05-11-20/16:42:58$ ls -lah


total 24M
drwxr-xr-x 2 alain alain 4,0K  5 nov.  16:45 .
drwxr-xr-x 3 alain alain 4,0K  5 nov.  16:43 ..
-rw-r--r-- 1 alain alain  329  5 nov.  16:45 data.cue
-rw-r--r-- 1 alain alain  24M  5 nov.  16:45 data.wav
-rw-r--r-- 1 alain alain  113  5 nov.  16:45 Titres.txt
 



~/Téléchargements/Radio_BOB/05-11-20/14:46:58$ ls -lah


total 5,1M
drwxr-xr-x 2 alain alain 4,0K  5 nov.  14:47 .
drwxr-xr-x 3 alain alain 4,0K  5 nov.  14:47 ..
-rw-r--r-- 1 alain alain  110  5 nov.  14:47 data.cue
-rw-r--r-- 1 alain alain 5,1M  5 nov.  14:47 data.wav
-rw-r--r-- 1 alain alain   30  5 nov.  14:47 Titres.txt
 



très bien mais y a pas moyen d'avoir plutôt du *.mp3 ?

Dernière modification par Debian Alain (05-11-2020 16:51:39)

En ligne

#7 05-11-2020 20:10:21

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Debian Alain a écrit :



très bien mais y a pas moyen d'avoir plutôt du *.mp3 ?



Il y a 3 lignes dans le script :

rm -f "$Filename_mp3"



tu les commentes :


#rm -f "$Filename_mp3"



mais c'est pas mon but pour l'instant ....  le mp3 me fout de l'urticaire wink

Dernière modification par golgot200 (05-11-2020 20:10:59)

Hors ligne

#8 05-11-2020 20:18:01

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : stable / testing
Noyau : Linux 5.9.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

En ligne

#9 06-11-2020 09:21:54

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Salut,

  2 radios diffusant des vieilles chansons françaises.
- "French Music Forever" http://listen.radioking.com/radio/344611/stream/393304
- "Radio yé yé" http://listen.openstream.co/3673/audio

En ligne

#10 06-11-2020 20:32:17

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-12-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Hello
j'ai testé la première radio , mon fichier data.cue fait 0 octect
petit test sur 3 titres
je retente le coup
edit: pas de chance
j'ai juste un fichier txt et le fichier cue se coup ci
et en + il semble pas complet

FILE "data.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Maybellene [FYn]"
    PERFORMER "Marty Robbins"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Rubber Ball [G6o]"
    PERFORMER "The Avons"
    INDEX 01 01:34:00



01 - Marty Robbins - Maybellene
02 - The Avons - Rubber Ball
03 - Harry Belafonte - Day-o (The Banana Boat Song)
04 - Amen Corner - Bend Me Shape Me
05 - The Walker Brothers - Make It Easy On Yourself

Dernière modification par Croutons (06-11-2020 20:48:10)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#11 06-11-2020 21:55:14

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Bonsoir,

@Croutons

Il me faudrait la sortie terminal smile

Hors ligne

#12 06-11-2020 22:03:35

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Je remet ce lien, ça peut servir ici :

https://www.internet-radio.com/

Hors ligne

#13 06-11-2020 23:08:23

Toulibre
Adhérent(e)
Lieu : Ganges, Cévennes
Distrib. : Debian Buster
Noyau : Linux 4.19.0-10-amd64
(G)UI : xfce
Inscription : 10-08-2020
Site Web

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Dis donc si vous vous y connaissez en ligne de commande et en commande script ça pourrait commencer par un truc comme ça (c'est pas au point chuis nul), une petite fenetre qui liste les radios puis faire démarrer avec mplayer et streamripper (option oui ou non) non?

zenity --list --width 500 --height 500 --column 'radio' --column 'url' --print-column 2 $(curl -s https://www.internet-radio.com/ | awk -F '"' '/href="https:.*.pls.*96k/ {print $2}' | sort | awk -F '/|.' '{print $(NF-1) " " $0}') | xargs mplayer

En ligne

#14 07-11-2020 09:17:22

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-12-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

remoi les copains wink
fin du process par Ctrl+c
j'ai bien mes trois fichiers
data.cue data.wav Titres.txt
seulement le fichier cue est incomplet, le wav aussi il ne fait que 3min30 donc réflexion faite il correspond avec le cue

cat data.cue


FILE "data.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Harbor Lights [GgW]"
    PERFORMER "Willie Nelson"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "What A Wonderful World [FXu]"
    PERFORMER "Louis Armstrong"
    INDEX 01 03:16:00


cat Titres.txt


01 - Willie Nelson - Harbor Lights
02 - Louis Armstrong - What A Wonderful World
03 - Tina Charles - I love to love
04 - The Coasters - Yakety Yak stereo


voici la sortie terminale

Mes radios:
1.  Oldies_but_goldies
2.  Radio_Italo4You
3.  Radio_BOB

Entrer votre choix, 0 pour quitter: 1

Resolving orion.shoutca.st for AF_INET6...

Couldn't resolve name for AF_INET6: orion.shoutca.st
Resolving orion.shoutca.st for AF_INET...
Connecting to server orion.shoutca.st[5.39.71.159]: 8248...

Name   : DI Radio Digital Impulse - Oldies but goldies
Genre  : Oldies
Website: http://www.di-radio.com
Public : yes
Bitrate: 320kbit/s
Cache size set to 320 KBytes

ICY Info: StreamTitle='Willie Nelson - Harbor Lights [GgW]';

ICY Info: StreamTitle='Louis Armstrong - What A Wonderful World [FXu]';

ICY Info: StreamTitle='Tina Charles - I love to love [Gex]';

ICY Info: StreamTitle='The Coasters - Yakety Yak stereo [G7O]';
^Cffmpeg version 4.1.5 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-libopencv --disable-outdev=sdl2 --disable-podpages --disable-sndio --disable-stripping --enable-libaom --enable-avfilter --enable-avresample --enable-gcrypt --disable-gnutls --enable-openssl --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libzimg --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opencl --enable-opengl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-libwebp --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --enable-libmfx --enable-libvmaf --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[mp3 @ 0x5646ec81fdc0] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'sr_program_2020_11_07_08_54_47.mp3':
  Duration: 00:03:30.94, start: 0.000000, bitrate: 320 kb/s
    Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'data.wav':
  Metadata:
    ISFT            : Lavf58.20.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
    Metadata:
      encoder         : Lavc58.35.100 pcm_s16le
[mp3float @ 0x5646ec824480] invalid new backstep -1s/s speed= 303x    
size=   36342kB time=00:03:30.96 bitrate=1411.2kbits/s speed= 313x    
video:0kB audio:36342kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000210%
205
ffmpeg version 4.1.5 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-libopencv --disable-outdev=sdl2 --disable-podpages --disable-sndio --disable-stripping --enable-libaom --enable-avfilter --enable-avresample --enable-gcrypt --disable-gnutls --enable-openssl --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libzimg --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opencl --enable-opengl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-libwebp --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --enable-libmfx --enable-libvmaf --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from 'data.wav':
  Metadata:
    encoder         : Lavf58.20.100
  Duration: 00:03:30.96, bitrate: 1411 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'data-fade.wav':
  Metadata:
    ISFT            : Lavf58.20.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
    Metadata:
      encoder         : Lavc58.35.100 pcm_s16le
size=   36342kB time=00:03:30.96 bitrate=1411.2kbits/s speed= 916x    
video:0kB audio:36342kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000210%


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#15 07-11-2020 12:27:28

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

@Croutons

J'avoue être perdu hmm
à l'écoute en gros, tu n'as juste que "Louis Armstrong" ?

Et poutant dans le terminal, on voit bien l'écoute des 4 titres mais une Duration: 00:03:30.94

J'ai pas de problème pour ma part et je pense que Debian Alain non plus

Dernière modification par golgot200 (07-11-2020 12:31:21)

Hors ligne

#16 07-11-2020 12:41:28

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

@Croutons

je teste sur l'écoute de 4 titres chez moi et je poste comme ton post 14 wink

Dernière modification par golgot200 (07-11-2020 12:41:42)

Hors ligne

#17 07-11-2020 12:50:38

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Chez moi :

cat data.cue




FILE "data.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Souvenir"
    PERFORMER "Nicky & Nicky"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Say Yes (ZYX Extended Version)"
    PERFORMER "Digitalo"
    INDEX 01 01:09:00
  TRACK 03 AUDIO
    TITLE "Everything You Love"
    PERFORMER "Chip Chip"
    INDEX 01 07:48:00
  TRACK 04 AUDIO
    TITLE "It's You"
    PERFORMER "Sheila Steward"
    INDEX 01 10:49:00
 




cat Titres.txt
 




    1 "Souvenir"
    PERFORMER "Nicky & Nicky"

    2 "Say Yes (ZYX Extended Version)"
    PERFORMER "Digitalo"

    3 "Everything You Love"
    PERFORMER "Chip Chip"

    4 "It's You"
    PERFORMER "Sheila Steward"

 



voici la sortie terminale:


 ./stream_bis_test
Mes radios:
1.  Oldies_but_goldies
2.  Radio_Italo4You
3.  Radio_BOB

Entrer votre choix, 0 pour quitter: 2

Connecting...
stream: Radio Italo4you
server name: SHOUTcast/
declared bitrate: 256
meta interval: 8192

[skipping...   ] Nicky & Nicky - Souvenir [  2,10M]
[ripping...    ] Digitalo - Say Yes (ZYX Extended Version) [ 12,19M]
[ripping...    ] Chip Chip - Everything You Love [  5,52M]
[ripping...    ] Sheila Steward - It's You [  1,70M]
^Cshutting down
bye..
ffmpeg version n4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.1.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
[mp3 @ 0x5626a254d5c0] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'sr_program_2020_11_07_12_32_46.mp3':
  Duration: 00:11:56.80, start: 0.000000, bitrate: 256 kb/s
    Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 256 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'data.wav':
  Metadata:
    ISFT            : Lavf58.45.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
    Metadata:
      encoder         : Lavc58.91.100 pcm_s16le
[mp3float @ 0x5626a2575580] invalid new backstep -1s/s speed= 407x    
size=  123620kB time=00:11:57.60 bitrate=1411.2kbits/s speed= 400x    
video:0kB audio:123620kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000062%
712
ffmpeg version n4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.1.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from 'data.wav':
  Metadata:
    encoder         : Lavf58.45.100
  Duration: 00:11:57.61, bitrate: 1411 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'data-fade.wav':
  Metadata:
    ISFT            : Lavf58.45.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
    Metadata:
      encoder         : Lavc58.91.100 pcm_s16le
size=  123620kB time=00:11:57.60 bitrate=1411.2kbits/s speed=1.42e+03x    
video:0kB audio:123620kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000062%
 



Durée sur 4 titres :


Duration: 00:11:57.61
 



à la lecture sur le cue :

play_on_cue.png


Bon, le script retouché :


#!/bin/bash

#### Help
# https://stackoverflow.com/questions/23577516/how-to-replace-all-matches-with-an-incrementing-number-in-bash
# https://unix.stackexchange.com/questions/23545/insert-a-new-line-after-every-n-lines

# How can I add lines to document every four lines?
# https://unix.stackexchange.com/questions/474172/how-can-i-add-lines-to-document-every-four-lines


#### Radios.

 while true; do
echo "Mes radios:"
echo -e "\e[3;32m1. \033[m \e[3;94mOldies_but_goldies\033[m"
echo -e "\e[3;32m2. \033[m \e[3;94mRadio_Italo4You\033[m"
echo -e "\e[3;32m3. \033[m \e[3;94mRadio_BOB\033[m"
echo

echo -n "Entrer votre choix, 0 pour quitter: "
read -r choice
echo

if [[ $choice == 1 ]]; then
stream=http://orion.shoutca.st:8248/stream
folder=Oldies_but_goldies

fi

if [[ $choice == 2 ]]; then
stream=http://s0.radiohost.pl:8018/stream
folder=Radio_Italo4You

fi

if [[ $choice == 3 ]]; then
stream=http://bob.hoerradar.de/radiobob-acdc-mp3-mq
folder=Radio_BOB

fi


case $choice in
     "$choice")
mkdir -p "$folder/$(date +%d-%m-%y) à $(date +%H:%M:%S)"

    ( cd "$folder/$(date +%d-%m-%y) à $(date +%H:%M:%S)" || exit
mpv $stream >/dev/null 2>&1 | \
streamripper $stream -a -A -s \
                  --codeset-filesys=UTF-8 \
                  --codeset-id3=ISO-8859-15 \
                  --codeset-id3=ISO-8859-15 \
                  --codeset-relay=ISO-8859-15 \
                  -u FreeAmp/2.x
filename_cue=$(find . -type f -name "*.cue" | xargs --null basename)
filename=$(find . -type f \( -name "*.mp3" -o -name "*.ogg" -o -name "*.flac" \) -print0 | xargs --null basename)
tr -d '\0' < "$filename_cue" > data.cue
sed -i -e '1 s/^.*$/FILE "data.wav" WAVE/' data.cue
rm -f "$filename_cue"
ffmpeg -i "$filename" -acodec pcm_s16le -ar 44100 data.wav
rm -f "$filename"


grep -e 'TITLE' -e 'PERFORMER' data.cue | \
                   awk '{for(x=1;x<=NF;x++)if($x~/TITLE/){sub(/TITLE/,++i)}}1' | \
                   sed '0~2G' \
                   >> "Titres.txt"

#### Pour le fondu en ouverture et fermeture sur le single wave.
times=()
_t=$(ffmpeg -i data.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 -i data.wav \
                  -acodec pcm_s16le -ar 44100 \
                  -af "afade=t=in:ss=0:d=1,afade=t=out:st=${times[*]} :d=4" \
                  data-fade.wav
rm -f data.wav  
mv data-fade.wav data.wav

)
    break
     ;;
    0)
    echo "OK, see you!"
    exit 1
    ;;
    *)
    echo "Invalid input..."
    echo "Quit"
    exit 1
    ;;
esac  
done
 

Dernière modification par golgot200 (07-11-2020 12:57:08)

Hors ligne

#18 07-11-2020 17:04:29

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-12-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

bon premier test avec cette nouvelle mouture du script fonctionne bien
par contre quel option pour avoir ce beau vumètre ?
j'ai bien trouvé un truc mais c'est pas tout a fait ça

mpv '--lavfi-complex=[aid1]asplit[ao][a];[a]showvolume[vo]' --alpha=no fichier.wav

Dernière modification par Croutons (07-11-2020 17:05:49)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#19 07-11-2020 17:22:42

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

C'est du fait maison wink

Dans ton mpv.conf, tu colles :


[showcqt-visualizer]
lavfi-complex="[aid1] asplit [ao] [v] ; [v] showvolume=r=60:w=1080:h=80:b=4:t=0:v=0:f=0.1:o=0:f=0.2:m=p:dm=1:dmc=red:p=0.80,drawbox=x=0:y=0:c=yellow@0.1,drawgrid=width=iw/40:height=ih/0:color=#212121@0.2 [vo]"



# Add Other Visualization (showwaves ... etc)

[mpv-visualizer]
# select which visualizer to use
profile=showcqt-visualizer

[extension.mp3]
profile=mpv-visualizer

[extension.aac]
profile=mpv-visualizer

[extension.wav]
profile=mpv-visualizer

[extension.ogg]
profile=mpv-visualizer

[extension.flac]
profile=mpv-visualizer

[extension.cue]
profile=mpv-visualizer

#[extension.mkv]
profile=mpv-visualizer

#[extension.m4a]
profile=mpv-visualizer
 

Hors ligne

#20 07-11-2020 17:33:07

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-12-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

ok ça roule merci je vais voir ça
reste a voir si mon lecteur de salon s'en sort avec un fichier cue
déja  il voit mon dossier partagé sur le réseau

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#21 07-11-2020 17:52:08

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Dans cette nouvelle mouture, les options  0 "quitter" et * "invalid key" ne fonctionne pas. Il faut que je les passe en condition.

Hors ligne

#22 07-11-2020 18:14:11

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-12-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

arf le lecteur salon plante sévère avec le fichier cue dommage
bon sinon c'est ok pour le vumètre
du coup j'ai créé le fichier /etc/mpv/mpv.conf
javais bien un fichier /etc/mpv/encoding-profiles.conf , mais en créant un fichier mpv.conf c'est au poil

Dernière modification par Croutons (08-11-2020 13:40:14)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#23 07-11-2020 18:51:34

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Croutons a écrit :

arf le lecteur salon plate sévere avec le fichier cue dommage



Effectivement, j'ai remarqué que certains player "sur le pc" ne prennent pas le cue. Même certains cue plus conventionels ne le sont pas plus. Je ne sais pas pourquoi hmm

Dernière modification par golgot200 (07-11-2020 18:52:39)

Hors ligne

#24 07-11-2020 20:08:53

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Je viens de tester plusieurs programmes qui génèrent des cue, même réactions de mes players récalcitrant. Les lecteurs ne doivent pas inclure la lecture par cue sheet.
Deadbeef et mpv, eux n'ont pas de problème. wink

Hors ligne

#25 07-11-2020 20:11:03

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.9.4-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Streamripper (play/record + programmation) wav + cue + Titres.txt

Modification :


#!/bin/bash

#### Help
# https://stackoverflow.com/questions/23577516/how-to-replace-all-matches-with-an-incrementing-number-in-bash
# https://unix.stackexchange.com/questions/23545/insert-a-new-line-after-every-n-lines

# How can I add lines to document every four lines?
# https://unix.stackexchange.com/questions/474172/how-can-i-add-lines-to-document-every-four-lines


#### Radios.


echo "Mes radios:"
echo -e "\e[3;32m1. \033[m \e[3;94mOldies_but_goldies\033[m"
echo -e "\e[3;32m2. \033[m \e[3;94mRadio_Italo4You\033[m"
echo -e "\e[3;32m3. \033[m \e[3;94mRadio_BOB\033[m"
echo -e "\e[3;32m4. \033[m \e[3;94mWitches_Radio\033[m"
echo

echo -n "Entrer votre choix, 0 pour quitter: "
read  choice
echo

if [[ $choice == 0 ]]; then
    echo "OK, see you!"
    exit 1
fi


if [[ $choice == "" ]]; then
    echo "Invalid input..."
    echo "Quit"
    exit 1
fi

if [[ $choice == 1 ]]; then
stream=http://orion.shoutca.st:8248/stream
folder=Oldies_but_goldies

fi

if [[ $choice == 2 ]]; then
stream=http://s0.radiohost.pl:8018/stream
folder=Radio_Italo4You

fi

if [[ $choice == 3 ]]; then
stream=http://bob.hoerradar.de/radiobob-acdc-mp3-mq
folder=Radio_BOB

fi

if [[ $choice == 4 ]]; then
stream=http://188.165.215.158:9181/listen.pls?sid=1
folder=Witches_Radio

fi

if [[ $choice != 0 || $choice != ""  ]]; then
mkdir -p "$folder/$(date +%d-%m-%y) à $(date +%H:%M:%S)"

    ( cd "$folder/$(date +%d-%m-%y) à $(date +%H:%M:%S)" || exit
mpv $stream >/dev/null 2>&1 | \
streamripper $stream -a -A -s \
                  --codeset-filesys=UTF-8 \
                  --codeset-id3=ISO-8859-15 \
                  --codeset-id3=ISO-8859-15 \
                  --codeset-relay=ISO-8859-15 \
                  -u FreeAmp/2.x

filename_cue=$(find . -type f -name "*.cue" | xargs --null basename)
filename=$(find . -type f \( -name "*.mp3" -o -name "*.ogg" -o -name "*.flac" \) -print0 | xargs --null basename)
tr -d '\0' < "$filename_cue" > data.cue
sed -i -e '1 s/^.*$/FILE "data.wav" WAVE/' data.cue
rm -f "$filename_cue"
ffmpeg -i "$filename" -acodec pcm_s16le -ar 44100 data.wav
rm -f "$filename"


grep -e 'TITLE' -e 'PERFORMER' data.cue | \
                   awk '{for(x=1;x<=NF;x++)if($x~/TITLE/){sub(/TITLE/,++i)}}1' | \
                   sed '0~2G' \
                   >> "Titres.txt"

#### Pour le fondu en ouverture et fermeture sur le single wave.
times=()
_t=$(ffmpeg -i data.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 -i data.wav \
                  -acodec pcm_s16le -ar 44100 \
                  -af "afade=t=in:ss=0:d=1,afade=t=out:st=${times[*]} :d=4" \
                  data-fade.wav
rm -f data.wav  
mv data-fade.wav data.wav

)  

fi
 

Hors ligne

Pied de page des forums