Archives de catégorie : Logiciels libres

Taguer ses fichiers audio en ligne de commande avec beets

Après mon post pour taguer les fichiers audio via via une interface graphique, voici le complément pour taguer les fichiers en ligne de commande avec l’outil beets avec quelques scripts utiles.
Beets est un outil écrit en python qui tout comme MusicBrainz Picard permet de taguer automatiquement les fichiers audio à partir de la base de données musicales de MusicBrainz. Rappelons que MusicBrainz est une vaste bibliothèque musicale totalement libre qui collecte des métadonnées musicales que tout un chacun peut alimenter.

Beets utilise une base de données locales où sont stockées les métadatas par fichier audio, les mêmes métadatas peuvent être enregistrés dans chaque fichier. Je l’ai installé sur ma mageia 9 tout simplement en tapant pip install beets

Le fichier de configuration se trouve sous /home/olivier/.config/beets/config.yaml et contiendra a minima

directory : /anatole/beets-music #le répertoire contenant les fichiers audio qui seront copiés ou déplacés
library: /anatole/beets-music/music-database.db #la base de données

import:
    copy: no #si yes les fichiers audio modifiés seront copiés dans le répertoire défini plus haut
    move: no #si yes les fichiers audio modifiées seront déplacés dans le répertoire défini plus haut
    write: no #si yes les métadatas seront enregistrés dans le fichier, si no elles seront seulement enregistrées dans la base de données

Maintenant pour importer des fichiers audio, il suffit d’indiquer le répertoire où se trouvent les fichiers audio en tapant beet import -s /anatole/musiques/classement\ par\ genre/rock

L’option -s pour singleton permet de traiter chaque fichier comme une piste indépendante, sinon par défaut il va considérer que toutes les pistes du répertoire font partie d’un unique album. Le traitement va se lancer de manière plus ou moins automatique, quand il identifie sans ambiguïté un fichier audio, on va avoir quelque chose comme cela

/anatole/musiques/classement par genre/rock/ACDC - hell bells.mp3
Tagging track: AC/DC - Hells Bells
URL:
    https://musicbrainz.org/recording/5da479ac-3b98-43f6-88d8-6afeb9ccfcc7
(Similarity: 100.0%)

/anatole/musiques/classement par genre/rock/ACDC - highway to hell.mp3
Tagging track: AC/DC - Highway to Hell
URL:
    https://musicbrainz.org/recording/5935ec91-8124-42ff-937f-f31a20ffe58f
(Similarity: 100.0%)

/anatole/musiques/classement par genre/rock/ACDC - Let Me Put My Love Into You.mp3
Tagging track: AC/DC - Let Me Put My Love Into You
URL:
    https://musicbrainz.org/recording/69de4ab7-bfce-424e-b109-d96b34801516
(Similarity: 100.0%)
Continuer la lecture de Taguer ses fichiers audio en ligne de commande avec beets

Les timelines multiples sous Kdenlive et reconnaissance vocale avec whisper

La version 23.04 du logiciel de montage vidéo opensource Kdenlive avait emmené l’évolution majeure des timelines multiples ou séquences (nested timelines en anglais) comme je l’avais rapporté dans ce post.

Je l’utilise maintenant sans cesse et il me semblait utile de vous présenter plus en avant cette fonctionnalité dans un tutoriel vidéo que voici.

Ça m’a permis de tester la fonctionnalité Whisper basée sur l’intelligence artificielle qui permet de faire du sous titrage automatique et même de la traduction en anglais. Elle se base sur PyTorch qui est une bibliothèque opensource écrite en python d »apprentissage profond (deep learning) qui peut utiliser le GPU s’il est compatible.

Continuer la lecture de Les timelines multiples sous Kdenlive et reconnaissance vocale avec whisper

Rétrospective windsurf 2023

L’année 2023 et maintenant derrière nous, je peux faire le bilan de navigation windsurf de l’année. Depuis que j’ai migré dans le Var mon compteur de sortie s’est effondré, le vent est bien plus absent avec des périodes de pétole très longues et j’ai joué de malchance avec du vent dans la semaine et rien le week end, par ailleurs compte tenu de la galère pour se garer sur les spots de la presqu’île de Giens j’ai fait une croix sur les conditions de vent light et je ne sors qu’avec un bon 25 nœuds établis, forcément ça limite les sorties. A vrai dire je n’ai pas de regret, j’apprécie la température et de pouvoir profiter de la côte sans avoir à m’emmitoufler ou sortir l’imperméable et je me suis accessoirement remis à la plongée.

Donc au total à peine 22 sorties, 21 en vague avec mon flotteur JP Young Gun de 70l, 1 en slalom avec mon exocet RS2 de 91l, 7 sorties en 3.4, 8 en 4.2, 11 en 4.7 et 1 en 5.7.

Et une vidéo qui résume tout ça

Dans le lot il y a eu quelques sessions mémorables, notamment du côté du spot de la Bergerie, qui n’apparaissent pas dans la vidéo et quelques trop rares sessions où le Passe Pied à l’Almanarre fonctionnait avec quelques bonnes vagues.

Le tout est filmé avec une GoPro HD9 fixée à différents endroits, histoire de varier les vues. La vidéo est montée comme toujours sous linux avec kdenlive 23.08.3 et j’ai vraiment pu exploiter à fond la fonctionnalité des séquences nouvellement arrivée avec les dernières versions. Cela permet vraiment de pouvoir monter des projets complexes beaucoup plus simplement.

Taguer ses fichiers audio

Cet article a d’abord été posté sur linuxfr.

Le contexte

Même si je dispose d’un compte Deezer depuis plus de dix ans, j’entretiens de longue date une base de fichiers audio pour mon usage personnel et privé, n’étant pas toujours connecté ne serait-ce dans les transports (train, avion notamment).

Étant assez peu regardant sur la qualité audio, d’une part parce que je suis loin d’avoir l’oreille musicale vu qu’elle a subi les affres de la plongée sous marine (je souffre d’acouphène) et d’autre part je n’ai pas investi dans des lecteurs haut de gamme et coûteux, j’ai donc principalement des fichiers au format MP3 avec un bitrate tout de même de 192kb/s en moyenne.

J’ai toujours pris soin de remplir proprement les métadonnées qui sont inclues dans les fichiers car c’est toujours sympa de savoir ce qu’on écoute et c’est encore mieux si le lecteur affiche la jaquette de la piste. Par ailleurs il est indispensable de disposer de ces données pour pouvoir construire rapidement des listes de lecture suivant différents critères comme la date ou le genre musical.

Quelle que soit l’origine du fichier audio, ces métadonnées ne sont pas forcément remplies ou complètes et il faudra pouvoir les modifier grâce à divers outils d’édition, mais avant cela juste un petit mot sur les métadonnées audio.

Les formats de métadonnées audio

ID3 est de facto le standard utilisé pour les métadonnées audio qui signifie  » IDentify an MP3″, mais en fait il ne s’applique pas qu’aux fichiers MP3, cela marche également pour les fichiers audio FLAC ou OGG. Il se décline en plusieurs versions:

  • ID3v1: c’est la première version qui date de 1996, où on retrouve des informations comme le titre, l’artiste, l’album, l’année de parution, un commentaire et le genre musical
  • ID3v1.1: idem avec le numéro de la piste sur l’album
  • ID3v2: c’est beaucoup plus riche, on peut rajouter à peu près tout et n’importe quoi, en plus de l’image de l’album, on peut aller jusqu’aux paroles de la piste, le compositeur, l’arrangeur, etc. on trouve également d’autres champs intéressants pas toujours utilisés par les lecteurs comme ReplayGain qui donne le volume sonore de la piste et permet la normalisation du son à la lecture. La dernière version de ce standard est la ID3v2.4 qui date tout de même de l’an 2000, presque une éternité.

ID3 n’est pas le seul format d’encodage des métadonnées audio, sans évoquer les formats propriétaires (iTunes, ASF/Windows media, …) il existe également les formats documentés et ouverts:

  • les tags APE qui existent dans les versions APEv1 et APEv2 dont on retrouvera ici la description de l’ensemble des champs, il a le défaut de ne pas embarquer d’image de la jaquette
  • les tags vorbis qui peuvent être utilisés pour les fichiers audio Vorbis, FLAC, Theora et Speex, on retrouvera le format des différents champs par
Continuer la lecture de Taguer ses fichiers audio

Étalonnage vidéo

Je monte mes vidéos depuis déjà pas mal de temps et je n’avais jamais réellement procéder à de l’étalonnage vidéo, pourtant c’est réputé pour participer à la finition d’une vidéo et c’est souvent la dernière étape avant le rendu final.

L’étalonnage vidéo consiste à modifier, le contraste, la luminosité ou même les couleurs de la vidéo. Il a deux objectifs, tout d’abord un objectif technique qui consiste à corriger la vidéo, en effet tous les rushs de la vidéo n’ont pas été pris dans les mêmes conditions de temps et de luminosité et il est parfois nécessaire d’homogénéiser l’ensemble. Le deuxième objectif est de donner un rendu particulier à la vidéo, c’est la touche artistique de créativité, on peut prendre l’exemple des films de Caro et Jeunet comme Délicatessen avec l’effet sepia qui va renforcer le côté sombre, inquiétant et oppressant.

Kdenlive offre des outils puissants pour jouer sur l’étalonnage vidéo et pas forcément très simple d’utilisation. En basculant sur le mode Couleur les principaux outils d’analyse font leur apparition sur la gauche et la droite.

Sur la gauche:

  • l’étalage RVB: une image est constituée d’un mélange des couleurs primaires Rouge, Vert et Bleu, cet outil permet de visualiser la distribution de ses 3 composantes, on appelle ça la chrominance.
  • la forme d’onde: qui donne la luminosité de l’image ou luminance
  • le vecteurscope: qui permet d’afficher une roue chromatique pour apporter des corrections colorimétriques à l’image, une couleur saturée (intense) sera plus éloignée du centre au contraire d’une image terne qui sera plus proche du centre.

Sur la droite:

  • l’histogramme : ces courbes donnent l’histogramme de la luminance pour chaque composante de couleur de la vidéo. La luminance évolue de 0 à 255 sur l’axe des abscisses, l’ordonnée correspond aux nombres de pixels avec la luminance concernée sur l’image sélectionnée en cours. En gros à 0, l’image n’a aucune luminance, elle est donc noire et à 255, la couleur est très intense.

Le réglage de tout cela est très complexe, des sites comme celui-ci entrent davantage dans le détail des explications et j’avoue que pour l’instant j’ai survolé le sujet. Pour en savoir plus je vous renvoie vers les pages du manuel (en anglais) de kdenlive (Manuel sur l’histogramme, Manuel sur l’étalage RVB et la forme d’onde, Manuel sur le vecteurscope).

Pour faire simple on pourra se contenter d’appliquer certains effets de correction de couleur comme la balance des blancs ou appliquer un modèle de LUT (Look Up Table) qui est un ensemble de valeurs préconfigurées pour modifier le rendu de la vidéo. Pour cela on utilisera l’effet Apply LUT, 4 modèles sont disponibles par défaut.

En cliquant sur le bouton   on pourra télécharger d’autres modèles mis à disposition de la communauté ou sinon on peut en trouver sur internet, kdenlive prend en charge les LUT créés par After Effects (.3dl), Iriadas (.cube), DaVinci Resolve (.dat) et Pandora (.m3d) qu’on peut télécharger en choisissant Custom… dans la liste déroulante des modèles. Des sites comme celui-ci en propose en téléchargement, il faudra s’enregistrer mais cela vaut le coup.

Pilotage d’un onduleur sous linux

Après avoir installé mon mini serveur Lenovo M92p je n’avais pas encore installé le nécessaire pour pouvoir piloter mon onduleur APC Back-UPS XS 950U. Maintenant que je suis passé à la dernière version Mageia 9, il était grand temps de le faire.

J’avais déjà rédigé des articles à ce sujet avec un onduleur et des versions précédentes qu’on retrouvera ici et avec l’utilisation de NUT (Network UPS Tools) qui pourront encore éventuellement servir.

Considérant que j’avais un onduleur APC j’ai installé l’utilitaire APC UPS daemon prévu pour. On retrouvera dans cette page l’installation du serveur à partir des sources mais sur ma mageia 9 je me suis contenté de l’installer via urpmi. La suite de la configuration est assez simple, on active le daemon en tapant:

systemctl enable apcupsd

Puis on éditera le fichier de configuration /etc/apcupsd/apcupsd.conf qu’on retrouvera ci-dessous avec des commentaires pour certains paramètres, les autres étant par défaut.

#nom de l'onduleur
UPSNAME onduleur

#type de connexion
UPSCABLE usb
UPSTYPE usb
DEVICE

LOCKFILE /run/lock
SCRIPTDIR /etc/apcupsd
PWRFAILDIR /etc/apcupsd
NOLOGINDIR /etc

# on laisse 6s à apcupsd pour réagir
ONBATTERYDELAY 6

# si une coupure de courant survient, l'arrêt est déclenché quand le pourcentage restant est inférieur est égal à la valeur définie par BATTERYLEVEL
BATTERYLEVEL 5

# si une coupure de courant survient, l'arrêt est déclenché quand le temps restant est inférieur est égal à la valeur définie par MINUTES
MINUTES 3

TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0

# pour pouvoir monitorer via un navigateur
NETSERVER on
NISIP 127.0.0.1
# port du serveur
NISPORT 3551

#fichier log
EVENTSFILE /var/log/apcupsd.events
#taille max en Ko
EVENTSFILEMAX 10

UPSCLASS standalone
UPSMODE disable

STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0
Continuer la lecture de Pilotage d’un onduleur sous linux

Installation de Mageia 9

Suite à la sortie de Mageia 9 j’ai passé un peu de temps ce week end à migrer trois de mes postes Lenovo, 2 postes clients Thinkpad x220 et x240 et surtout mon petit serveur personnel Thinkcenter M92p dont j’avais vanté les mérites sur linuxfr.org.

Habituellement je fais des mises à jour, il y a bien longtemps que je ne repars pas à zéro et réinstallant tout. Les mises à jour sont maintenant parfaitement maîtrisées et on gagne un temps fou car elles reprennent les fichiers de configuration existant. Généralement les modifications de configuration sont de l’ordre du cosmétique. Mais quelle ne fut pas ma surprise sur mon serveur, il avait purement et simplement supprimé ma configuration NFS et sendmail qu’il a fallu que je redescende. J’ai été bien content d’avoir mis en place une sauvegarde borg. J’ai retrouvé assez vite mes petits en montant la sauvegarde système de la veille et en copiant les fichiers manquants.

A part ça je constate encore que le ménage des anciens paquets rpm de la mageia 8 laisse encore à désirer, ll en reste par dizaine et dizaine qui ne sont pas supprimés du système. Le script bash suivant permet de les supprimer d’un seul coup.

#!/bin/bash
rpmfiles=$(rpm -qa | grep mga8);
for f in $rpmfiles
do
 urpme --auto $f
done

Globalement cette Mageia 9 apporte peu de nouveautés à part des évolutions de version, elle utilise encore les vieux scripts de la Mandrake écrits en perl qu’il serait sans doute temps de changer. Il y a quand même une nouveauté, la commande remove-old-kernels qui comme son nom l’indique permet de supprimer les anciens noyaux qui s’accumulaient jusqu’à présent si on ne faisait pas manuellement le ménage de temps à autre.

 Bienvenue à 'remove-old-kernels' Interactive

 System: Mageia release 9 (Official) for x86_64 | Noyaux dans /boot/:4 | AUTO:1 | GARDER:3  
 ==> kernel-desktop
 1   : Garder : U   : kernel-desktop-6.4.9-4.mga9.x86_64            jeu. 31 août 2023 16:47:49 
 2   : Garder :     : kernel-desktop-6.4.9-2.mga9.x86_64            lun. 14 août 2023 20:03:37 
 3   : Garder :     : kernel-desktop-6.4.8-2.mga9.x86_64            ven. 04 août 2023 13:00:50 
 4   : Enlever:     : kernel-desktop-6.4.7-3.mga9.x86_64            mer. 02 août 2023 15:42:47 
                U = En usage maintenant
Enlever 1 noyau: ? y/N/i (y=oui N=non i=confirmer pour chaque) y 

désinstallation de kernel-desktop-6.4.7-3.mga9.x86_64

J’ai commencé également à upgrader les différents services de mon serveur, Pour mon serveur httpd, je suis ainsi passé à Apache 2.4.57, PHP 8.2.10 et MariaDB 11.1.2. Prochaine mise à jour de FUNIX à venir pour prendre en compte cette montée en version.

Kdenlive 23.08.1

J’ai installé la version 23.08.1 du logiciel de montage vidéo Kdenlive qui n’introduit pas d’évolutions majeures si ce n’est quelques évolutions qui concerne les outils de la timeline. Elles sont présentées ici. Ça ne devrait pas changer beaucoup ma manière d’utiliser kdenlive. La dernière évolution majeure reste l’apparition des séquences qui permet pour un projet d’avoir plusieurs sous projets avec des timeline spécifiques.

J’ai pu constater également qu’il ne prenait plus compte du fichier kdenliverc existant, il faut refaire toute la configuration personnalisée, et ça se passe plutôt mal pour recharger d’anciens projets. Il vaut donc mieux ne pas faire la mise à jour alors qu’on a un projet en chantier.

En attendant un projet plus complexe ma première vidéo montée est sur mon compte instagram.

Sortie de Kdenlive 23.04

Kdenlive 23.04 vient de sortir, ce n’est pas une simple version, elle intègre une évolution majeure attendue depuis fort longtemps par les aficionados de kdenlive dont je fais partie. Il s’agit des timelines multiples (ou nested timelines en anglais), c’est particulièrement utile pour les projets complexes et kdenlive rattrape enfin flowblade sur ce point là. Jusqu’à présent il fallait faire avec une timeline surchargée qui couvrait l’ensemble du projet avec les difficultés et contraintes que ça impose pour modifier le fil du projet, rajout, suppression ou réaménagement.
Maintenant chaque séquence du projet fait l’objet d’une timeline spécifique, comme on peut le voir sur la copie d’écran ci-dessous.

Dans cet exemple j’ai un projet avec 3 séquences et une séquence finale qui comprend le projet complet. Chaque séquence a son onglet de timeline spécifique avec le nombre de pistes, le zoom et le paramétrage qui lui sont propres. Quand on a fini de travailler sur chacune des séquences, on passe à la séquence finale qui va regrouper toutes les autres séquences, on les glisse à partir des Sources du projet sur la timeline finale dans l’ordre souhaité.

Cette version intègre bien d’autres évolutions qui sont présentées par ici, je n’ai pas encore tout testé, mais j’ai retenu l’intégration du système de reconnaissance vocale whisper pour générer des sous titres et qui permet une traduction automatique en anglais.

Pour aller plus loin un tutoriel sur l’utilisation de kdenlive patiemment entretenu par votre serviteur.

Passage à Digikam 7.10.0

Je suis passé à la dernière version 7.10.0 du gestionnaire de photos évolué digikam que j’avais déjà évoqué dans un précédent post. Mais auparavant j’ai upgradé ma Mageia 9 cauldron à la version de ce jour. Ça s’est fait sans trop de difficultés mis à part que mon répertoire /usr de 26Go devient trop petit, j’ai dû déplacer /usr/share sur une autre partition et créer un lien. Pour la mise à jour du noyau et du driver nvidia qui a toujours été une difficulté, ça s’est passé sans encombre, au reboot en mode normal, il a reconstruit le module et l’interface graphique s’est lancée dans la foulée sans erreur particulière.

Mais revenons à digikam, j’ai buté sur la compilation pour une sombre histoire de référence indéfinie avec cette erreur

/usr/lib64/libQt5WebEngineCore.so.5 : référence indéfinie vers « av_stream_get_first_dts@LIBAVFORMAT_59 »

Je me doutais qu’il pouvait y avoir un mélange entre mon FFMPEG perso compilé sous /usr/local/lib et celui par défaut de ma Mageia sous /usr/lib64, mais que ce soit l’un ou l’autre j’avais toujours la même erreur. Je me suis rabattu sur la version flatpak mais il manquait la clé GPG. Finalement j’ai installé la version appimage directement disponible sur le site de digikam.

Entre la dernière version 7.8.0 qui tournait sur ma mageia 8, il n’y a pas d’évolutions majeures, ça reste une version de maintenance en attendant la version 8. Voici une copie d’écran avec le tri par la position GPS contenue dans les informations exif.

J’en ai profité pour virer le cairo dock de mon environnement de bureau XFCE, j’ai opté pour deux tableaux de bord fixes à droite et à gauche, ça me permet de couvrir davantage l’écran de bas en haut et j’y gagne en confort de visualisation. On notera également le thème sombre de digikam plutôt sympa.