Ce script PAL crée un objet qui met à jour les métadata du flux via l’encodeur. Cela peut servir à donner des informations sur le type d’émission diffusée, le nom de l’animateur, un message de pub défilant… il existe pas mal de possibilités.
{PAL script : défilement de texte par Matt - www.skyminds.net}
var Song : TSongInfo;
Song := TSongInfo.Create;
Song['artist'] := 'Live DJ';
Song['title'] := 'Live on Thunderstruck Radio - www.skyminds.net';
song['duration'] := 30*60*1000; {30 minutes}
{Update song information @ 21h}
PAL.WaitForTime('21:00:00');
Encoders.SongChange(Song);
Song.Free;
Code language: JavaScript (javascript)
Dans une webradio, le son ne fait pas tout. Les métadonnées comptent aussi : titre du morceau, artiste, nom de l’émission, animateur, slogan, message d’antenne ou information “Now Playing”.
Avec SAM Broadcaster, ces informations peuvent être envoyées au serveur de streaming, puis affichées dans un player web, une application mobile, un lecteur compatible ou une page de statut Icecast/SHOUTcast.
L’ancien article proposait un script PAL pour faire défiler un message dans les métadonnées du flux. L’idée reste valable, mais il faut la replacer dans un workflow plus moderne : métadonnées propres, encoders bien configurés, serveur compatible, player testé et script PAL utilisé seulement quand il apporte une vraie valeur.
À quoi servent les métadonnées dans un flux audio ?
Les métadonnées d’un flux audio permettent d’envoyer des informations en plus du son. L’auditeur peut ainsi voir ce qui est diffusé sans attendre que l’animateur le répète toutes les trois minutes.
Les cas les plus fréquents sont :
- titre du morceau ;
- nom de l’artiste ;
- album ;
- nom de l’émission ;
- nom de l’animateur ;
- slogan de la station ;
- message temporaire ;
- lien ou information courte liée au direct.
Sur une radio musicale, les métadonnées servent surtout au “titre/artiste”. Sur une émission parlée, elles peuvent afficher le nom de l’émission ou de l’intervenant. Sur une radio associative, elles peuvent aussi signaler une campagne, un direct spécial ou une annonce d’antenne.
SAM Broadcaster et les métadonnées : le principe
SAM Broadcaster lit votre bibliothèque, diffuse les morceaux via ses decks, puis transmet le flux audio à un serveur comme Icecast ou SHOUTcast via un encoder.
Le chemin complet ressemble à ceci :
SAM Broadcaster -> Encoder -> Serveur Icecast/SHOUTcast -> Player auditeur
Les métadonnées suivent le même chemin. Si une étape ne les transmet pas correctement, l’auditeur peut entendre le flux, mais ne rien voir dans son player.
Il faut donc vérifier toute la chaîne : bibliothèque SAM, encoder, serveur de streaming, player web, cache éventuel et compatibilité du lecteur.
Ce que les auditeurs peuvent voir
Selon le player utilisé, les métadonnées peuvent apparaître de différentes manières.
| Contexte | Affichage possible |
|---|---|
| Player web HTML5 | Titre en cours, artiste, émission, texte personnalisé selon intégration |
| Page Icecast | Current Song, mountpoint, listeners, genre selon configuration |
| SHOUTcast | Stream title, current song, station info selon version |
| Application mobile | Titre/artiste si l’application lit les métadonnées correctement |
| Lecteur desktop | Titre du stream ou titre du morceau selon protocole et lecteur |
Ne supposez jamais que tous les auditeurs verront exactement la même chose. Les métadonnées radio sont parfois interprétées avec une créativité que seuls les logiciels audio peuvent se permettre.
Configurer les métadonnées de base dans SAM Broadcaster
La première étape consiste à vérifier que vos morceaux ont des informations propres dans la bibliothèque SAM Broadcaster.
Contrôlez notamment :
Marre des agences qui sous-traitent ?
Avec moi, vous parlez directement au développeur qui fait le travail. Pas d'intermédiaire, pas de promesses creuses. Juste du code propre et un interlocuteur joignable.
Travaillons directement ensemble →- le champ Artist ;
- le champ Title ;
- le champ Album si vous l’utilisez ;
- les caractères spéciaux ;
- les titres trop longs ;
- les morceaux sans artiste ;
- les fichiers importés avec des tags cassés.
Si votre bibliothèque contient des titres du type Track 01, Unknown Artist ou final_mix_export_v3.mp3, le player affichera exactement cela. SAM ne peut pas deviner que “final_mix_export_v3” est en réalité un magnifique jingle de rentrée. Il a des limites, comme nous tous.
Vérifier l’encoder SAM Broadcaster
Les métadonnées doivent être transmises par l’encoder utilisé pour envoyer le flux au serveur. Si l’encoder ne les envoie pas, le serveur n’a rien à afficher.
Dans SAM Broadcaster, vérifiez :
- le type d’encoder utilisé ;
- la connexion au serveur Icecast ou SHOUTcast ;
- les options liées au titre du stream ;
- les paramètres “Title streaming” ou équivalents selon la version ;
- les champs station name, genre, website et description ;
- le comportement au changement de morceau.
Un test simple consiste à lancer un morceau avec des tags propres, puis à vérifier si le titre change dans la page de statut du serveur ou dans le player.
Icecast, SHOUTcast : où vérifier les métadonnées ?
Avec Icecast, ouvrez la page de statut du serveur ou du mountpoint. Elle peut afficher le titre en cours, le nom du flux, le nombre d’auditeurs et certaines informations de configuration.
Avec SHOUTcast, vérifiez la page d’administration ou la page publique du stream selon votre version et votre hébergeur.
Exemples de points à contrôler :
- le serveur reçoit bien le flux ;
- le mountpoint ou stream ID est correct ;
- le titre change au changement de morceau ;
- les caractères accentués s’affichent correctement ;
- le player web ne met pas en cache une ancienne valeur ;
- l’hébergeur radio ne filtre pas certains champs.
Si les métadonnées apparaissent côté serveur mais pas côté player, le problème vient probablement du player ou de son intégration. Si elles n’apparaissent pas côté serveur, il faut revenir à SAM et à l’encoder.
Modifier les métadonnées avec un script PAL
SAM Broadcaster permet d’automatiser certaines actions avec des scripts PAL. On peut s’en servir pour envoyer un texte personnalisé dans les métadonnées du flux.
Le cas typique : afficher un message pendant une émission parlée, par exemple :
Émission spéciale - Avec Matt en direct
Ou :
SkyMinds Radio - Session live
L’idée historique du script PAL était de créer un objet et de mettre à jour les métadonnées du flux via l’encoder. Cela peut servir à remplacer temporairement le titre/artiste par un message d’antenne.
Mais attention : si vous écrasez les métadonnées à intervalle régulier, vous pouvez empêcher l’affichage correct des titres musicaux. Utilisez cette approche uniquement pour les émissions, talks, jingles longs ou messages éditoriaux.
Exemple de logique PAL pour un message d’antenne
Voici une logique simple à adapter selon votre version de SAM Broadcaster et votre configuration d’encoder.
// Exemple conceptuel PAL.
// À adapter à votre version de SAM Broadcaster.
PAL.Loop := True;
while True do
begin
Encoders.SetSongTitle('SkyMinds Radio - Émission en direct');
PAL.WaitForTime('+00:00:30');
end;Code language: PHP (php)
Le principe est volontairement simple : définir un texte, attendre, recommencer. Dans une vraie émission musicale, évitez ce type de boucle permanente. Elle peut écraser les titres des morceaux.
Pour un usage plus propre, déclenchez ce script seulement pendant une émission parlée, puis arrêtez-le avant de reprendre une programmation musicale normale.
Créer des métadonnées propres pour une émission
Pour une émission parlée, vous pouvez utiliser un format court et lisible.
Exemples efficaces :
Nom de l’émission - Animateur
Interview - Invité du jour
Direct spécial - Questions/réponses
Rediffusion - Émission du 15 mai
Évitez les textes trop longs :
Émission exceptionnelle avec notre invité principal au sujet de nombreux thèmes passionnants à retrouver aussi sur notre site web officiel
Beaucoup de players tronquent les métadonnées. Un message court sera mieux compris, mieux affiché et moins susceptible de casser l’interface.
Caractères spéciaux et accents
Les caractères accentués peuvent poser problème selon l’encoder, le serveur, le player et l’encodage utilisé.
Si vous voyez des caractères bizarres dans le player, testez d’abord une version simple :
Emission speciale - Animateur
Puis une version avec accents :
Émission spéciale - Animateur
Si la version sans accents s’affiche correctement mais pas l’autre, le problème vient probablement de l’encodage des métadonnées ou du player. Dans ce cas, privilégiez UTF-8 si votre chaîne le permet, ou simplifiez les textes critiques.
Métadonnées et player web HTML5
Un simple élément HTML5 audio ne suffit pas toujours à afficher les métadonnées “Now Playing”. Il peut lire le flux, mais l’affichage du titre en cours dépend souvent d’une API côté serveur, d’un script JavaScript ou d’un endpoint fourni par l’hébergeur radio.
En pratique, beaucoup de players web récupèrent les métadonnées via :
- l’API Icecast ou la page de statut ;
- l’API SHOUTcast ;
- un endpoint JSON de l’hébergeur radio ;
- un fichier texte “now playing” ;
- une base de données ou API maison.
Donc, si le son fonctionne mais que le titre ne s’affiche pas sur votre site, ne cherchez pas seulement dans SAM Broadcaster. Vérifiez aussi la façon dont le player récupère les informations.
Alternative moderne : fichier texte Now Playing
Certains workflows modernes utilisent un fichier texte contenant le titre en cours. SAM Broadcaster peut écrire ou exposer une information, puis un encoder externe ou un player peut la lire.
La logique est la suivante :
SAM Broadcaster -> fichier now-playing.txt -> encoder/player -> auditeur
Cette méthode peut être utile si vous utilisez SAM pour l’automation, mais un autre logiciel pour l’encodage. Rocket Broadcaster documente par exemple une approche où SAM écrit les métadonnées dans un fichier texte, puis Rocket Broadcaster les lit pour les envoyer au stream.
C’est souvent plus souple qu’un script PAL qui force directement les métadonnées dans SAM. Mais cela ajoute une brique de plus, donc une source de panne de plus. L’informatique aime les compromis.
Dépannage : les métadonnées ne s’affichent pas
Si les métadonnées ne s’affichent pas dans le player, procédez par étapes.
- Vérifiez que le morceau dans SAM a bien un artiste et un titre.
- Vérifiez que SAM met à jour le titre au changement de morceau.
- Vérifiez les options de métadonnées dans l’encoder.
- Consultez la page de statut Icecast ou SHOUTcast.
- Testez avec un autre player.
- Testez avec un titre simple, sans accent ni caractère spécial.
- Redémarrez l’encoder si les métadonnées restent figées.
- Vérifiez si le player web utilise un cache côté navigateur ou serveur.
Un bon test consiste à utiliser un titre très simple :
Test Artist - Test Title
Si ce titre s’affiche, votre chaîne fonctionne. Le problème vient probablement des tags, des caractères spéciaux ou du format du texte envoyé.
Dépannage : les métadonnées sont bloquées sur un ancien titre
Si le player affiche toujours un ancien titre, cherchez du côté du cache ou d’un script qui écrase les informations.
Points à vérifier :
- un script PAL tourne encore en arrière-plan ;
- l’encoder n’a pas redémarré correctement ;
- le serveur garde une valeur jusqu’au prochain changement de morceau ;
- le player interroge un endpoint mis en cache ;
- le navigateur affiche une ancienne réponse ;
- l’hébergeur radio applique son propre cache.
Coupez temporairement les scripts PAL personnalisés, relancez l’encoder, puis testez avec un morceau dont les tags sont propres.
Bonnes pratiques pour les métadonnées radio
- Gardez les titres courts.
- Nettoyez les tags dans la bibliothèque SAM.
- Évitez les emojis dans les métadonnées principales.
- Testez les accents avant le direct.
- Ne mettez pas d’URL longue dans le champ titre.
- Réservez les messages personnalisés aux émissions parlées ou aux directs spéciaux.
- Ne laissez pas un script PAL écraser les titres musicaux en permanence.
- Testez sur plusieurs players : navigateur, mobile, VLC, application radio.
Exemple de format propre
Pour une radio musicale :
Artist - Title
Pour une émission parlée :
Nom de l’émission - Animateur
Pour un direct spécial :
Direct spécial - Invité du jour
Pour une rediffusion :
Rediffusion - Émission du 15 mai 2026
Simple, clair, lisible. Une métadonnée n’est pas un communiqué de presse coincé dans un ascenseur.
SAM Broadcaster, SAM Cast et encoders externes
Selon votre setup, SAM Broadcaster peut gérer toute la chaîne, ou seulement l’automation. Certains studios utilisent un encoder externe pour plus de souplesse, une meilleure stabilité ou une gestion plus moderne des métadonnées.
Trois architectures sont courantes :
| Architecture | Usage |
|---|---|
| SAM Broadcaster seul | Simple, intégré, adapté aux setups classiques |
| SAM Broadcaster + SAM Cast | Capture/encodage séparé avec logique Spacial |
| SAM Broadcaster + encoder externe | Plus flexible, utile si l’encoder lit un fichier Now Playing |
Si votre seul problème concerne les métadonnées, ne changez pas toute l’architecture tout de suite. Vérifiez d’abord les tags, les réglages de l’encoder et le player. Le grand remplacement technique commence souvent par une case décochée.
Articles liés sur SkyMinds
- SAM Broadcaster : ajouter et organiser des effets sonores FX
- SAM Broadcaster : créer une clockwheel
- Bash : convertir des MP3 en Ogg Vorbis avec FFmpeg
- Lire des fichiers APE et CUE sous Windows, Linux et macOS
À retenir
Les métadonnées d’un flux audio ne sont pas un détail. Elles améliorent l’expérience auditeur, facilitent l’identification des titres et donnent un rendu plus professionnel à votre webradio.
Avec SAM Broadcaster, commencez par nettoyer les tags dans la bibliothèque, vérifiez les réglages de l’encoder, puis contrôlez l’affichage côté Icecast, SHOUTcast et player web.
Un script PAL peut servir à afficher un message d’émission ou un texte temporaire, mais il ne doit pas écraser les titres musicaux sans raison. Les métadonnées doivent informer l’auditeur, pas lutter contre lui dans un petit champ texte.
Sources
- Spacial Support : envoyer les métadonnées Artist/Title au player
- Spacial Support : documentation SAM Cast
- Icecast : serveur de streaming audio et vidéo
- SHOUTcast : plateforme de streaming radio
- Rocket Broadcaster : récupérer les métadonnées depuis SAM Broadcaster
Un projet WordPress en tête ?
Vous avez une idée claire de ce que vous voulez, mais pas les ressources en interne pour le faire bien. Je développe des sites et extensions WordPress sur-mesure — sans délais à rallonge ni mauvaises surprises.
Décrivez-moi votre projet →
Ce Script est très pratique pour faire défiler les infos d’une musique, par contre saurais tu comment on récupère les infos de la musique qui suit, je voudrai faire défiler comme ça :
1er affichage : [ OnAir : Artiste – Morceau ]
2ème Affichage : [ A Suivre : Artiste – Morceau ]
Je sais faire défiler récupérer les informations de la musique encours de lecture par contre je ne sais pas comment on récupère les informations de la musique qui suit.
Est ce que quelqu’un aurait une solution ?
Merci à vous
Willou
@Willou : regarde dans le site web fourni avec SAM (samPHPweb ou samHTMweb). Il y a un module qui met à jour ce qui va venir. Tu pourrais peut-être le réutiliser.
Cela n’aurait rien à voir avec le flux. Pour information le Digital Millenium Act (loi américaine) interdit aux radios de dire quel prochain titre elle vont jouer. Ce n’est valable que pour les radios US bien sûr mais cela explique pourquoi cette fonction n’est pas disponible nativement.
Bonjour,
Je voudrai savoir, comment afficher le titre de chansons en thai ou chinoise, je n’arrive pas à faire comprendre (sam broadcaster 4) afficher les titres sur les Deck , dès que je charge ou glisser dedans il marque ?????????? partout,
s’il vous plait aider moi
@SINHLYVONG : il faut que les titres soient en caractères unicode me semble-t-il, autrement cela ne passera pas. C’est valable pour toutes les langues aux caractères spéciaux.
Bonjour,
J’ai un problème mais aucune solution donc je fais appel à vous. J’utilise Sam 4 je le configure bravo tout va bien mais comme je veux que le titre en cours affiche sur chacune des pages de mon site internet je dois ajouter les pages input et output html. Mon probleme est le suivant. Les pages entrées au input ca va par contre celle au output deviennent de plus en plus lourdes. À priori ma page index.html fesait 12k mais au bout de 2 jours elle fesait 8,3mb et naturellement mon site devient impossible à ouvrir. Comment régler ce probleme ?
S’il existe un code qui dit à sam d’afficher le titre en cours sur toutes mes pages j’aimerais si possible l’avoir, ou encore un PAL etc…
Merci de m’aider.
Bonjour Danielle,
Je te conseille Song Displayer, cela te permettra d’afficher le dernier titre joué.
Tu auras besoin de PHP : ta page ne sera plus index.html mais index.php pour permettre le traitement du script.
A+