Principes de la grille des programmes#
Radiotomate repose sur une logique originale pour décider en temps réel quel son diffuser. Elle est très adaptative et vise à simplifier la vie des bénévoles tout en garantissant aux auditeurices un programme cohérent et continu. Mais cette logique repose sur des hypothèses qui ne conviennent pas à toutes les radios. Cette page présente la logique et les hypothèses de Radiotomate, avec des conseils et des exemples.
Les 4 flux#
Radiotomate diffuse le premier flux disponible parmi :
- l'entrée en direct (priorité maximale)
- un flux relayé
- les cartouches sonores
- l'auto-DJ (priorité minimale)
Radiotomate suppose que les 3 premières sources n'ont rien à diffuser la plupart du temps. L'auto-DJ est le seul qui peut toujours trouver quelque chose à jouer (la seule exception étant une radio vide qui vient d'être installée). Les cartouches sonores et les flux relayés joueront quelque chose à l'heure à laquelle ils sont programmés dans Radiotomate. L'entrée en direct prend la main lorsqu'un utilisateur autorisé commence à diffuser vers celle-ci.
Lorsqu'un flux de priorité supérieure a quelque chose à jouer, il prend l'antenne immédiatement, dans un fondu enchaîné. Lors du passage à un flux de priorité inférieure, il démarre une nouvelle piste. Par exemple, lors du retour à l'auto-DJ, il commencera toujours depuis le début d'une chanson. Lorsqu'il est temps de jouer une émission pré-enregistrée, elle interrompra la chanson en cours. Les cartouches sonores, en revanche, sont mises en file d'attente les unes après les autres.
Cette approche originale de la diffusion nous permet d'éviter deux choses que nous n'aimons pas en tant qu'auditeurices : les silences et couper la dernière minute d'un programme.
En pratique, généralement tout est à l'heure. Mais si un programme est en retard, cette logique laissera les suivants se dérouler légèrement en retard aussi, jusqu'à une limite configurable. Cela correspond à ce qui se passerait si tout le monde produisait son émission en direct dans le même studio : si un programme est un peu plus long, le suivant s'enchaînera dès qu'il le peut. S'il est un peu plus court, nous aimerions insérer un jingle et une piste musicale avant que le suivant démarre à l'heure. Si le flux en direct ne fonctionne pas, nous aimerions avoir de la musique à la place. Vous trouverez plus d'exemples ci-dessous.
Nous expliquons dans la section gestion des utilisateurs que Radiotomate suppose que votre radio définit et applique ses propres règles internes. Cela inclut le respect du planning. Radiotomate peut imposer des durées maximales, mais ne le fait pas par défaut.
⚠️ Cela signifie également que Radiotomate vous laissera faire ce que vous pourriez considérer comme des erreurs, par exemple programmer des émissions à des heures qui se chevauchent. Bien que le système fasse de son mieux pour vous permettre de voir de tels cas et de les jouer quand même, dans le pire des cas une émission peut être entièrement ignorée. Lors des phases de test, gardez un oeil sur l'historique pour voir ce qui a vraiment été diffusé. Les versions à venir incluront un calendrier de ce qui arrive ensuite .
Cette logique est inhabituelle parmi les automatisates de diffusion, et explique pourquoi Radiotomate ne pré-calcule pas sa playlist à l'avance : il trouve toujours un équilibre entre le planning défini et la disponibilité réelle des sons. Cette logique s'est avérée fiable et efficace pendant plusieurs années dans nos radios. Grâce à cette approche, Radiotomate est beaucoup plus facile à configurer (et à développer).
Avant d'illustrer cela par des exemples, nous détaillons le fonctionnement de chaque source de flux.
auto-DJ#
L'objectif de l'auto-DJ (aussi appelé "bande continue") est de choisir de la musique et des jingles selon des critères configurables selon un planning hebdomadaire.
Ce planning s'affiche lorsque vous ouvrez l'onglet auto-DJ dans l'interface Web. Il est divisé en créneaux horaires sur les 7 jours de la semaine. Un créneau n'a qu'une heure de début, il durera jusqu'au suivant ou jusqu'à la fin de la journée. Vous pouvez attribuer un nom et une couleur à chaque créneau, mais surtout vous devez lui attribuer des filtres.
Chaque créneau a un ou plusieurs filtres, qu'il utilisera pour choisir la musique quand c'est son tour de jouer. Par exemple :
- pour ne jouer que de la Pop, définissez le filtre à
genres:Pop - pour jouer de la musique des années 80, définissez le filtre à
year:1980..1989 - pour jouer de la musique récemment ajoutée à la bibliothèque, définissez
added:-9m..(ceci sélectionne les pistes téléchargées dans Radiotomate au cours des 9 derniers mois) - pour jouer des chansons françaises, définissez
language:fra
Les filtres suivent la syntaxe des requêtes Beets,
vous pouvez utiliser n'importe quelle expression ou tag que Beets supporte.
N'oubliez pas de vérifier que la musique dans votre bibliothèque a bien les tags sur lesquels vous souhaitez filtrer.
L'interface dispose d'un bouton Test pour chaque filtre afin que vous puissiez voir un échantillon de ce qu'un filtre sélectionnerait avant de l'attribuer à un créneau.
Si à un moment donné un filtre ne correspond à aucune piste,
Radiotomate le traitera comme un filtre vide et choisira dans toute la collection.
Un créneau peut utiliser plusieurs filtres, chacun ayant un poids différent, pour les équilibrer pendant ce créneau. Par exemple, si vous définissez
added:-3m..avec un poids de 50added:-1y..-3mavec un poids de 30- un filtre vide avec un poids de 20 (ceci sélectionne toute la musique)
Alors, sur le long terme, ce créneau contiendra 50% de pistes insérées au cours des 3 derniers mois, 30% de pistes insérées au cours de la dernière année (mais plus de 3 mois) et 20% de pistes dans toute la collection (qui peut également inclure des pistes récentes). Pour définir des probabilités intuitives, nous vous conseillons de faire la somme des poids à 100, mais ce n'est pas obligatoire.
Les pistes s'enchaînent selon un aléa intelligent: la première fois qu'un filtre est sélectionné, les pistes correspondant sont sélectionnées et mélangées. Cette liste sera jouée intégralement avant de refaire une sélection et un mélange. L'auto-DJ applique aussi un espacement par artiste : il essaye de laisser une durée minimum (configurable) entre deux pistes d'un même artiste.
Notez que des combinaisons de filtres complexes, ou des filtres extrêmes (qui
sélectionnent moins de quelques dizaines de pistes, ou plusieurs milliers),
peuvent atteindre les limites de l'auto-DJ:
* le mélange se fait par filtre exact, donc une piste peut jouer à nouveau à court terme
si elle est sélectionnée par un autre filtre.
* les nouvelles pistes seront diffusées quand un filtre est re-mélangé, ce qui peut
mettre du temps à arriver pour les filtres qui sélectionnent des miliers de pistes.
* l'espacement par artiste est appliqué d'après la valeur exacte du champ artist des méta-données. Donc une piste par "Ariste A" peut être suivie immédiatement d'une piste
par "Artiste A feat. Artiste B".
* l'espacement par artiste est appliqué globalement, peu importe le filtre ou le
créneau, en remettant à plus tard une piste d'un ariste qui a joué trop récemment.
Dans certains cas (par exemple si cela arrive à la fin d'une playliste mélangée) il
est possible que la piste soit carrément zappée. Dans le pire des cas (si le
filtre est trop sélectif) l'auto-DJ peut abandonner l'espacement et jouer la piste
quand même.
L'auto-DJ insérera régulièrement des jingles entre les pistes. Après avoir joué un jingle, il attendra 13 minutes avant de tenter d'en insérer un nouveau. Ce délai peut être modifié dans le fichier de configuration.
Les jingles sont choisis dans les cartouches de jingles, présentées ci-dessous. Chaque créneau est associé à exactement une cartouche, donc les créneaux peuvent aussi représenter des contraintes horaires pour les jingles. Vous pouvez re-utiliser une cartouche pour plusieurs créneaux.
Cartouches sonores#
Les cartouches sonores contiennent des fichiers individuels. Elles représentent un programme qui sera diffusé à une heure configurable (régulièrement ou non), à l'exception des cartouches de jingles qui sont insérées dans le flux du auto-DJ (voir ci-dessus).
Pour les cartouches qui contiennent des sons, vous pouvez définir comment une cartouche choisira quel son jouer :
- aléatoire : à chaque fois que la cartouche doit jouer, elle choisit un son au hasard. C'est le plus adapté aux jingles.
- playlist : dans ce mode, les sons sont ordonnés dans la cartouche. Radiotomate jouera chaque son une fois, donc veillez à ajouter de nouveaux sons à la fin de la liste.
- playlist en boucle : comme playlist, mais lorsque tous les sons ont été joués, Radiotomate recommence depuis le premier.
Lorsque c'est leur créneau, les cartouches sonores sont mises en file d'attente dans leur propre flux, qui interrompra l'auto-DJ. Donc les cartouches ne s'interrompent pas mutuellement ! Radiotomate peut imposer une durée maximale pour une cartouche, mais ne le fait pas par défaut. Cela signifie que nous supposons que vous vérifiez que les plannings des cartouches correspondent à la durée de leurs contenus. Notez également qu'un son ne restera pas en file d'attente indéfiniment : s'il attend trop longtemps, Radiotomate le retirera de la file d'attente et tentera de le réinsérer la prochaine fois que la cartouche est programmée.
Vous pouvez définir une durée maximale par cartouche : si un son de la cartouche est encore en cours de lecture après ce délai, il sera interrompu. Notez que ce délai est calculé à partir de l'heure programmée de la cartouche, qui peut ne pas correspondre à l'heure effective de début du son (voir l'exemple ci-dessous, « Quand tout le monde est en retard »).
Si vous ne souhaitez pas interrompre l'auto-DJ, vous pouvez également configurer une cartouche pour être mise en file d'attente dans le flux de l'auto-DJ (en mode "avancé"). Cette option est pratique pour les spots promotionnels.
Quand vous venez de démarrer, juste après l'installation, vous remarquerez que la première cartouche de jingles que vous créérez sera associée automatiquement aux créneaux par défaut de l'auto-DJ, qui démarrent à minuit. Ensuite, à la création de chaque créneau vous devrez choisir une cartouche de jingles, donc créez des cartouches correspondant aux créneaux hoaires ou de la semaine.
Si une cartouche est vide lorsqu'elle devrait jouer, elle sera ignorée et ne interrompra pas l'auto-DJ. Une cartouche peut être vide si elle ne contient aucun son, ou si en mode playlist tous ses sons ont déjà été diffusés.
Cartouches relais#
Le dernier type de cartouche sont les cartouches relais, qui ne contiennent que l'URL d'un flux. Une cartouche relai permet de redrendre le flux d'une autre radio en direct depuis sa source HTTP ou HTTPS. Dans l'interface, vous pouvez configurer quand Radiotomate doit commencer à relayer une URL donnée, et combien de temps cela doit durer. Si la source interrompt son flux trop tôt, ou si l'URL est incorrecte, Radiotomate passera la main à l'auto-DJ.
⚠️ Tant que la durée maximale de la cartouche n'est pas atteinte, Radiotomate essaiera de se connecter. Donc si la connexion entre votre source et Radiotomate est instable, l'automate pourrait repasser inopinément en auto-DJ pour de courtes périodes. En effet, Radiotomate ne peut pas faire la différence entre des paquets perdus et une source qui termine son flux.
Entrée de flux en direct#
Cette source vous permet de diffuser vers Radiotomate, comme si c'était un serveur Icecast. Lorsque quelqu'une utilisatrice commence à diffuser, elle interrompt les programmes en cours et est à l'antenne en quelques secondes. Le programme est diffusé en léger différer à cause des tampons réseau.
⚠️ Comme pour les flux relayés, cette entrée suppose que vous avez une connexion stable depuis le studio en direct vers Radiotomate. Sinon, vous pourriez remarquer que le programme « saute » vers l'auto-DJ (insertion d'un jingle). Si ces courtes interruptions se produisent trop fréquemment, envisagez d'augmenter
input_min_bufferdans votre fichier de configuration.
Notez que cela n'est autorisé qu'aux utilisateurices ayant le rôle « Live ». Les instructions pour configurer leurs applications sont dans une autre section.
Exemple : grille d'une soirée#
Nous détaillons laintenant une grille de programmes classique et décrivons comment les choses peuvent effectivement se passer, surtout quand les sons ou flux ne durent pas comme prévu ou si un utilisateur diffuse en direct alors que des cartouches devraient jouer.
La grille habituelle#
-
L'après-midi, aucune cartouche n'est programmée, donc l'auto-DJ joue, choisissant de la musique selon les filtres du créneau de 14h00, insérant des jingles régulièrement.
-
À 18h00, une cartouche de relais est programmée et a été définie avec une durée maximale d'une heure.
-
À 19h00, une utilisatrice devrait commencer un flux en direct, pendant une heure.
- par défaut, le flux en direct introduit un délai d'au moins 5 secondes, donc l'utilisatrice devrait commencer quelques secondes avant 19h. Radiotomate passera en fondu enchaîné vers le direct dès que le flux est chargé, donc le direct chevauche probablement les dernières secondes du flux relayé (qui est lui aussi mis en tampon).
-
À 20h00, une cartouche sonore est programmée pour jouer une émission pré-enregistrée qui dure une heure.
-
À 21h00, l'auto-DJ est la seule source restante et reprend ; il n'a pas inséré de jingle depuis plus de 13 minutes, il jouera donc d'abord un jingle.
Quand tout le monde est en retard#
Que se passe-t-il si les flux démarrent trop tard et que les cartouches sonores contiennent un son légèrement trop long ?
- L'après-midi, l'auto-DJ joue comme d'habitude
- Si l'URL relayée n'est pas disponible à 18h00, l'auto-DJ continuera de jouer mais Radiotomate continuera d'essayer de se connecter. Dès qu'elle est disponible, elle est relayée.
- Supposons que le flux relayé continue jusqu'à 19h05...
- ... mais l'utilisatrice en direct commence à diffuser à 19h03
- Notre utilisatrice veut diffuser son émission d'une heure, donc elle diffuse jusqu'à 20h03
- Radiotomate a mis la cartouche sonore en file d'attente à 20h00, mais elle est en attente de la fin du flux. La cartouche commence à jouer juste après le direct, à 20h03.
- Si la cartouche contient un épisode trop long, elle jouera jusqu'à sa fin car l'auto-DJ attend la fin des cartouches.
Prise d'antenne en direct#
Si un soir le flux en direct diffuse exceptionnellement de 18h00 à 22h00, il remplacera tout le planning.
Radiotomate retirera la cartouche sonore de la file d'attente après avoir détecté qu'elle n'a pas démarré (ce sera configurable dans les versions à venir). L'épisode qui aurait dû jouer sera reprogrammé la prochaine fois que la cartouche est prévue.
Combiner flux et plannings#
En exploitant les priorités des flux, vous pouvez réaliser des combinaisons intéressantes qui s'adapteront précisément à la durée des contenus.
Ajouter un prologue ou un épilogue à un programme importé#
Comment jouer un jingle spécifique avant et après le flux relayé ?
Supposons que nous ayons un son de 10 secondes à insérer avant le début du relais, et un son de 20 secondes à jouer après. Nous pourrions mettre en place cette variante du planning précédent :
- Créer une cartouche sonore pour le son d'introduction, en mode playlist en boucle, programmée à 17h59:55.
- La cartouche relais est toujours programmée à 18h00. Comme l'introduction dure 10 secondes, elles se chevaucheront. C'est le but recherché : le chevauchement de 5 secondes permettra à Radiotomate de charger le tampon du flux et de passer en fondu enchaîné vers le flux.
- Créer une cartouche sonore pour le son de fin, en mode playlist en boucle, programmée à 18h59. Radiotomate la jouera toujours « en retard », car les cartouches sont jouées après les flux relayés... ce qui est exactement ce que nous voulons ici.
Cela fonctionne également si vous souhaitez ajouter une intro/outro à une cartouche sonore.
Comment s'assurer que les filtres de l'auto-DJ sont appliqués à l'heure#
Le changement de créneau de l'auto-DJ n'interrompt pas la piste en cours. Cela signifie que les filtres suivants ne seront appliqués que lorsque la piste suivante sera poussée, ce qui peut prendre quelques minutes. Comment faire si vous voulez que ce soit à l'heure pile ?
Supposons que vous n'ayez aucun programme programmé pendant tout un après-midi, donc l'auto-DJ joue. L'après-midi contient 3 créneaux d'auto-DJ :
- pas de filtre de 14h00 à 15h00, donc l'auto-DJ choisit dans toute la collection musicale,
- de 15h00 à 16h00, le créneau ne sélectionne que les chansons en français (avec le filtre
language:fra), - de 16h00 à 18h00, on revient à toute la collection.
Si vous voulez vous assurer qu'à 15h00 la radio commence à chanter en français, l'astuce est de programmer une cartouche d'introduction qui contiendra quelques courts jingles d'introduction pour ce créneau spécifique. La cartouche doit utiliser les modes aléatoire ou playlist en boucle et être programmée à 15h00. Elle interrompra la piste précédente de l'auto-DJ, jouera une fois, puis le créneau de 15h00 démarrera.
Et si... ?#
Si après ces exemples vous vous demandez encore si Radiotomate peut appliquer le planning que vous souhaitez, contactez-nous.