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 27/11/2014, à 09:31

renaud07

[Résolu] Musiques libre en FLAC

Bonjour,

J'aimerais savoir s'il existe un site comme Jamendo, qui propose contrairement à celui-ci, les musiques en FLAC ou WAV. Car du OGG à 112k et du MP3 à 192k, je trouve ça un peu limite...

Merci.

Dernière modification par renaud07 (Le 27/11/2014, à 19:24)


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#2 Le 27/11/2014, à 17:18

Ras'

Re : [Résolu] Musiques libre en FLAC

Pour Jamendo ; j'avais une URL pour laquelle il suffisait de remplacer un bout par l'ID de l'album que tu voulais télécharger et ça le récupérait une archive en FLAC directement.
Sinon tu as ce petit script qui a l'air de faire la job.

En revanche je n'ai pas d'autre site sous la main.

Dernière modification par Ras' (Le 27/11/2014, à 17:19)


Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
 
Les types awesome n'ont rien à prouver. À personne.
'k bye là

Hors ligne

#3 Le 27/11/2014, à 18:08

renaud07

Re : [Résolu] Musiques libre en FLAC

Merci pour la réponse.

J'ai effectivement vu ce script, et je viens de le tester mais malheureusement, ça me sort une erreur, donc impossible de télécharger. Voici l'erreur en question :

renaud@linuxdiff ~ $ ./jam.py
N° ou URL : a53098
Traceback (most recent call last):
  File "./jam.py", line 17, in <module>
    album, artiste = html.split('title')[2].strip('</> ').split(' - ')[0].split(' by ')
ValueError: need more than 1 value to unpack

Une idée ?


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#4 Le 27/11/2014, à 18:30

Ras&#039;

Re : [Résolu] Musiques libre en FLAC

Poste directement sur le topic son créateur regardera, je ne parle pas python (et j'ai la flemme de regarder tongue)


Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
 
Les types awesome n'ont rien à prouver. À personne.
'k bye là

Hors ligne

#5 Le 27/11/2014, à 18:59

renaud07

Re : [Résolu] Musiques libre en FLAC

Ras' a écrit :

Poste directement sur le topic son créateur regardera

C'est fait smile

Sinon, je viens de trouver 2 scripts bash qui fonctionnent, le problème c'est qu'on dirait que ça télécharge un album aléatoirement, et je ne vois pas ce qu'il faut modifier pour prendre en compte un album en particulier...

Voici :

Script flacmendo

#!/bin/bash
# deps: bash, curl, sed, metaflac, jq
# remember to insert your own application client id (see CLIENTID below)
# to get an application client id register at http://developer.jamendo.com

set -e
set -u

function filtername() {
	tr -cs "[:alnum:] \-&\(\)\?!" _
}

function j() {
	echo -n "$1" | jq -r "$2"
}

CLIENTID="YOUR_CLIENT_ID"
ALBUMID=$(echo "$1" | sed -e 's/.\+\/list\/a\([0-9]\+\)\/.\+$/\1/')
BASEURL="http://api.jamendo.com/v3.0"

JSON=$(curl -s "$BASEURL/albums/tracks?client_id=$CLIENTID&format=json&limit=1&id=$ALBUMID&imagesize=500&audioformat=flac")
DATA=$(j "$JSON" '.results[0]')

IMGURL=$(j "$DATA" '.image')
ARTIST=$(j "$DATA" '.artist_name')
ALBUM=$(j "$DATA" '.name')
RELEASEDATE=$(j "$DATA" '.releasedate')
ALBUMDIR=$(echo -n "$ARTIST - $ALBUM" | filtername)

TRACKS=$(j "$JSON" '.results[0].tracks')
LENGTH=$(j "$TRACKS" '.|length')
PADLENGTH=$(printf %02d $LENGTH)

echo "$ARTIST - $ALBUM"
echo "Creating directory..."
mkdir -p "$ALBUMDIR"
cd "$ALBUMDIR"

echo "Saving album cover..."
curl -s -z folder.jpg -o folder.jpg "$IMGURL"

for ((i=0; i<$LENGTH; i++)); do
	TRACK=$(j "$TRACKS" ".[$i]")
	NAME=$(j "$TRACK" '.name')
	POS=$(printf "%02d\n" $(j "$TRACK" '.position'))
	FILENAME=$(echo -n "$POS - $ARTIST - $NAME" | filtername)".flac"
	FILEURL=$(j "$TRACK" '.audiodownload')
	LICENSEURL=$(j "$TRACK" '.license_ccurl')
	echo "Downloading \"$NAME\"..."
	curl --progress-bar -o "$FILENAME" "$FILEURL"
	echo -ne "\r\033[1A\033[0K\r"
	metaflac --remove-all-tags \
	         --set-tag="ARTIST=$ARTIST" \
	         --set-tag="TITLE=$NAME" \
	         --set-tag="ALBUM=$ALBUM" \
	         --set-tag="LICENSE=$LICENSEURL" \
	         --set-tag="COPYRIGHT=$LICENSEURL" \
	         --set-tag="TRACKNUMBER=$POS" \
	         --set-tag="TRACKTOTAL=$PADLENGTH" \
	         --set-tag="DATE=$RELEASEDATE" \
	         --set-tag="DISCNUMBER=1" \
	         --import-picture-from="folder.jpg" \
	         "$FILENAME"
done

Script jamendo-dl

#!/bin/bash
# Download Jamendo album (single tracks not supported yet) in FLAC format (YA RLY!)
inurl="$1"
albumid="`echo "$inurl" | sed -e 's/.\+\/list\/a\([0-9]\+\)\/.\+$/\1/'`"
foldername="`echo "$inurl" | sed -e 's/.\+\/list\/a\([0-9]\+\)\/\(.\+\)$/\1_\2/'`"
# get metadata
artist_name="`wget -O - -q "http://api.jamendo.com/get2/artist_name/album/plain/?album_id=$albumid"`"
album_name="`wget -O - -q "http://api.jamendo.com/get2/name/album/plain/?album_id=$albumid"`"
#echo "$albumid $foldername" #debug
targetdir="./$foldername"
mkdir -p "$targetdir"
trackn=1
( wget -O - -q "http://api.jamendo.com/get2/stream+name/track/plain/album_track/?n=100&order=numalbum_asc&streamencoding=flac&album_id=$albumid"; echo '' ) | while read track_url track_name; do
#sleep 2
if [ "x$track_url" == "x" ]; then
break
fi
track_name_safe="`echo "$track_name" | tr -c 'a-zA-Z0-9' '_'`"
tracknp=$trackn
if [ $trackn -lt 10 ]; then
tracknp=0$trackn
fi
trackfile="$targetdir/${tracknp}_${track_name_safe}.flac"
wget -c -O $trackfile "$track_url"
# set metadata
metaflac --set-tag="TITLE=$track_name" --set-tag="ARTIST=$artist_name"\
--set-tag="ALBUM=$album_name" --set-tag="TRACKNUMBER=$trackn" $trackfile
trackn=$[$trackn+1]
done

Dernière modification par renaud07 (Le 27/11/2014, à 19:02)


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne

#6 Le 27/11/2014, à 19:08

Ras&#039;

Re : [Résolu] Musiques libre en FLAC

J'imagine que tu lance le script avec l'url de ton album en argument et qu'il retrouve l'albumID avec sed, c'est ce que ça a l'air de faire (même si j'ai encore la flemme de décripter du sed à l'oeil et pas de machine sous GNU/Linux au boulot pour tester ça). C'est ce que font les deux premières lignes du script :

inurl="$1"
albumid="`echo "$inurl" | sed -e 's/.\+\/list\/a\([0-9]\+\)\/.\+$/\1/'`"

Essaie de lancer le script avec ton URL en argument.


Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
 
Les types awesome n'ont rien à prouver. À personne.
'k bye là

Hors ligne

#7 Le 27/11/2014, à 19:22

renaud07

Re : [Résolu] Musiques libre en FLAC

Yes ! Ça marche ! cool Je me demande bien pourquoi j'y ai pas pensé plus tôt...

Merci beaucoup wink

J'utilise donc jamendo-dl.

Dernière modification par renaud07 (Le 27/11/2014, à 19:25)


Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz  - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits

Hors ligne