Résidence (24-28 mars 2025)

Résidence de développement #

Introduction #

Du 24 au 28 mars 2025 s’est tenue grâce au soutien financier de l’Athenor CNCM une semaine de résidence dédiée au développement logiciel de Sova. Cette résidence a été accueillie conjointement par le laboratoire LS2N puis par l’IUT de Nantes. L’objectif de cette session de travail fut d’asseoir définitivement les bases de l’architecture logicielle et de travailler à l’obtention d’une première version utilisable. C’est au cours de cette semaine que Sova fut pour la première fois en mesure d’émettre ses premières notes et de jouer ses premiers scripts ! C’est au cours de cette même semaine qu’un premier langage minimal pour Sova a pu être développé par Loïg Jezequel ou qu’une architecture client/serveur a pu être mise en place par Tanguy Dubois. Raphaël Forment s’est chargé de l’implémentation MIDI et de la mise en place du premier client : sovatui (voir Figure 2). Le site internet que vous consultez actuellement est un autre des produits immédiats de cette résidence.

Ecole centrale de Nantes
Locaux du laboratoire LS2N de l’École Centrale de Nantes.

Le projet s’est rapidement solidifié autour de deux entités logicielles aux rôles bien distincts :

  • sova : un serveur d’exécution et de distribution de l’information musicale entre clients, hébergeant un premier compilateur pour un langage haut-niveau (BaLi pour Basic Lisp) et l’ensemble du code essentiel au fonctionnement de l’application.
  • sovatui : un modèle d’interface utilisateur, possédant un éditeur de texte ainsi que différents outils de contrôle pour le serveur. Ce logiciel se destine à faciliter le débogage et le test de l’application (voir Figure 2).
Interface du TUI bubocoretui
Interface de l’utilitaire sovatui, premier client développé pour Sova.

Les principaux problèmes laissés en suspens par la précédente session de travail semblent à ce point être résolus et les performances actuelles de l’application sont satisfaisantes. Il faudra toutefois attendre les premières jams collaboratives pour disposer d’un véritable retour utilisateur ! Le développement s’oriente donc désormais vers le fait de rendre possible cette première jam entre deux villes : Lyon (Rémi Georges et Raphaël Forment) et Nantes (Loïg Jezequel et Tanguy Dubois). Quelques programmes de tests sont d’ores et déjà testables sur le dépôt logiciel du projet – et ils tournent !.

Conclusions #

Le projet se rapproche doucement d’une première version collaborative utilisable. Celle-ci permettra la connexion de plusieurs musiciens, l’édition et la soumission de scripts pour exécution, le contrôle de l’ensemble des paramètres du serveur. La structure du projet permet désormais d’envisager l’ajout de fonctionnalités essentielles pour les prochaines étapes de travail :

  • support du protocole OSC (Open Sound Control) pour le contrôle de logiciels externes.
  • suite du développement de Basic Lisp pour réaliser des opérations plus complexes.
  • ajouter / supprimer / mettre à jour des scripts de manière collaborative.
  • choix du langage de script à utiliser pour chaque pas.
  • sauvegarde et chargement de sessions utilisateur sous la forme de fichiers.