Guide complet sur la synchronisation des paroles dans Salt Player : du paramétrage de base à l'optimisation embarquée

L'affichage des paroles est un élément crucial de l'expérience d'écoute numérique. Cependant, de nombreux utilisateurs de Salt Player font face à des textes désynchronisés, des erreurs d'encodage ou des difficultés de lecture dans certains contextes comme la conduite. Salt Player, en tant que lecteur audio local performant, propose des outils avancés pour pallier ces problèmes. Ce guide technique détaille comment structurer vos fichiers et configurer l'application pour obtenir une expérience fluide.

![Logo Salt Player](https://raw.gitcode.com/GitHub_Trending/sa/SaltPlayerSource/raw/40b4238e22f850d2b35b39ade4c1ae4595c2a872/src/App GitHub Header.png?utm_source=gitcode_repo_files)### Diagnostic des erreurs d'affichage courantes

Avant d'appliquer des solutions techniques, il est nécessaire d'identifier l'origine des dysfonctionnements, qui se classent généralement en trois catégories : 1. Défaut de nommage : Le moteur de recherche interne ne parvient pas à lier le fichier audio et le fichier .lrc. 2. Conflit d'encodage : L'utilisation du format ANSI ou GBK (courant sur Windows) au lieu de l'UTF-8 provoque l'apparition de caractères illisibles. 3. Métadonnées incomplètes : L'absence de tags ID3 (Artiste, Titre) empêche la récupération automatique via les serveurs en ligne.

Astuce : Si les paroles ne s'actualisent pas après une modification de fichier, videz le cache de l'application dans les paramètres système pour forcer une réindexation de la base de données SQLite du lecteur.

Automatisation de la gestion des fichiers de paroles

Pour les bibliothèques musicales volumineuses, une gestion manuelle est inenvisageable. Le script Python suivant permet d'harmoniser les noms des fichiers de paroles avec ceux des pistes audio correspondantes afin de garantir une détection immédiate par Salt Player. ``` import pathlib import re

def synchroniser_noms_paroles(chemin_musique): """ Parcourt le répertoire pour renommer les fichiers .lrc en fonction des fichiers audio (.mp3, .flac, .m4a) correspondants. """ dossier = pathlib.Path(chemin_musique) extensions_audio = {'.mp3', '.flac', '.m4a', '.wav'}

for fichier in dossier.rglob('*'):
    if fichier.suffix.lower() in extensions_audio:
        nom_base = fichier.stem
        
        # Recherche d'un fichier .lrc dont le nom est proche
        for lrc in dossier.glob(f"*{nom_base}*.lrc"):
            nouveau_nom = fichier.with_suffix('.lrc')
            if lrc != nouveau_nom:
                lrc.rename(nouveau_nom)
                print(f"Renommé : {lrc.name} -> {nouveau_nom.name}")

Exemple d'utilisation

synchroniser_noms_paroles("/storage/emulated/0/Music")


### Configuration avancée du moteur de rendu

Salt Player supporte des balises LRC enrichies, permettant notamment l'affichage bilingue ou le formatage spécifique par langue. ```
[ti:Exemple de Titre]
[ar:Artiste]
[lang:fr]
[00:15.20]Ceci est une ligne en français
[lang:en]
[00:15.20]This is a line in English

Pour optimiser la récupération en ligne, privilégiez les paramètres suivants dans le fichier de configuration ou l'interface de réglages : ``` { "online_lyric_engine": { "auto_fetch": true, "search_order": ["title", "artist", "album"], "request_timeout_ms": 3000, "store_locally": true, "preferred_encoding": "UTF-8" } }


### Optimisation pour les différents cotnextes d'usage

L'ergonomie visuelle doit s'adapter à votre environnement. Un affichage optimal sur smartphone n'est pas forcément sécurisé ou lisible en voiture. #### Configuration pour l'usage mobile (Standard)

- **Taille de police :** 16-20 sp.
- **Alignement :** Gauche ou Justifié pour une lecture naturelle.
- **Interligne :** 1.2x pour éviter la surcharge visuelle.

#### Configuration pour le mode Automobile (Haute visibilité)

En mode voiture, la priorité est la lecture rapide sans quitter la route des yeux.

def appliquer_profil_voiture(api_config): """Ajuste l'UI pour une visibilité maximale en conduite""" parametres_car = { "lyric_font_size": 30, "font_style": "bold", "highlight_color": "#FFD700", # Or pour un contraste élevé "background_dim": 0.8, "display_mode": "center_focus" } api_config.update(parametres_car)


| Paramètre | Usage Quotidien | Mode Automobile |
|---|---|---|
| Taille de police | Petite/Moyenne (18sp) | Très Grande (30sp+) |
| Opacité fond | Faible (0.2) | Élevée (0.7) |
| Focus | Multi-lignes | Ligne active unique |

### Correction des décalages temporels (Offset)

Il arrive que le fichier de paroles soit correct mais présente un décalage constant. Plutôt que de modifier manuellement chaque ligne, utilisez un algorithme de décalage temporel. ```
def ajuster_tempo_lrc(chemin_lrc, seconde_offset):
    """
    Ajoute ou soustrait du temps à toutes les balises d'un fichier LRC.
    """
    pattern = re.compile(r'\[(\d+):(\d+\.\d+)\]')
    
    with open(chemin_lrc, 'r', encoding='utf-8') as f:
        lignes = f.readlines()

    nouvelles_lignes = []
    for ligne in lignes:
        match = pattern.search(ligne)
        if match:
            minutes = int(match.group(1))
            secondes = float(match.group(2))
            
            temps_total = max(0, (minutes * 60) + secondes + seconde_offset)
            
            n_min = int(temps_total // 60)
            n_sec = temps_total % 60
            
            horodatage = f"[{n_min:02d}:{n_sec:05.2f}]"
            nouvelle_ligne = pattern.sub(horodatage, ligne)
            nouvelles_lignes.append(nouvelle_ligne)
        else:
            nouvelles_lignes.append(ligne)

    with open(chemin_lrc, 'w', encoding='utf-8') as f:
        f.writelines(nouvelles_lignes)

Le respect de ces structures de données et l'application de ces scripts permettent de transformer Salt Player en une station d'écoute professionnelle, capable de gérer des bibliothèques complexes avec une synchronisation parfaite, quel que soit l'appareil utilisé.

Étiquettes: Salt Player LRC Python Android Audio Digital Music

Publié le 28 août à 06h21