Tryphon Services

Transcription

Tryphon Services
 Tryphon
Radio, Web et Logiciels Libres
Tryphon Services
Muse, solution libre de programmation musicale
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
Sommaire
Origines.................................................................................................................................2
Une application Web..........................................................................................................3
Externaliser le stockage du son..........................................................................................5
Utiliser l'existant.....................................................................................................................6
Programmer de la musique................................................................................................6
Mettre à l'antenne...............................................................................................................7
Partager et conserver sa spécificité.................................................................................8
Notification de diffusion : « scrobbling ».........................................................................10
Interaction avec les auditeurs..........................................................................................11
Intégrer de nouveaux contenus.......................................................................................11
Un outil au quotidien.........................................................................................................12
Un outil social......................................................................................................................13
Un modèle communautaire.............................................................................................13
Une plateforme technique ouverte................................................................................14
Un outil ouvert....................................................................................................................14
Evolutions / extensions.......................................................................................................14
Feuille de route...................................................................................................................15
Illustrations
Drawing 1: Ecosystème Muse.............................................................................................4
Drawing 2: Ecoutes sur Muse..............................................................................................6
Drawing 3: Préparation de la diffusion..............................................................................8
Drawing 4: Partage et Collaboration avec Muse...........................................................9
Drawing 5: "Scrobbling" via Muse....................................................................................10
Drawing 6: Nouveaux contenus via Muse......................................................................12
Origines
Les deux situations à l'origine des réflexions sur « Muse » :
Le choix des concepteurs de Rivendel
l (gestion d'antenne) de ne pas prendre en charge la programmation musicale, et l'absence d'outil reconnu dans le monde du logiciel libre.
Les problèmes techniques rencontrés par les utilisateurs « professionnels » de musique libre : difficulté de sélection, difficulté pour gérer la récupération du son contenu audio « au bon moment ». Autant de symptômes d'un nouvel usage http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
amené à se généraliser avec la dé­matérialisation des supports musicaux.
Ce document regroupe bon nombre des réflexions de l'équipe de Tryphon (pour la plupart antérieures à la création de notre société), fruits de notre expérience et (surtout) de nos conversations sur ces problématiques avec des programmateurs (principalement français mais aussi belges).
Il s'agit bien là de réflexions, parfois détaillées, n'appelant qu'à remarques et discussions.
Une application Web
Si la forme que pourrait prendre Muse peut paraître secondaire, le choix entre application « de bureau » (desktop) ou « web » (certains oseraient « cloud ») est pourtant déterminant dans bon nombre des fonctionnalités qui nous intéressent. C'est aussi un élément important pour créer une application et un projet communautaires.
Illustration 1: Maquette d'un écran de Muse
« Muse » se voudrait une application « web » :
Simple d'accès : pas d'installation requise, utilisable par simple création d'un compte, accessible « partout », de la radio, de la maison, ou pourquoi pas sur son smartphone.
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
Communautaire : partagée sur un même serveur, elle permet un partage direct des informations entre utilisateurs. Primordial pour une application qui doit caractériser finement des dizaines de milliers de morceaux. Ce partage de données est aussi primordial pour que la communauté s'agrandisse facilement.
Evolutive : mise à jour aussi souvent que nécessaire, ses utilisateurs la trouvent chaque matin, prête à offrir les dernières fonctionnalités mises au point avec ces même utilisateurs.
Trans­organisationnelle : outre le partage technique, elle permettrait par exemple à un même utilisateur de programmer la musiques de plusieurs radios, et si nécessaire depuis l'autre bout de l'Europe.
Serveur http://muse
Fournisseurs Musique
libre ou sur accord
Auditeurs / internautes
Internet
Programmateurs
Radio Utilisatrice
Radio Utilisatrice
Serveur Rivendell
Serveur Stockage
Stations Rivendell
Serveur Stockage
Stations de travail
Drawing 1: Ecosystème Muse
Références
Des applications « web » avec certaines caractéristiques similaires :
•
Delicious : http://www.delicious.com
•
MusicBrainz : http://musicbrainz.org
Nos autres réalisations radiophoniques, « web » et libres :
•
AudioBank, stockage, partage et mise en ligne de son : http://audiobank.tryphon.org
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
•
Bonnes­Ondes, gestion de site d'émission radio :
http://www.bonnes­ondes.fr
Externaliser le stockage du son
« Muse » se propose de gérer les méta­données musicales, et juste les méta­
données.
Le stockage des fichiers contenant les morceaux selon les mêmes modalités (serveur web communautaire) poseraient de nombreux problèmes :
•
de droits et de propriétés
•
d'espace de stockage (en téra­octets pour une large discothèque en flac)
•
de transfert à travers Internet au moment de la diffusion
Ce choix initial pourra être revu dans le futur, quand de nombreux utilisateurs auront un accès internet très haut débit par exemple.
Concrètement donc les fichiers musicaux restent « à la radio ». Les fonctionnalités de « Muse » n'en dépendent pas sauf une :
Ecouter
Lorsque l'utilisateur de « Muse » clique sur Ecouter, il « suffit » que son navigateur aille chercher la musique là où elle se trouve. Par exemple, en gérant une URL externe (spécifique pour chaque radio), l'utilisateur lira donc la musique qui se trouve sur le serveur de fichiers de la radio, dans la pièce à côté, même s'il lance l'écoute depuis « Muse ».
Ce système simple est une base qui sera certainement perfectionnée (VPN, stream on demand, etc ...).
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
Serveur http://muse
Internet
Programmateurs
VPN
Radio Utilisatrice
Serveur Stockage
Radio Utilisatrice
Serveur Stockage
Stations de travail
Drawing 2: Ecoutes sur Muse
Utiliser l'existant
Que ce soit pour les nouveaux utilisateurs aussi bien que pour importer de nouveaux contenus (CDs, fichiers, ...), des outils d'import devront permettre :
•
d'ajouter les meta­données de morceaux pas encore référencés dans Muse
•
signaler à Muse les morceaux dont on dispose concrètement
•
importer les meta­données d'autres logiciels (Rivendell, Mac Broadcast, ...)
Par exemple, un outil d'import pourra être capable de prendre en charge toute une arborescence de fichiers mp3 ou ogg/vorbis pour les référencer dans Muse.
Il pourrait très opportun de se baser sur les technologies existantes dans le domaine comme MusicBrainz. Muse devrait donc associer des identifiants de MusicBrainz à certaines de ses données. Les outils d'import pourront ainsi retrouver un morceau dans Muse via les résultats d'analyse des outils de MusicBrainz.
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
Programmer de la musique
L'objectif premier est bien de programmer de la musique. Les utilisateurs devront pouvoir exprimer les besoins : plages musicales de leurs grilles et, dans certaines radios, pauses musicales à proposer aux réalisateurs d'émissions.
Chacun de ces besoins pourra être couvert par une sélection de l'utilisateur : par tag, par année, etc.
Les outils peuvent être nombreux :
•
Contrôle des répétitions : artistes, tags, selon plages dans la grille (nuit, jour, ...), ...
•
Filtrage : constants (enregistrements de mauvaise qualité, lives maison avec permissions particulières), par périodes (musiques de Noël, ...)
•
Gestion des contraintes : quotas SACEM, CSA
Avec ces informations, Muse pourra proposer des programmations musicales pour chaque période souhaité. Restera à l'utilisateur à les modifier (si nécessaire) et à les confirmer.
Mettre à l'antenne
Les programmations une fois définies, il reste à en informer le logiciel de gestion d'antenne. Nous prendrons comme exemple l'intégration avec Rivendell, mais elle se fera sûrement de manière comparable avec les autres outils du marché (disposant des fonctionnalités équivalentes).
Rivendell intégre un système d'import des programmes musicaux. Il s'agit de fournir pour chaque jour un fichier complétant les définitions de la grille gérée par RdLogManager (et les Events attendant un « import music »). Muse, disposant des informations nécessaires (plages musicales attendues pour chaque Service, identifiant du Cart Rivendell pour chaque musique), pourra générer directement le fichier texte d'import dans le format voulu pour Rivendell (et par l'utilisateur de Muse). Chaque nuit (par exemple), un script automatique (un « cron » dans le jargon) sur le serveur de stockage Rivendell de la radio utilisatrice pourra venir consulter Muse (via son API http), récupérer les fichiers des programmation de jours suivants (si elles sont pretes) et informer RdLogManager des informations disponibles. L'utilisation n'ayant à intervenir qu'en cas de problème d'import (et de « merge »).
A noter que pour les radios ayant des difficultés temporaires d'accès à Internet, ce http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
processus pourrait être réaliser à la main en téléchargeant les même fichiers via l'interface de Muse et en les important à la main dans l'interface Rivendell (en transportant les fichiers avec une clé USB).
Ce script pourra prendre en charge la création d'un nouveau Cart lorsqu'un morceau n'est pas encore disponible dans Rivendell mais qu'il est programmé. Le Cart sera simplement créé grâce au fichier récupéré sur le serveur de stockage de la radio.
Serveur http://muse
Internet
Programmateurs
Radio Utilisatrice
Serveur Rivendell
Stations Rivendell
Serveur Stockage
Stations de travail
Drawing 3: Préparation de la diffusion
Partager et conserver sa spécificité
L'utilisation des données partagées ne doit pas mettre à mal les spécificités de chaque utilisateur. Il faut pour cela allier habilement données communes et données maison. L'objectif est que tout le monde gagne en efficacité en faisant sa programmation à sa manière.
Les données communes permettent d'avoir à disposition (dès son arrivée dans la communauté) la plupart des informations pour travailler. Les données « maison » permettent quand à elle de travailler à sa manière.
Quelques exemples de données communes : http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
•
« encyclopédiques » : titres, artistes, descriptions
•
techniques : pochettes, MusicBrainz Track Id
et de données « maison » : •
le flag « ce morceau, cet album fait partie de notre collection »
•
référence pour le logiciel de diffusion
•
URL pour écouter
•
URL du fichier originel (flac, ...)
L'administration des données communes peut être envisagée de plusieurs manières : •
selon le principe d'un wiki, éditable par tous les utilisateurs mais avec un historique très exact des modifications
•
par des commentaires laissés par les utilisateurs, les modifications étant laissées à une équipe d'administration
•
par des niveaux d'utilisateurs : un utilisateur inconnu de tous n'ayant pas les même permissions sur les données communes que des utilisateurs plus anciens reconnus de tous
Serveur http://muse
Internet
Programmateurs
Radio Utilisatrice
Radio Utilisatrice
Serveur Stockage
Serveur Stockage
Drawing 4: Partage et Collaboration avec Muse
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
Tags
L'un des moyens pour catégoriser les morceaux est l'utilisation des tags (étiquettes). Cette petite liste sur chaque morceau, chaque album ou artiste fait partie des données clé pour réaliser des sélections (« reggae », « noel », « gold », ...).
Dans le cadre du partage de données, Muse pourrait gérer des tags communs, visibles de tous, et des tags « maison », spécifiques à un utilisateur ou un groupe d'utilisateur.
Certains mécanismes peuvent être mis en place pour faciliter l'utilisation de ces 2 niveaux de tags : possibilité d'ignorer un tag commun, procédure pour rendre un tag commun, etc ...
De nombreuses services utilisent ce principe de tags partagés (delicious, lastfm, ...).
Notification de diffusion : « scrobbling »
Avec les logiciels de diffusion actuels, il est très simple de gérer des notifications signalant la diffusion des morceaux de musique (projet « meta­live » chez Tryphon). Ce principe de notification des morceaux diffusés/écoutés est appellé « scrobbling » et utilisé par des services internet comme last.fm ou libre.fm.
Ces notifications sont confirmées/complétées par la prise en compte des logs de diffusion (chaque nuit par exemple).
Dans les deux cas, chaque diffusion informatique d'un morceau est connue par Muse.
Avec le système de notification, il peut même en être informé en temps­réel. Plusieurs fonctionnalités découlent de ces informations :
•
statistiques en temps­réel : chronologie des morceaux diffusés, statistiques par tag, etc
•
notifications au programmateur en cas de grosses différences entre le programmé et le diffusé
•
préparation des déclarations SACEM/SABAAM
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
Auditeurs / internautes
Internet
Programmateurs
Radio Utilisatrice
Serveur Rivendell
Serveur Stockage
Stations Rivendell
Stations de travail
Drawing 5: "Scrobbling" via Muse
Interaction avec les auditeurs
Muse étant une application web, cela permet d'utiliser ces données pour ... les auditeurs.
Une partie « publique » de Muse (qui pourra être aux couleurs de la radio utilisatrice) pourra permettre aux auditeurs des radios utilisatrices :
•
de consulter les derniers morceaux diffusés, •
voir les détails d'une musique, de l'artiste
•
visiter les liens vers les sites de l'artiste, des labels, des « fournisseurs » de musique
•
voter pour une musique
•
partager leurs enthousiasmes et leurs expériences radiophoniques sur leurs réseaux sociaux préférés
Un moyen pour les radios utilisatrices de mettre en avant leurs programmations musicales et (surtout) les artistes mis à l'honneur sur leurs antennes.
Intégrer de nouveaux contenus
Pour reprendre l'un des besoins qui a initié notre réflexion sur Muse, la musique libre pose la question de comment les utilisateurs pourraient intégrer plus facilement http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
des nouveaux morceaux dans leur collection.
La musique libre a un avantage dans ce domaine : accéder au contenu audio des morceaux est simple. Si un morceau de musique référencé dans Muse contient l'URL permet de télécharger le fichier informatique (en haute qualité), il devient possible pour chaque utilisateur de Muse d'intégrer ce morceau dans une programmation sans s'inquiéter du téléchargement. En effet au moment de l'intégration dans le logiciel de diffusion, il suffira que le processus prenne en charge :
•
le téléchargement de la musique, •
le stockage sur le serveur de fichiers de la radio •
et son référencement dans le logiciel de diffusion.
Ce mécanisme, imaginé pour la musique libre, peut être généralisé aux musiques accessibles moins librement. Il suffit que le processus de téléchargement soit capable de s'identifier auprès du fournisseur de musique.
En résumé, le processus d'intégration d'un nouveau morceau dans Muse, c'est facile. Concrètement il faut que le contenu soit « physiquement » disponible (via une URL ou une API ouverte).
Serveur http://muse
Fournisseurs Musique
libre ou sur accord
Internet
Programmateurs
Radio Utilisatrice
Serveur Rivendell
Stations Rivendell
Serveur Stockage
Stations de travail
Drawing 6: Nouveaux contenus via Muse
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
Un outil au quotidien
Même si Muse est une application web, il faut qu'elle soit une application qui s'adapte aux quotidiens de ses utilisateurs.
Programmer de la musique, c'est la connaître, c'est donc l'écouter. Quelques idées pour faciliter la chose :
•
Playlists : manuelles ou sur recherche (tags) ... pour s'organiser, pour mettre de côté des choses à écouter, remplacer les bonnes vieilles piles de CDs sur le bureau.
•
Podcasts : pour (ré)écouter en balade une sélection, des nouveaux titres, etc ...
•
Plugins pour players libres : l'API ouverte de Muse permettra de créer des plugins pour les players libres, permettant par exemple dans Rhythmbox (ou Amarok, Audacious , ...) de naviguer dans sa collection (comme le plugin Jamendo de Rhythmbox de rechercher de la musique libre).
Un outil social
Muse peut faciliter les interactions entre utilisateurs. Parce qu'ils se connaissent et veulent s'échanger des informations ou parce que l'utilisation de Muse amènent des utilisateurs à se « rencontrer » électroniquement :
•
Echanges entre utilisateurs : une fonction « Envoyer à » pourrait permettre de signaler un morceau, un album, une playlist à un autre utilisateur « ami » de Muse (comme delicious ou Google Reader par exemple).
•
Notes et commentaires des utilisateurs : on peut imaginer que les utilisateurs Muse souhaitent pouvoir noter et mettre des commentaires, visibles des autres utilisateurs, sur un morceau ou sur un album.
•
Moteur de suggestions : Muse pourrait croiser certaines informations pour recommander des morceaux, des albums aux utilisateurs en fonction de leurs programmations (comme last.fm)
Un modèle communautaire
Le modèle de données de Muse devra robuste et souple. L'objectif est de gérer aussi bien les collections de musique classique, les morceaux mis en ligne par les labels électroniques que les lives captés lors d'un festival par la radio.
L'ambition est aussi de gérer pour certaines informations plusieurs niveaux de http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
données : global, organisation (radio) et utilisateur.
Il va de soi que ce modèle ne pourra être mis en place que progressivement. En répondant aux premières fonctionnalités, et en s'efforçant ensuite de coller aux choix et aux évolutions fonctionnelles lors de la mise au point de Muse.
Techniquement, ce modèle est le coeur du problème.
Quelques concepts qui pourraient être retenu :
•
Tracks, TrackGroup (album, compilation, remix, ...)
•
People (artist, producer, ...), PeopleGroup (band, ...), •
PeopleRole (interprète, auteur, compositeur, producteur, ...)
•
TrackRelationship (reprise, remix, version live, acoustique, etc ...)
•
Tags
•
User, Organisation
•
Collection (collection « physique » de morceaux, celle d'une radio par exemple)
Références
•
Modèle de données de MusicBrainz :
http://musicbrainz.org/doc/Object_Model
Une plateforme technique ouverte
Les données et les services de Muse seront accessible via des API http. Un développeur pourra dans le langage de son choix réaliser des outils dialoguant avec Muse en json ou XML via http. Permettant ainsi toutes les integrations imaginables (dans un site web, dans une application tiers, ...).
C'est aussi un gage de confiance pour les utilisateurs qui pourront accéder à leurs données et les exporter vers la destination de leur choix.
Un outil ouvert
Imaginons qu'un responsable d'un label veuille proposer en avant première aux radios associatives le titre d'un futur album. Le flac du titre en question est accessible en ligne (sur une URL privée par exemple). Il peut à l'heure actuelle envoyer quelques emails et ... espérer.
Avec Muse, ce même responsable pourra renseigner ce titre en quelques minutes, http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
associé la version d'écoute et la version téléchargeable. Il pourra soumettre le Track aux programmateurs de son réseau, utilisateurs de Muse comme lui, qui partageront à leurs tours l'information s'ils le souhaitent. On pourrait aussi imaginer que tout ou partie des utilisateurs de Muse soient notifiés de ce nouveau morceau si un tel mécanisme est souhaité par les utilisateurs.
En tout cas, les utilisateurs de Muse concernés découvriront le morceau en ouvrant leurs emails, l'écouteront en un clic. Ils pourront l'intégrer (ou non) à leur collection, ajouter/partager des tags, ajouter un commentaire, etc. Ils auront au final la possibilité de programmer ce morceau dans la journée en quelques clics, sans s'inquiéter du « fichier ». Selon le processus choisi pour programmer leur logiciel de diffusion, ils pourront mettre à l'antenne le dit­morceau en quelques heures.
Muse sera aussi capable de fournir les commentaires, notes et aussi les statistiques temps­réel de programmation et de diffusion au responsable de label (pour les utilisateurs en ayant donné l'autorisation).
Internationalisation
Muse pourrait être proposer en d'autres langues qu'en français. On peut, par exemple, proposer une version anglaise dès les premiers développements (en standard sur les applications Tryphon récentes).
Les tags permettront de partager des meta­données entre les langues (avec des règles d'équivalence entre certains tags : « noel », « christmas », « navidad », ...).
Stockage
Parce que si le stockage des fichiers n'est pas pris en charge par Muse, et qu'il peut assurer par un simple serveur http et quelques scripts, il faudrait proposer une solution homogène à ce problème.
MuseCollector
MuseCollector pourrait donc gérer le stockage des fichiers d'une Collection, en liaison avec Muse :
•
gérer l'association entre fichier sur le disque dur et Track dans Muse
•
permettre l'écoute (locale ou via VPN par exemple)
•
gérer le télechargement d'un titre (qui peut l'être !)
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
•
gérer la détection et l'import de nouveaux fichiers ou CDs
•
gérer l'interaction avec le logiciel d'antenne
•
gérer la sauvegarde
•
gérer les échanges entre MuseCollectors via peer­to­peer
MuseBox
Comme Tryphon adore les solutions libres clés en main, cela serait la Box libre proposant :
•
le stockage sur disques durs
•
un MuseCollector prêt à l'emploi
Feuille de route : « version 1 beta » L'objectif de cette version est simple : permettre le déploiement de Rivendell avec un support de programmation musicale « minimale ».
Fonctionnalités
Les grandes lignes de cette première version sont les suivantes :
•
Import des descriptions fournies par les fichiers musicaux existants (support id3v2)
•
Gestion d'étiquettes (tags) pour classifier les titres musicaux
•
Gestion de sélections et de grilles horaires pour spécifier la programme musicale attendue
•
Outil d'import des programmations et Carts dans Rivendell
•
Début de l'internationalisation de l'application (support français et anglais)
•
Déploiement de l'outil sur un serveur internet (http://muse.tryphon.eu)
Éléments techniques
Les détails de ces fonctionnalités, en particulier les maquettes des interfaces utilisateurs, seront précisés (et affinés si nécessaire) en début de phase.
Néanmoins pour obtenir une évoluation des charges réalistes, il est prévu la réalisation des éléments suivants :
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
•
User / Organisation et authentification
•
Track, TrackGroup (album), PeopleGroup (groupe)
•
Création de TrackGroup/Track & PeopleGroup à partir d'informations id3v2
•
Association d'une URL de stockage pour chaque Track
•
Tags : outil pour tagger par TrackGroup, PeopleGroup
•
Selection : filtrage par Tags (inclusions et exclusions)
•
GridSelection : filtrage appliquée sur une tranche horaire
•
Grid : regroupe les GridSelections d'une semaine et de Constraints
•
Contraints : permettant d'assurer une temps minimum entre deux utilisations d'un Track ayant le même PeopleGroup ou TrackGroup
•
DaySchedule, Schedule : liste de Tracks effectivement sélectionnés en fonction des GridSelections utilisés
•
Support d'un identifiant de Cart Rivendell pour chaque Track
•
Script d'import dans Rivendell : création des Carts nécessaires, génération des fichiers Import Music
•
Support i18n français/anglais
Sont prévus les éléments suivants dans l'environnement du projet :
•
Déploiement du serveur sur http://muse.tryphon.eu
•
Intégration sur l'installation Rivendell d'une radio pilote
•
Liste de discussion, forum User Voice
•
Projet BaseCamp avec la radio pilote
•
Publication des sources (licence AGPL) sur http://projects.tryphon.eu/muse
Les éléments suivants ne sont pas attendus dans cette version :
•
Pas de validation de la diffusion des Tracks à l'antenne
•
Pas de gestion de jingles dans les Schedules
•
Pas d'optimisation de la durée
•
Pas de documentation
http://www.tryphon.eu – [email protected]
Tryphon
Radio, Web et Logiciels Libres
Charges
•
20 jours de développement
•
10 jours de préparation (réunions, mockups, ...) et de déploiement
http://www.tryphon.eu – [email protected]