lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Suivre une partition avec un curseur visuel


From: Valentin Villenave
Subject: Re: Suivre une partition avec un curseur visuel
Date: Mon, 6 Apr 2020 15:06:35 +0000

On 4/6/20, Mathieu Demange <address@hidden> wrote:
> Je n’ai jamais eu le temps de mettre au propre mes derniers travaux
> (scrolling et curseur justement), mais cela peut peut-être quand même vous
> intéresser ?
>
> https://gitlab.com/sigmate/lilypond-html-live-score

Hé, j’avais oublié ça… Très intéressant. Est-ce que ça peut
fonctionner avec des partitions sur plusieurs systèmes ? (je n’ai pas
vu d’array dans le code)

De quelle façon comptais-tu t’y prendre pour synchroniser le curseur ?
Ajouter un surlignement de notes correctement synchronisé serait
certainement faisable avec quelques lignes de Javascript/CSS, comme ce
que fait Kurt ; le curseur est certainement un peu plus compliqué mais
pas infaisable. Pour tout ça comme pour la succession des "slides", le
modèle proposé par Kurt me semble fournir un bon point de départ.

Il serait faisable de recoder tout ça en Scheme pur, et d’essayer de
proposer ça pour inclusion dans LilyPond. Par exemple avec un nouveau
backend, ou même un nouveau mode de rendu (en plus de \layout et
\midi, il pourrait y avoir \html par exemple). Du coup ça
sélectionnerait automatiquement le backend svg et l’export midi, et
puis ça se chargerait de créer la page html qui va bien. Il serait
trivial de laisser LilyPond générer directement le préambule (<head>
etc.) de la page HTML, en laissant à l’utilisateur la possibilité
d’ajouter autant de CSS et de squelette HTML à travers quelques
variables toutes-prêtes.

Une possibilité intéressante serait de ne pas avoir besoin de reposer
sur un élément audio généré de façon externe ; par exemple avec l’API
WebMIDI :
https://github.com/djipco/webmidi ou
https://github.com/g200kg/webaudio-tinysynth
quitte à offrir, évidemment, une possibilité d’ajouter un fichier son
rendu séparément voire enregistré par de vrais musiciens -- auquel cas
on pourrait même imaginer, comme ce que fait Kurt, la possibilité
d’ajouter un fichier beatmap externe, transcrit d’après la piste audio
avec un algorithme FFT.

Le code de Kurt a été refusé par David (tout comme des propositions de
Mike d’ajouts métatextuels dans le SVG, quelques années plus tôt, très
similaires à ce que tu fais avec le Scheme engraveur ici) parce qu’il
sentait le bricolage sur-mesure plutôt qu’une solution propre et
adaptable à tous les utilisateurs ; en proposant une implémentation
bien propre et correctement utilisable plutôt qu’un vaporware fumeux,
ça aurait toutes les chances d’être accepté.

De surcroît, je pense vraiment que la voie du SVG/JS/CSS est la bonne
(comme ça pas de dépendance externes ou très peu, contrairement à
toutes les propositions à base de ffmpeg, de codecs parfois
incertains, et autres formats plus ou moins non-Libres). D’ailleurs
une sortie HTML peut très facilement être convertie en vidéo, en
animation interactive ou en ce qu’on veut.

Si ton co-équipier et toi vous sentez d’attaque pour proposer quelque
chose, je serais bien partant pour aider à l’implémenter sous une
forme qui pourrait être acceptée upstream…

V.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]