Skip to main content

Historique: splitvinyl

Aperçu de cette version: 22

SplitVinyl est un utilitaire permettant d'automatiser le découpage d'un fichier audio issu de l'enregistrement des faces d'un disque vinyle.

splitvinyl-v1_main.png



Informations

Site web officiel : https://sites.google.com/site/splitvinyl/home.
Version actuelle : 1.01.
Licence : GNU GPL v3.
Plateforme : GNU/Linux.
Développeurs : cjpsimon.

Description

Ce projet est une tentative d'automatiser le découpage d'un fichier audio issu de l'enregistrement des faces d'un disque vinyle.
Le but final est de créer autant de fichiers audio que de titres de l'album (face par face). Chaque enregistrement étant pourvu des informations sur l'auteur, le titre, l'album, la date etc...

Il y a donc plusieurs phases dans le production des fichiers audio :

  1. enregistrement des informations de l'album,
  2. numérisation de l'album
  3. découpage de l'album
  4. association des informations avec chaque fichier

Utilisation

Enregistrement des informations pour chaque titre.

  • Album.
  • Artiste(s).
  • Date.
  • Commentaire général.
  • Titre (piste).
  • Durée.
  • Nom du fichier du titre.
  • Format du titre.

Ces informations peuvent être collectées à différents moments suivant leur nature.

Peuvent être inscrits sur l'enregistrement de la face au moment de sa sauvegarde par le logiciel d'enregistrement ou dans le fichier d'information :

  • Album.
  • Artiste(s).
  • Date.
  • Commentaire général.


Peuvent être enregistrés dans le fichier d'information pour chaque titre dans l'ordre de l'enregistrement :

  • Titres.
  • Auteur du titre (ajouté au commentaire général).
  • Artistes du titre (ajouté au commentaire général).
  • Nom du fichier du titre.
  • Format du titre.

Peuvent être enregistrés dans chaque fichier audio :

  • Durées (calculées par le logiciel SplitVinyl).

Remarques : les formats d'enregistrements n'acceptent pas tous l'insertion de ces informations. Il y aura des choix à faire.

numérisation de l'album

L'album est numérisé par un logiciel. Pour l'instant le choix s'est porté sur Audacity car c'est le logiciel fournit par nombre de vendeur de platines vinyle USB, mais d'autres logiciels sont possibles bien entendu. Le choix du format d'enregistrement doit être reconnu par la bibliothèque de lecture par exemple libsndfile utilisé dans le premier développement permet les formats suivants :
  • WAV  : Microsoft WAV format (little endian default)
  • AIFF  : Apple/SGI AIFF format (big endian)
  • AU  : Sun/NeXT AU format (big endian)
  • RAW  : RAW PCM data
  • PAF  : Ensoniq PARIS file format
  • SVX  : Amiga IFF / SVX8 / SV16 format
  • NIST  : Sphere NIST format
  • VOC  : VOC files
  • IRCAM : Berkeley/IRCAM/CARL
  • W64  : Sonic Foundry's 64 bit RIFF/WAV
  • MAT4  : Matlab (tm) V4.2 / GNU Octave 2.0
  • MAT5  : Matlab (tm) V5.0 / GNU Octave 2.1
  • PVF  : Portable Voice Format
  • XI  : Fasttracker 2 Extended Instrument
  • HTK  : HMM Tool Kit format
  • SDS  : Midi Sample Dump Standard
  • AVR  : Audio Visual Research
  • WAVEX : MS WAVE with WAVEFORMATEX
  • SD2  : Sound Designer 2
  • FLAC  : FLAC lossless file format
  • CAF  : Core Audio File format
  • WVE  : Psion WVE format
  • OGG  : Xiph OGG container
  • MPC2K : Akai MPC 2000 sampler
  • RF64 : RF64 WAV file

L'étape de numérisation est importante car de sa qualité dépendra la qualité du résultat. Un format sans compression comme WAV sera préférable. Si la taille de l'enregistrement est critique le format OGG est le plus performant tout en conservant une qualité intacte en dessous de 20 khz si l'on en croit http://cf2mweb.phpnet.org/comparatif_audio/

Il y a cinq étapes dans la numérisation :

  1. nettoyage du disque vinyle : voir http://www.homemedia.fr/tests-guides/101-Enregistrer-vos-vinyles-en-MP3-grace-a-l-USB-3.html
  2. tests d'enregistrement pour faire le réglage du niveau d'enregistrement.
  3. Enregistrement de la face du disque avec audacity.
  4. Vérification de l'enregistrement.
  5. Sauvegarde de l'enregistrement avec renseignement (facultatif : on peut aussi fournir ces renseignements dans le fichier d'information) des information générales.

découpage de l'album

Le découpage de l'album en autant de fichiers que de titres se fait avec SplitVinyl à partir de l'enregistrement audio et du fichier des informations particulières aux titres.
Cette opération demande de fournir des valeurs comme la durée minimum de blanc entre chaque titre ainsi que le niveau sonore maxi du blanc (un blanc n'est jamais tout blanc).
SplitVinyl se charge de nettoyer les plages blanches des craquements du disque vinyle. De plus il permet d'ajouter une zone blanche d'une durée à fournir en début et en fin de titre.
Le but n'est pas de nettoyer l'enregistrement mais seulement de permettre le découpage du disque. Pour le nettoyage voire http://gwc.sourceforge.net/ ou autre. Bien sur un saut de sillon ne pourra pas être reconnu/réparé 😑.

Etat d'avancement

Un premier jet de programme à titre de preuve du concept permet le découpage d'une face d'un disque en autant de fichier que de titres. Ce résultat n'est possible actuellement qu'en jouant sur deux paramètres : le plafond de blanc (la valeur de niveau de son en dessous de laquelle on considère qu'il s'agit d'un blanc) et de la durée minimale des blancs du disque. Un algorithme simple à été développé et testé. Pour que le résultat soit exploitable il faut faire des essais pour trouver le bon paramétrage et cela pour chaque face de chaque disque à traiter.

Changelog

[+]

Notes

Outils utilisés

Le développement actuel est basé sur la lib libsndfile qui est portable sur de nombreux système et est d'une grande simplicité d'utilisation. Cette lib permet de lire et d'écrire et de modifier un fichier son. D'autre alternatives peuvent être envisagées.

D'autre part la lib mxml est utilisée pour le codages en XML du fichier d'information qui contient les tags générés dans les fichiers son de chaque titre. Le fichier d'information est à créer et remplir à l'aide d'un éditeur de texte standard. Voir un exemple dans le fichier readme sur le site https://sites.google.com/site/splitvinyl/ rubrique code version v 0.03.

Développement en cours

la version ligne de commande fonctionne sur des tests de fichiers .wav, je prévois de faire des tests pour les formats OGG et FLAC afin de valider les tags qui sont partiels dans le format .wav

Le développement est fait sous Eclipse en C mais n'est pas dépendant d'Eclipse.

L'IHM graphique est en cours de spécification, Une maquette est en cours de développement basée sur GTK : https://sites.google.com/site/splitvinyl/home/images.

A faire


  • Tester le fonctionnement sur plusieurs fichiers son et corriger les anomalies détectées par ces tests.

  • Permettre d'enregistrer les titres dans un format autre que celui du fichier source.

  • Développer l'IHM graphique.

  • Voir si des améliorations sont nécessaires et possibles.

  • Réfléchir à une restructuration pour une version finale.

Le nombre de lignes de code source est actuellement 2118 pour 15 fichiers.

Claude Simon

Historique

Information Version
Sun 01 Jul 2018 16:22 olinuxx 28
Afficher
Sun 01 Jul 2018 15:54 olinuxx + liens-forum 27
Afficher
Sun 01 Jul 2018 15:45 olinuxx + suppression d'anglicismes + ponctuations + coquilles + cohérence wiki + émoticône 26
Afficher
Thu 24 mai 2018 17:39 olinuxx déplacement info dans la page ((libsndfile)) 25
Afficher
Fri 19 Jan 2018 14:04 olinuxx + mise en page / cohérence wiki + liens internes + coquille + anglicisme 24
Afficher
Tue 09 Sep 2014 19:14 olinuxx mise en cohérence des variables : version logiciel + date 23
Afficher
Fri 05 Sep 2014 19:34 olinuxx Recherche et remplacement en masse 22
Afficher
Fri 05 Sep 2014 19:12 olinuxx Recherche et remplacement en masse 21
Afficher
Fri 05 Sep 2014 16:50 olinuxx Recherche et remplacement en masse 20
Afficher
Fri 05 Sep 2014 08:53 olinuxx Recherche et remplacement en masse 19
Afficher
Fri 05 Sep 2014 08:47 olinuxx Recherche et remplacement en masse 18
Afficher
Fri 05 Sep 2014 08:38 olinuxx Recherche et remplacement en masse 17
Afficher
Thu 04 Sep 2014 09:08 olinuxx Recherche et remplacement en masse 16
Afficher
Fri 01 Mar 2013 00:28 xzu {box} d'ariane virrée 15
Afficher
Thu 17 mai 2012 18:33 pianolivier modif lien(s) interne(s) 14
Afficher
Sun 11 Mar 2012 18:18 pianolivier 13
Afficher
Sun 11 Mar 2012 17:26 pianolivier +fil d'ariane 12
Afficher
Sun 26 Feb 2012 13:03 pianolivier auto-correction 11
Afficher
Sun 26 Feb 2012 13:02 pianolivier +section changelog 10
Afficher
Sun 30 Oct 2011 10:39 pianolivier idem 9
Afficher
Sun 30 Oct 2011 10:35 pianolivier mise aux normes de la page 8
Afficher
Wed 04 mai 2011 23:27 cjpsimon Développement en cours, 7
Afficher
Mon 02 mai 2011 00:19 cjpsimon 6
Afficher
Thu 21 Apr 2011 22:54 cjpsimon 5
Afficher
Thu 21 Apr 2011 22:54 cjpsimon 4
Afficher
Sat 09 Apr 2011 00:13 cjpsimon 3
Afficher
Sat 09 Apr 2011 00:13 cjpsimon 2
Afficher
Sat 09 Apr 2011 00:10 cjpsimon 1
Afficher