Votre boîte à outils vidéo privée. Choisissez un outil dans le menu ci-dessus.
Socle installé. Les outils Comparaison et Remplacement seront branchés ici, puis les briques suivantes au fur et à mesure.
Envoyez une vidéo et plusieurs fichiers FLAC. STUDIO détermine lequel correspond le mieux au clip (et est de meilleure qualité) pour remplacer l'audio.
Remplace l'audio d'une vidéo par un fichier studio (FLAC/WAV) haute qualité. Déposez une vidéo et un fichier audio, puis lancez le traitement.
Lien public (sans mot de passe) montrant la vidéo finale actuelle — à transmettre à un collaborateur pour visionnage.
Extrayez une chanson d'un album FLAC en un seul fichier, sans perte. Le FLAC est obligatoire ; la vidéo (détection indicative) et le .cue sont facultatifs. Les bornes proposées (cue / détection) sont toujours ajustables — au lecteur ou en saisie directe.
Retire les bandes noires (faux 16:9). Détection automatique, puis un cadre ajustable (poignées + flèches) au pixel près, un aperçu rapide, puis le rendu complet.
CRF bas = plus de qualité et de poids (0 = sans perte, ~18 = identique à l'œil, 23 = défaut, plus haut = plus léger). Preset plus lent = fichier plus léger à qualité égale (encodage plus long). H.265 = fichiers plus légers que H.264 mais encodage plus long et nécessite libx265 côté serveur.
Extraire un segment (début→fin) d'une vidéo, vers un MP4. Facultatif : un FLAC de référence pour localiser une chanson dans le film (résultats classés par ressemblance), puis ajuster au lecteur.
⚠ Ce format (?) ne se lit pas directement dans le navigateur. Générez un aperçu MP4 lisible (résolution au choix) pour repérer les timings — la coupe finale reste faite sur l'original, en pleine qualité. En « Film complet », cet aperçu est aussi une conversion MP4 complète, téléchargeable.
Ces réglages s'appliquent au mode Précis (réencodage) ci-dessus ; le mode Rapide (copie) les ignore. CRF bas = plus de qualité et de poids. Preset plus lent = fichier plus léger (encodage plus long). H.265 nécessite libx265 côté serveur.
Balaye toute une vidéo, en extrait les couleurs dominantes et propose des triplets pour sous-titres (texte / contour / ombre), lisibles et harmonieux. Codes hex.
Clique une pastille pour copier son code hex. « txt/contour » et « vs fond » = contrastes (plus haut = plus lisible).
Efface une incrustation (titre/interprète, logo…) sur une zone (cadre étirable) et une fenêtre temporelle [début→fin]. Seuls cette zone et ces secondes sont retouchés (inpainting IA big-lama) ; tout le reste est inchangé.
⚠ IOPaint (venv-inpaint) introuvable sur le serveur — le traitement est indisponible.
Repère le meilleur moteur, choisis-le, puis applique-le à la vidéo complète (encodage sur le VPS avec le profil ci-dessous).
Le défaut (CRF 16 / medium) préserve une qualité quasi identique à l'image reconstruite par l'inpainting. Choisis un profil plus léger seulement si le poids de stockage prime. CRF bas = plus de qualité et de poids ; preset plus lent = fichier plus léger à qualité égale. H.265 nécessite libx265 côté serveur.
Inpainting image par image (Fourier). Via IOPaint.
Inpainting vidéo TEMPOREL (propagation par flux). ICCV 2023.
Modèles plus performants (souvent GPU) pour une version future.
Compare 2 encodages (ex. slower vs veryslow) à leur vidéo source, via VMAF (+ min/centile), CAMBI (banding), MS-SSIM, SSIM, PSNR. Conclusion orientée stockage : garder la plus légère si sa qualité est au moins équivalente.
⚠ ffmpeg dédié à libvmaf introuvable (vendor/ffmpeg-vmaf) — VMAF indisponible.
Produit un JSON de mesures objectives (tempo, tonalité, tessiture,
notes tenues, respirations, instruments…) pour enrichir les « Conseils pour la chanter ».
Entrées : 3 WAV (complète / voix / instrumental) + facultatifs (FLAC studio,
annotations.json, .srt, clip_report.json).
Traitement détaché (tu peux fermer l'onglet ; notification à la fin).
⚠ venv-audio introuvable sur le serveur — moteur d'analyse indisponible.
Le JSON de mesures est prêt.
Cet outil produit, pour une chanson, un fichier JSON de mesures audio objectives (tempo, tonalité, tessiture, notes tenues, passages aigus, sauts, nuances, phrasé, position rythmique des entrées, hauteur par mot, etc.). Ce JSON n'est pas destiné à être lu tel quel : il alimente le générateur de la section « Conseils pour la chanter en karaoké » du site karaokeclip.video.
Principe cardinal : l'outil MESURE, il n'interprète jamais, et il est honnête sur la fiabilité de chaque mesure. Mieux vaut moins de données mais 100 % concrètes que des données inventées — le générateur de conseils ne doit jamais « halluciner ».
Traitement sur le serveur dans un environnement Python isolé (venv-audio),
sans GPU — comptez plusieurs minutes par titre. Le traitement est détaché : vous
pouvez fermer l'onglet, le navigateur ou l'ordinateur, il se poursuit et une notification arrive à
la fin.
Seuls les 3 fichiers WAV (bande complète, voix, instrumental) sont obligatoires. Les 4 autres sont facultatifs : leur absence ne bloque pas l'analyse, mais enrichit ou appauvrit le résultat comme détaillé ci-dessous. Les trois WAV doivent provenir de la même source, à la même base de temps.
| Champ | Statut | Ce qu'il apporte au JSON | Conséquence s'il est absent |
|---|---|---|---|
| Bande son complète WAV — E1 |
obligatoire | Base de temps de référence. Sert aux bornes du morceau, au loudness, aux battements/mesures (madmom), au tempo, à la tonalité & modulations, à la détection des passages non musicaux, et à la liste globale d'instruments (si aucun FLAC n'est fourni). | Analyse impossible (fichier requis). |
| Voix seule WAV — E2 |
obligatoire | Voix isolée (fournie par l'appli karaoké). Sert à l'activité vocale, à toute l'analyse de hauteur (CREPE) → tessiture, notes tenues, passages aigus, sauts, contour, vocalises, au débit, aux nuances, au contrôle paroles↔attaques et à la qualité de séparation. | Analyse impossible (fichier requis). |
| Instrumental seul WAV — E3 |
obligatoire | Sert au contrôle d'alignement (voix + instru doivent reconstituer la bande complète), à la détection de la batterie (HPSS) et au repérage des intro / breaks / outro instrumentaux. | Analyse impossible (fichier requis). |
| annotations.json mots — E5 |
facultatif | Paroles mot par mot (temps de chaque mot). Permet la hauteur par
mot (bloc lyrics_alignment.words), le contrôle temporel
(timing_check : écart mots↔attaques), et cible l'analyse de hauteur
uniquement dans les mots chantés (écarte vocalises hors-paroles et parasites). |
Pas de données par mot, pas de timing_check. La tessiture / notes tenues /
aigus / sauts restent calculés mais moins ciblés (filtrage par confiance
seul, sans masque de paroles). À défaut de SRT, le phrasé retombe sur les mots. |
| .srt lignes — E6 |
facultatif | Paroles ligne par ligne. Définit le phrasé (une ligne =
une phrase chantée), d'où dérivent les breaks instrumentaux et la
position rythmique des entrées, et remplit le bloc
lyrics_alignment.lines. |
Pas de phrasé par ligne ni de bloc lines. Le phrasé retombe sur les mots
(E5) ; sans E5 ni E6, le phrasé, les breaks et les entrées ne sont pas produits. |
| FLAC studio tags — E4b |
facultatif | Remplit source.flac : toutes les étiquettes du fichier
(titre, artiste, album, date, ISRC, identifiants MusicBrainz…) + durée / fréquence /
profondeur. Ces tags permettent de présélectionner l'enregistrement exact.
Le FLAC (le plus « pur ») sert aussi, s'il est présent, à calculer la liste globale
d'instruments. |
Pas de bloc source.flac (aucun tag). La liste d'instruments est alors
calculée sur la bande complète (E1) au lieu du FLAC. |
| clip_report.json remplacement — E4 |
facultatif | Rapport produit par l'outil de Remplacement audio : correspondance
studio↔vidéo, décalage, fondus, ratio de tempo. Destiné à remplir
source.replacement. |
Pas de bloc source.replacement.
⚠ État actuel : cette entrée n'est pas encore finalisée —
aujourd'hui le rapport n'est exploité que si le FLAC (E4b) est aussi fourni, et les
tags du FLAC ne sont pas encore embarqués dans le rapport. (Évolution prévue : voir §5.) |
Avant toute mesure, l'outil vérifie que voix + instrumental reconstituent bien la bande complète (même durée à ~quelques dizaines de ms près, décalage ≤ 10 ms, corrélation suffisante). Si ce contrôle échoue, aucun JSON n'est produit : un fichier décalé fausserait tous les horaires (entrées, phrases, notes…). C'est volontaire.
generated — versions des bibliothèques, processeur, tous les seuils
utilisés, graine de déterminisme, durées de traitement.subject — title, artist, kc_key (saisis dans
les champs « Identité » ; purement pour la lecture humaine).inputs — le contrôle d'alignement + empreinte (sha256), durée,
fréquence et nombre de canaux de chaque WAV.mix — bornes du morceau, loudness, battements &
mesures, tempo (BPM, stabilité, segments), tonalité
(+ accord entre profils, modulations conservatrices).
(structure, descriptors, non_music_segments
non fournis ou rares.)vocals — activité vocale, contour de hauteur, tessiture
(range), notes tenues, passages aigus,
sauts (intervalles), vocalises hors-paroles,
phrasé, débit (onset rate), nuances
(dynamique), qualité de séparation (dont in_lyrics_pitch_ratio,
l'indicateur clé de fiabilité de la hauteur).instrumental — intro, breaks,
outro (avec mesures/temps), batterie (entre / s'arrête), et
instruments (fiabilité basse — indication contextuelle seulement).entries — position rythmique des entrées de chant (n° de mesure, temps dans la
mesure, anacrouse), null si l'attaque tombe hors de la grille rythmique.lyrics_alignment — words (hauteur par mot, E5),
lines (hauteur par ligne + entrée, E6), timing_check (écart
mots↔attaques).source — flac (tags du FLAC studio, E4b) et
replacement (données du remplacement, E4).warnings — la liste honnête de tout ce qui a été dégradé, manquant ou peu fiable
(ex. fichier absent, hauteur peu fiable, séparation médiocre…).Évolution prévue (à valider) : embarquer les tags du FLAC dans le
clip_report.json au moment du remplacement, pour que le FLAC devienne
inutile à fournir ici dès lors que le rapport est présent, et aligner le bloc
source.replacement sur le schéma de l'architecte.
Vérifie que les logs SSH s'affichent bien en continu (et pas par paquets).