Specification

Spécification de radioDemo

Sommaire

0- Historique du document et points ouverts

I- Introduction

II- Principe de radioDemo

III- Lancer radioDemo en local sur un PC

IV- Installer le minimum sur un serveur

V- Que doit fournir une radio pour démarrer?

VI- Comment on ajoute du contenu ?

VII- Que contient le minimum ?

VIII- Comment personnaliser la démo ?

IX- afficher des informations dynamiques

X- Utiliser les bonus

XI- fabriquer / adapter un bonus

Annexe 1 - descriptions des bonus

Annexe 2 - Lancer icecast en local sur le PC

0- Historique du document et points ouverts

I- Introduction

Les objectifs de ce document sont de préciser le contenu de radioDemo :

Les objectifs de radioDemo sont les suivants :

II-Principe de radioDemo

RadioDemo se compose :

Ces répertoires sont destinés a être importé dans la radio via le service omaBaseImport.

Dans certains cas, l’ordre d’importation a de l’importance. Par exemple, on importe d’abord un fichier puis si on le souhaite, un lien dessus. Pour gérer cela, les noms de fichiers sont suivis d’un numéro d’ordre.

Par exemple JingleDemo-Pa.wavIn0 doit être importé avant Jingle-Defaut.lienIn1.

Il faut donc importer tous les fichiers *.0 puis *.1 etc….

radioDemo est archivée dans le git du projet. En effet, le contenu minimum d’une radio est très lié avec les fonctionnalités des programmes et donc aux versions de ceux ci. Certains bonus sont stockés également dans le git du projet mais ce n’est pas obligatoire.

ATTENTION : Il est important que le contenu “multi-media” correspondant à la radio minimum soit libre de droit. Chaque radio pourra ainsi choisir de rester libre de droits ou de payer les droits des musiques qu”elle ajoute.

III- Lancer radioDemo en local sur un PC

Le répertoire radioDemo du git, contient les sous-répertoires suivants :

Il faut que les logiciels omaRadio et les bibliothèques nécessaires soient installées sur le PC. Si ce n’est pas le cas, le système va vous demander de faire le nécessaire.

Aller dans le répertoire cfg_local lancer ./startDemo1.cmd

startDemo1.cmd est un script qui va vous proposer:

==> la radio est lancée.

Notes importante : le bonus 0 a 3 options :

Lorsque la radio tourne sur votre PC (en local) :

Vous avez donc une radio sur votre PC pour vous familiariser avec le système omaRadio.

Note importante :

Attention : Si vous sortez du script sans arrêter la radio, il vous appartient d’arrêter les processus omaRadio qui ont été lancés.

IV-Installer le minimum sur un serveur

Attention cela demande des compétences en informatique et sort du cadre de ce document !

L’ingénieur système pourra :

Note 1 : les bonus doivent être importés via le site d’importation de la radio.

Note 2 :

V-Quel contenu doit contenir une radio pour démarrer à partir de radioDemo ?

Le strict minimum est :

Note : dans radioDemo, cela est regroupé dans le répertoire secours.
Note : vous pouvez mutualiser la musique de secours ou au contraire les différencier (ce qui simplifie le diagnostique en cas de panne )

Ça fait plus sérieux si on ajoute :

( par défaut on joue une playlist “mini” avec de courts extraits de musiques libres de droit)

===> Voir la descriptions des bonus plus loin dans ce document.

VI-Comment on ajoute du contenu ?

Lorsqu’une radio est créé, elle contient le même contenu que radioDemo. Vous devez donc modifier le jingle et la playliste. Vous pourrez également changer la grille de programme.

Le principe est toujours le même : ( exemple du jingle)

VII-Que contient le minimum ?

En fait, lorsque la radio démarre (omaJukeBox en pratique). omaJuxebox cherche le fichier Programme-Defaut ( ce nom est dans la configuration de omaJukebox)

Ce fichier est un lien qui (dans la démo) pointe sur ProgrammeDemo-V1.

==> Note on peut donc créer des nouveaux programmes (V2,V3…) en changeant ce lien. ==> Note selon le choix fait, ProgrammeDemo-V1 contient soit une version jour soit une version heure.

Que contient ProgrammeDemoV1 ?

1 # diffuse 4 playlistes et dit bonjour
2 ProgrammeSynchro Jour
3 # pour changer de radio changer set0 et_creer les 4 playlistes
4 J 00 00 00 00 00 00 setMsg  1 60000 Merci d ecouter la demonstration
5 J 00 00 00 00 00 00 setMsg 11 60000_Joue 4 playlistes(matin aprem soir nuit) et dit  bonjour en fonction de la plage horaire 
6 P 00 00 00 00 00 00 set0 Demo
7 P 00 00 00 00 00 00 set1 jour
8 P 00 00 00 00 00 00 set2 plageHoraire
9 P 00 00 00 00 00 00 set3 podcast
10 J 00 00 00 00 01 00 playlistR Playliste-%2
11 J 00 00 00 12 00 00 playlistR Playliste-%2  
12 J 00 00 00 19 00 00 playlistR Playliste-%2
13 J 00 00 00 22 00 00 playlistR Playliste-%2
14 J 00 00 00 23 59 59 end restart

Bon c’est un peu ésotérique ? Allons y doucement

ligne 1 et 3 : # indique que la ligne est un commentaire

ligne 2 : indique à la machine que ce programme a une périodicité sur un jour

ligne 4 et 5 : messages qui seront envoyés au webPlayer de l’auditeur

ligne 6..8 : on initialise des variables (y en a 10) Par exemple ligne 7, on dit que %1 va être remplacé par le jour de la semaine (lundi, mardi..)

ligne 10 : on dit qu’à partir de 0 h 1 minute, on diffuse en aléatoire la playlist Playliste-%2 donc Playliste-Matin

ligne 11 idem mais à partir de 12 heures on diffuse Playliste-Aprem

ligne 12 à partir de 19 heures, PlayListe-Soir

ligne 13 22 heures, Playliste-Nuit

ligne 14 on lui dit qu’a 23 heures 59 minutes et 59 secondes, il doit recommencer au début.

Note : Il y a plein d’autres possibilités ( pour diffuser une émission, une émission tirée au hasard dans une liste,…) Mais ça sort du cadre de ce document.

Donc à 0 heure 1 minute, le système va jouer jusqu’à midi, la playliste Playliste-Matin ?

OUI ! Mais Playliste-Matin est un lien… Qui pointe sur Playliste-BourrageV1.

Évidemment c’est la même chose pour les autres qui pointent aussi sur Playliste-BourrageV1.

Par défaut, on diffuse donc une seule playliste. Mais que contient cette playliste ?

Elle a été importé sous forme “brute”. l’importateur lui a donc ajouté des jingles ( voir la configuration de omaBaseImport). En l’occurrence il a ajouté :

Donc, on va avoir un jingle toutes les 2 chansons et un autre toutes les 3 ?

OUI! Mais en faite, ce sont des liens qui pointent tout les deux sur JingleDemo-MerciPacV1

VIII- Comment personnaliser la démo ?

Il faut importer du contenu et importer (changer) un des liens définit dans le programme ou les playlists). Autrement dit :

Changer un jingle

Une solution possible est :

Si vous voulez importer 2 jingles différents, je vous laisse faire…

Dire bonne matinée, bonne après-midi, bonne soirée et bonne nuit?

Une solution possible est :

Note : c’est ce que fait le bonus 2.

Passer du classique le matin ?

Il y a 2 façons d’aborder le problème :

dans les 2 cas :

Si on veut avoir du classique par défaut le matin,

Si on veut avoir du classique de 11 h à 12 h,

Mettre à jour une playlist ?

Par exemple Nico souhaite mettre à jour sa playlist. Il va :

Ajouter des tops horaires ?

On souhaite annoncer “il est onze heures” ect…

Le système omaRadio dispose d’une variable pré définie “heure” ( il y a aussi “jour” etc…)

On associe à une des variable système ( par exemple %3) à l’heure de diffusion

     set 3 heure

Partout où le système va rencontrer %3 il vaut mettre l’heure de diffusion

Donc si on met :

 J 00 00 00 11 00 00 play Annonce-Horaire_%3h

On jouera le fichier Annonce-Horaire_11h a onze heures.

Note : on peut aussi mettre

 J 00 00 00 11 00 00 play Annonce-Horaire

et définir Annonce-Horaire comme étant un lien. C’est plus souple. On peut ainsi avoir des Annonce-HoraireV1_11h et les mettre à jour sans changer la grille de programme.

Ajouter des textes courts(messages)

Ajouter des photos

Ajouter des textes (fichiers)

Ajouter des podcasts

Diffuser le dernier podcast d’une série d’émissions

Ajouter des photos /des textes statiques

Il est possible (via le manager) de choisir :

Un exemple est disponible dans le bonus 6 et dans le bonus 11.

La procédure est la suivante :

Les liens ou les listes sont définies par l’utilisateur et doivent etre connues du web player.

Changer la grille de programme ?

ATTENTION ! C’est un peu plus délicat et c’est réservé au responsable d’antenne ( grille d’été, d’hiver…)

Note importante :

exemple :

J 00 00 00 11 00 00 play Emission-11h

3 cas de figure :

IX- Utiliser les bonus

Les bonus sont des exemples que vous pouvez personnaliser. C’est du contenu. C’est à dire un ensemble de fichiers cohérents entre eux. Ils s’importent dans la radio via le site de gestion ou en les copiant dans le répertoire import. Ils ont l’extension bonusIn.

Note : dans un bonus, il y a une notion d’ordre d’importation ( par exemple le son doit être importé avant la modification de sa fiche)

X- Fabriquer / Adapter un bonus

Les bonus fournis sont des exemples. Ils doivent être adapter à chaque radio. Par exemple les top horaire etc …

Créer un nouveau bonus

Note : il est souvent plus rapide de partir d’un bonus existant et de le modifier.

Une méthode possible consiste , sur un PC, a:

  1. créé un répertoire vide

  2. mettre les fichiers à importer dedans

  3. vérifier que les fichiers s’importent un par un dans la radio démo sur votre PC ( en respectant l’ordre).

  4. renommer les fichiers en ajoutant le numéro d’ordre à la fin de l’extension ( par exemple ficIn devient ficin2 ).

  5. faire la commande :

    zip ../Oma-Bonus6Amoi.bonusIn .

Modifier un bonus

Le plus simple c’est de récupérer un répertoire importBonusX de la démo pour avoir une trame de départ.

  1. copier le bonus (par exemple ImportBonus6 ) dans un nouveau répertoire.

  2. modifier / éditer les fichiers

  3. faire la commande en étant dans le répertoire :

    zip ../Oma-Bonus6Amoi.bonusIn .

  4. le fichier peut être importer via le site de gestion ou simplement copié dans le répertoire import de la radio.

Exporter un bonus

Il peut être intéressant de récupérer un bonus déjà fait ou d’en créer un pour exporter en “bloc” d’une radio vers une autre

Pour cela, il faut connaître le nom du bonus et récupérer sa fiches dans la base de son.

Après l’avoir éventuellement édité, la renommer en .bonusOu

Il suffit alors de l’importer et de recuperer dans le repertoire export de la radio le fichier .bonusOut correspondant.

Ce fichier peut etre dezipé dans un répertoire vide de votre PC pour être modifié.

Ce fichier, une fois renommé en bonusIn, peut être importer dans une autre radio.

Annexe 1 : Description des bonus

Les bonus, sont des exemples qui montrent comment implémenter des fonctionnalités. La difficulté étant qu’une fonctionnalité nécessite un ensemble de fichiers cohérents. Il y a (en général) plusieurs façons d’implémenter une fonctionnalité. Les Bonus sont une façon de découvrir plusieurs possibilités.

A vous ensuite, de faire le “mix” unique qui correspond à votre radio. N’oubliez pas d’utiliser le simulateur pour vérifier que le système réagit selon vos attentes.

ATTENTION : Ces contenus étant “plus élaborés”, l’importation fichier par ficher est possible mais un peu fastidieuse. Il faut respecter l’ordre de création. Il est plus judicieux d’utiliser l’importation de bonus.

Note : Si vous pensez votre émission voicetrack sous forme de bonus, vous avez :

Bonus 0

Ce bonus crée une structure “de base” composée :

Attention ce bonus se décline en 3 variantes :

Note : il est possible de faire des programmes “plus sophistiqués”

Bonus 1

Ce bonus illustre le fonctionnement multimédia de oma-radio et de son webPlayer.

Il consiste à définir une chronique qui, en plus du son, affiche des photos et du texte dans le player.

On trouve donc dans ce bonus :

Note : le lien Emission-10h doit être déjà présent dans le programme

Note : dans le cas de la démo “heure”, le lien Emission-10h, est défini a et quart

En effet, Tout va ce jouer dans le contenu de la fiche montré ci-dessous :

1 Import : wav
2 TagTime : 1 2 100 200
3 Tag1 : 11 1 Pierre-albert
4 Tag2 : 11 11 le chat et le chien
5 Tag100 : 11 81 Pac-chat   
6 Tag200 : 11 81 Pac-chien

Ligne 1 : on indique qu’il faut importer le fichier wav du même nom

Ligne 2 : on définit les instants (nombre de secondes depuis le début) où il se passe quelque chose.

Ligne 3 : on envoie le nom de l’auteur ( Msg1 -> ch sur le webPlayer. C’est une convention choisie par la radio de mettre les auteurs sur le Msg 1 . )

Ligne 4 idem mais titre de la chronique

Ligne 5 : on envoie le nom du fichier qui contient la photo. (elle va s’afficher entre 100 et 200 secondes)

Ligne 6 : le nom de la photo qui va remplacer (Msg 81) à partir de 200 secondes et jusqu’à la fin.

Ensuite, il va suffire de redéfinir le lien Emission-10h pour qu’il pointe sur Pac-ChroniqueChatChien.

Contenu du fichier Emission-11h.lienIn2 :

1 Info : ce_fichier_est_un_lien
2 Reel : Pac-chroniqueChatChien

Bonus 2

Ce bonus permet de dire bonne matinée, bonne après-midi etc … IL consiste à définir Jingle-Defaut1 comme un jingle “contextuel” en fonction de la plage horaire.

On trouve dans ce bonus :

Contenu du fichier JingleDefaut1.lienIn2 :

1 Info : ce_fichier_est_un_lien
2 Reel : JingleDemo-Bon%2_%1

Note 1 : Dans programmeDemoV1, la variable %2 est initialisée avec la plage horaire et la variable %1 comme le nom du jour.

Note 2 : Les playlists (de bourrage) doivent contenir des JingleDefaut1.

Note 3 : les voicetrack peuvent insérer des plages avec des % et fournir les différentes combinaisons pour s’adapter “automatiquement” au moment de diffusion ( ex on passe la matinée, la soirée .. )

Les plages horaires sont définie dans la configuration de omaJuxebox ( par défaut c’est la définition de la marine nationale française )

Bonus 3

Ce bonus permet d’ajouter une émission en voice track à 11 h tous les jours. Cette émission s”appelle InstantJazz.

Principe arbitrairement choisi pour lӎmission :

Note importante :

On trouve dans ce bonus :

Note : radioDemo-Emission11h est un lien qui a été prévu dans le programme. Vous pouvez mettre l’émission que vous voulez !

La difficulté se situe au niveau de la playlist.

Contenu du fichier Pac-InstantJazzV1.lstIn1

1 Pac-InstantJazz_AnnonceDebV1 F
2 Pac-AllTheSummerGirls_AnnonceV1 M
3 Audiohub-AllTheSummerGirls L
4 Pac-InstantJazz_JingleV1 F 
5 Pac-AllOverNow_AnnonceV1 M
6 Audiohub-AllOverNow L  
7 Pac-InstantJazz_AnnonceFinV1 F
8 ~Stop~
9 Pac-ZombieInvasion_AnnonceV1 M
10 Audiohub-ZombieInvasion L
11 Pac-HandForSummer_AnnonceV1 M
12 Audiohub-HandsUpForSummer L
13 ~End~

il y a 3 types de lignes :

Les diffusions possibles sont :

Les instructions possibles sont :

En effet on souhaite diffuser que 2 titres (piochés au hasard ) parmi les 4 de la playlist.

Note importante : en cas de grande playlist, le tirage au sort (M) peut entraîner une grande variation de la durée totale de la playlist selon le tirage. On peut donc se retrouver avec une playlist qui “déborde” et l’annonce de fin n’est pas diffusée… Voir Bonus 7.

Bonus 4

Ce bonus permet d’ajouter un top horaire.

Le principe est le suivant :

Attention:

Bonus 5

Ce bonus permet d’ajouter des podcasts statiques. Statique veut dire qui ne dépendent pas de ce que diffuse la radio. Par opposition aux podcasts dynamiques qui sont proposés en complément de ce que diffuse le flux audio.

Le principe est le suivant :

Bonus 6

Ce bonus permet d’ajouter des photos et des textes statiques. Statique veut dire qui ne dépendent pas de ce que diffuse la radio. Par exemple des photos de fond d’écran etc…

Il existe 2 façons de réaliser cet objectif :

Ce bonus montre la solution avec des liens.

Le principe est le suivant :

Puis on définie des liens qui sont connus du player :

Note 1 : on suppose que le player Web gère StatiquePhoto et StatiqueTexte. C’est à dire qu’il sait les afficher.

Note 2 : le mécanisme est transparent pour omaJuxeBox.

Bonus 7

Ce bonus montre comment on peut gérer une playlist (voicetrack) avec des randoms ET en respectant l’horaire. C’est une variante plus sophistiquée du Bonus 3.

ATTENTION il faut avoir chargé le bonus 3 avant !

Dans le programme Demo heure, l’émission de 11 h dure 600 secondes donc 10 minutes maximum et est diffusée à la demi-heure de chaque heure.

On va donc :

Note : Pour ne pas faire grossir la base de sons, on se contente de tourner sur les sons existants.

Note : pour les explications de la syntaxe, voir le bonus 3.

On trouve dans ce bonus les fichiers suivants :

La difficulté se situe au niveau de la playlist.

Contenu du fichier Pac-InstantJazzTropLongV1.lstIn1

   1 ~Annonce~ Pac-InstantJazz_AnnonceFinTropLongV1
   2 Pac-InstantJazzTropLong_AnnonceDebV1 F
   3 Pac-AllTheSummerGirls_AnnonceV1 M
   4 Audiohub-AllTheSummerGirls L
   5 Pac-InstantJazz_JingleV1 F 
   6 Pac-AllOverNow_AnnonceV1 M
   7 Audiohub-AllOverNow L  
   8 Pac-ZombieInvasion_AnnonceV1 M
   9 Audiohub-ZombieInvasion L
  10 Pac-HandForSummer_AnnonceV1 M
  11 Audiohub-HandsUpForSummer L
  12 Pac-InstantJazz_AnnonceFinV1 F
  13 ~End~

On remarque :

OmaJuxebox vérifie que l’émission totale ( avec les annonces ) a une durée inférieure à 10 minutes ( la consigne de 10 minutes a été mise dans le programme heure)

Bonus 8

Ce bonus montre comment on peut diffuser le dernier podcast d’une liste de podcast à 20 heures.

On trouve dans ce bonus :

Contenu du fichier Pac-RediffusionPodcast.lstIn1

 1 Pac-RediffusionPodcast_AnnonceDeb F
 2 ~PodStatique~ Pac-Chroniques 0 F
 3 Pac-RediffusionPodcast_AnnonceFin F
 4 ~End~

La ligne 2 indique qu l’on veut diffuser un son qui sort d’une liste. La liste s’appelle Pac-Chroniques et on veut le son 0 (donc le plus récent)

Note: il est possible de redéfinir le lien sur une playlist plus sophistiquée…

Note : si la playliste a une erreur de chargement, elle est ignorée.

Bonus 9

Ce bonus contient un podcast multimédia qui montre le montage du studio mobile.

Bonus 10

Ce bonus montre comment on diffuse un podcast pris au hasard dans une liste de podcasts statiques.

On trouve dans ce bonus :

Contenu du fichier Pac-Rediffusion_Pac_Chroniques_Rnd.lstIn1

1 Pac-Rediffusion_Pac_Chroniques_Rnd_AnnonceDeb F
2 ~PodStatique~ Pac-Chroniques rnd F
3 Pac-Rediffusion_Pac_Chroniques_Rnd_AnnonceFin F
4 ~End~

juxebox va donc diffuser l’annonce, un fichier tiré au sort parmi les fichiers de la liste Pac-Chroniques puis l’annonce de fin.

Note : si la playliste a une erreur de chargement, elle est ignorée.

Bonus 11

Ce bonus permet d’ajouter des photos, des textes statiques, des sons statiques. Statique veut dire qui ne dépendent pas de ce que diffuse la radio. Par exemple des photos de fond d’écran etc…

Il existe 2 façons de réaliser cet objectif :

Ce bonus montre la solution avec des listes. ( le bonus 6 montre avec des liens )

Le principe est le suivant :

Puis on les ajoute à des listes connues : (Photo-Statiques et Textes-Statiques )

Note 1 : on suppose que le player Web connaît et sait lire les fiches Photo-Statiques et Textes-Statiques. C’est à dire qu’il sait les afficher.

Note 2 : on peut créé Sons-Statiques qui contient des sons pour “parler à l’auditeur”

Note 3 : le mécanisme est transparent pour omaJuxeBox.

Annexe 2 : Lancer icecast2 sur le PC

Il faut préalablement installer icecast2. Certaines versions posent problème.

apt install icecast2

==> ça installe la 1:2.4.0

==> y a un fichier /etc/icecast.xml avec un propriétaire étrange ?

==> je le copie dans ~/core/radioDemo/cfg_local/icecast.xml et je suis le propriétaire

==> je met 8001 a la place de 8000 ???

==> il écoute en 8001 et diffuse en 9000?

==> je vais dans radioDemo et je lance

icecast2 -c icecast.xml

==> ça se lance

==> je me connecte admin hackme

Annexe 3 : lancer une demo avec un serveur Web

to do