Bibliothèque Wave.js – solutions de visualisation et d’interaction avec l’audio pour le web

Description :

La bibliothèque Waves.js est développée par l’IRCAM dans le cadre du programme ANR ContInt (contenus numériques et interactions) projet WAVE (Ircam, Eurecom, Universal Music Publishing Classical France). Elle propose des solutions de visualisation et d’interaction avec des données audio dans le navigateur web et sans plugin tierce.

 

Quelques exemples de réalisations possibles avec cette librairie : http://wave.ircam.fr/demo/

 

La bibliothèque s’appuie sur de nouvelles possibilités implémentés dans les navigateurs web (dont la Web Audio API qui permet de faire des traitements audio dans le navigateur). En janvier 2016 elle fonctionne parfaitement sur Chrome et partiellement sur Firefox, IE 10 et Safari. Les prochaines versions de ces navigateurs devraient amener une généralisation des possibilités requises (celles-ci ont été officiellement acceptées comme des « standards » du net, même si elles ne sont encore que partiellement implémentées). L’ensemble de la bibliothèque est par ailleurs parfaitement compatible avec les standards déjà existant HTML5 et CSS3 du W3C.

 

S’agissant d’une bibliothèque JavaScript, tous les calculs sont effectués directement chez l’utilisateur et non sur un serveur distant. Un serveur est néanmoins nécessaire pour utiliser la bibliothèque, car les navigateurs n’ont jamais le droit d’accéder au système de fichiers local.

Une autre limitation est que les fonctions de la bibliothèque doivent disposer des fichiers audio dans leur intégralité (elles ne peuvent opérer sur des données en streaming). C’est une différence importante avec un lecteur comme Timeside (intégré à Telemeta). Waves.js apporte en revanche des solutions particulièrement intéressantes pour intégrer les analyses et les fonctions d’interaction dans des pages HTML5 (pour clefs d’écoute par exemple)

 

Informations techniques :

La bibliothèque est, pour l’heure, constituée de « primitives » écrites dans le langage javascript. Ces primitives sont des fonctions de base, combinables, reposant sur deux moteurs :

  • Primitives d’affichage (éditables ou fixes): marqueurs, segments, courbes de mouvement (mélodique), forme d’onde, zoom par click maintenu ou sur une zone sélectionnée, insertion d’axes (temps chronométrique ou mesuré).
  • Primitives audio: transporteur (lecture de plusieurs fichiers son simultanément, modification du tempo en direct), filtre de fréquence sur un son, moteur granulaire (navigation dans un son).

Ces primitives sont combinables au sein d’« abstractions de haut niveau », permettant une grande diversité de représentation et de modalités d’interaction avec des objets audio.

 

Pour les données comme l’emplacement des marqueurs, leurs couleurs etc., la bibliothèque Waves.js utilise le format de données json. Ce format est relativement simple à éditer, même pour des chercheurs sans compétences particulières en informatique. De même, les abstractions de « haut niveau », peuvent être appelées dans une syntaxe HTML5 classique. Elles sont encore rares à ce jour cependant.

 

Usages pour la recherche sur la musique :

La librairie Waves.js est en développement. L’IRCAM recherche des projets collaboratifs permettant de développer des « abstractions de haut niveau » qui seront ensuite directement et facilement utilisables au sein d’une page html.

Cette librairie apparaît très intéressante à intégrer dans des interfaces multimédia en ligne de par la rapidité du traitement graphique et de par les grandes possibilités d’interactions qu’elle offre à l’utilisateur vis-à-vis du contenu audio.

 

Liens utiles :

Présentation et démonstrations

Ressources techniques

Présentation vidéo du projet

Téléchargements, exemples de code et de réalisation

 

Quelques-uns des composants de base développés :

Représentation des courbes d’amplitude :

Wave1

Représentation par segments

Wave2

Combinaison de segmentation et de courbes d’amplitudes

Wave3

Visualisation et édition de courbes mélodiques :

Wave4

Visualisation et édition de marqueurs simples :

Wave5

Visualisation et édition en format piano-roll/midi

Wave6

Sonagramme :

Wave7


Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *