Cette année, j’ai eu la chance de voir plusieurs projets de recherche être retenus par l’organisme financeur où nous l’avions proposé. En particulier, l’ANR PRCE ACTIVmap a commencé en mars 2020, pour quatre années de travail collectif autour de la représentation de l’espace pour les déficients visuels. Une manière de consolider l’activité menée depuis quelques temps au sein de Compas.
Quand on est nombreux à travailler sur une période longue, avec un calendrier prévisionnel établit, il est important de pouvoir se souvenir de ces engagements que l’on a pris. Il est indispensable de visualiser les échéances, les réunions d’avancement, les moments clés programmés.
J’avais repéré Timeline de Jason Reisman comme un outil intéressant pour générer des frises chronologiques en svg à partir d’une description structurée en json.
Il manquait cependant des fonctionnalités que j’ai ajoutées dans un fork que l’on retrouve sur mon github. On peut donc maintenant indiquer des dates incertaines, décrire les dates sous une forme Jun 11, 2020 + 5 months, mais surtout la génération de fichiers au format ical. En couplant cet outil avec l’instance Seafile de mon université, on a donc un moyen d’alimenter automatiquement les calendrier des participant·e·s à partir d’un fichier json simple à éditer.
Neuvième sprint de l’application Pictoparle, un outil de communication alternative et augmentée destiné aux personnes en situation de déficience visuelle rencontrant des difficultés dans la communication orale. On peut bien sûr aller voir ce qui s’est passé lors des sprints précédents, car je parlerai ici uniquement des avancées de la dernière semaine.
Cette semaine a été l’occasion de faire manipuler Pictoparle à une utilisatrice, ainsi qu’à deux professionnelles qui accompagnent le projet : une ergothérapeute et une orthophoniste. C’était aussi la première impression thermogonflée d’une planche générée par la fabrique de Pictoparle, et conçue spécialement pour une activité bien identifiée : le repas.
De ces échanges et expérimentations, plusieurs points d’amélioration ont été identifiés, qui ont été en partie implémentées cette semaine. En voici une liste sans ordre, mais qui donne une idée des problématiques et implémentations réalisées :
Les fichiers générés par la fabrique sont maintenant nommés à la fois par le nom de l’activité, mais aussi par l’identifiant unique qui lui est associé, afin de pouvoir distinguer les différentes versions de fichiers que l’on peut choisir de générer pendant un processus de conception.
Modification de la forme du mécanisme d’assemblage, pour assurer une insertion sur une plus longue section, comme illustré dans l’image en haut de cette page.
Ajout d’un paramètre permettant de régler le ratio d’impression, afin de corriger le problème des imprimantes qui n’impriment pas réellement à l’échelle demandée. La conséquence est très visible sur la photo ci-dessus présentant la planche thermogonflée intégrée au prototype, où le document a été nettement réduit. C’est un problème bien connu des enseignants, qui doivent régulièrement jongler avec leurs réglages d’impression. On propose dans l’interface un premier document à imprimer, avec différentes mises à l’échelle, afin de trouver celle correspondant aux capacités de l’imprimante.
Ajout d’un paramètre pour ajouter un vide de confort autour de chaque pictogramme, s’il n’a pas été prévu dans l’image.
Prise en charge des images au ratio différent de celui présenté, avec une mise à l’échelle respectant le ratio initial.
Révision complète des documents générés pour l’impression et le thermogonflage, afin d’en faciliter la découpe et l’assemblage. En particulier, ajout de pointillés de guidage du découpage, et propositions de découpe permettant d’éviter aux deux feuilles (thermogonflée, et pictogramme) de se superposer au niveau des pictogrammes.
Ajout de plusieurs illustrations sur la page de fabrique de la boîte, afin de rendre plus compréhensible les différents paramètres à choisir.
Finalisation de la génération de patrons pour la fabrication de la boîte, et correction de nombreuses erreurs grâce à un assemblage virtuel dans blender.
Début d’implémentation de la découpe d’ouvertures dans les côtés de la boîte, afin de dégager les différents boutons, connectiques et hauts-parleurs. Démonstration avec les deux ouvertures prévues pour les hauts-parleurs de la tablette Lenovo, visible sur l’assemblage virtuel.
La vidéo ci-dessous présente l’assemblage virtuel du boîtier et d’une planche dans blender, afin de vérifier la bonne conception de chacune des parties.
Assemblage virtuel des éléments du boîtier en accéléré, pour vérifier leur bon découpage.
D’autres améliorations moins visibles et corrections de bugs ont été apportées à la fabrique de Pictoparle, qui s’améliore chaque semaine un peu plus.
Prochains développements
Il reste encore une bonne partie de la découpe des ouvertures à implémenter, et l’assemblage boîtier/planche est encore facilement améliorable. Une fois ces derniers points réalisés, il s’agira de l’envoyer à la fabrication, peut-être chez Sculpteo, avant que mon fablab de proximité ne reprenne son activité.
Huitième sprint de l’application Pictoparle, un outil de communication alternative et augmentée destiné aux personnes en situation de déficience visuelle rencontrant des difficultés dans la communication orale. On peut bien sûr aller voir ce qui s’est passé lors des sprints précédents, car je parlerai ici uniquement des avancées de la dernière semaine.
Cette semaine, j’ai principalement travaillé à l’amélioration de la fabrique de Pictoparle. La vidéo ci-dessous présente son fonctionnement complet, permettant de générer les patrons de fabrication de la boîte et des planches :
La fabrique de Pictoparle, présentation des pages qui génèrent les patrons de fabrication de la boîte et des planches
La nouveauté majeure de cette version est donc la génération des fichiers de fabrication des parties solides de Pictoparle : la boîte, et le support rigide de chaque planche. Ces patrons de découpe sont proposés en deux formats : le pdf pour un découpage manuel, et le dxf pour le pilotage d’une machine-outil comme une découpeuse laser.
Il manque encore quelques détails dans le patron de fabrication de la boîte, et il me restera à valider ces plans par la fabrication d’une boîte complète en suivant ces patrons, mais l’essentiel est implémenté.
J’ai également profité de ce sprint pour implémenter le glisser/déposer des images des pictogrammes, pour faciliter la conception des planches :
Conception d’une planche par glisser déposer
On remarquera que les descriptions associées à chaque pictogramme (qui sont lues par la synthèse vocale de l’application) sont déduites automatiquement du nom du fichier glissé. On peut donc préparer très facilement une planche, sans devoir réaliser de double saisie.
Prochains développements
Les prochains développements concerneront la finalisation de l’export des patrons de découpe, en y intégrant notamment les ouvertures latérales facilitant l’accès aux boutons de la tablette, et dégageant les hauts-parleurs.
Une première impression thermogonflée de planche permettra également de faire tester complètement le prototype à une utilisatrice.
Septième sprint de l’application Pictoparle, un outil de communication alternative et augmentée destiné aux personnes en situation de déficience visuelle rencontrant des difficultés dans la communication orale. On peut bien sûr aller voir ce qui s’est passé lors des sprints précédents, car je parlerai ici uniquement des avancées de la dernière semaine.
Cette semaine a été assez active. J’ai travaillé sur le site internet pour le rendre plus lisible, j’ai ajouté l’export pdf des planches pour l’impression sur la fabrique de Pictoparle, et j’ai finalisé un premier prototype physique, que nous avons pu tester.
Site internet
J’ai refondu le site internet de Pictoparle pour bien distinguer les pages expliquant comment on peut utiliser Pictoparle des pages qui décrivent le développement et le fonctionnement interne de l’outil.
Capture d’écran de la première page de PictoParle présentant les trois étapes de l’usage : fabriquer son dispositif, concevoir ses planches, utiliser PictoParle
En séparant ces deux parties, j’espère rendre plus compréhensible ce projet à deux niveaux de lecture différents.
Planches prêtes à l’impression
J’ai ajouté à la fabrique de pictoparle l’export en pdf des deux pages qui permettront à tout utilisateur ou utilisatrice d’imprimer ses propres planches. Chaque pdf ainsi exporté est composé de deux pages : la première page avec les pictogrammes pour thermogonflage, la seconde qui sera placée au verso, en impression simple, et qui comporte le QRcode pour la détection automatique des planches.
Techniquement, j’ai utilisé deux librairies très bien pensées : jsPDF pour la fabrication du pdf, et bwip-js pour la génération du QRcode.
J’en ai profité pour améliorer un peu l’interface et l’utilisabilité de la fabrique sur quelques petits détails.
Prototype physique
En début de semaine, j’ai revu l’assemblage des planches et du boîtier, car la première solution envisagée rendait les planches trop volumineuses.
Assemblage simplifié de la planche sur le boîtier
La nouvelle jonction imaginée me semblait intéressante, aussi je suis passé à sa fabrication en carton-bois, en suivant les conseils de Clément, un ancien étudiant en architecture qui a dû en faire, des maquettes.
L’assemblage s’est presque bien passé, et j’ai pu faire tester le dispositif à une utilisatrice. La prochaine étape sera d’imprimer des planches thermogonflées complètes, ce que je n’avais pas eu le temps de faire.
Fabrication puis premières utilisations du boîtier et de la planche PictoParle.
À l’usage, la reconnaissance de la planche n’est pas encore assez robuste, mais j’utilise encore les QRcodes dessinés à la main, je suis impatient d’utiliser une version imprimée. L’assemblage entre planche et boîtier est perfectible, d’une part avec une meillure précision d’assemblage, mais également avec un rehaussement des parties latérales, et peut-être j’ajout d’une barre de maintient, telle que le présentait la maquette numérique.
Je suis également impatient d’essayer la découpe laser de medium, pour obtenir un rendu plus solide, et plus agréable… Mais il faudra pour cela implémenter un générateur de DXF pour la découpe !
J’avais un peu peur de la consommation de la caméra pour la détection de planches, mais d’après mes tests, on est à environ 45 mAh pour 10 minutes d’utilisation de l’application, ce qui laisse présager une autonomie de plus d’une dizaine d’heures.
Prochains développements
Les prochains développements s’orienteront probablement sur le générateur de DXF pour la découpe laser, et sur des tests utilisateur pour valider les approches explorées.
Sixième sprint de l’application Pictoparle, un outil de communication alternative et augmentée destiné aux personnes en situation de déficience visuelle rencontrant des difficultés dans la communication orale. On peut bien sûr aller voir ce qui s’est passé lors des sprints précédents, car je parlerai ici uniquement des avancées de la dernière semaine.
Ce week-end, je me suis essentiellement consacré au développement d’un outil permettant de fabriquer ses propres planches pour Pictoparle. En voici une démonstration.
Démonstration de la fabrique de Pictoparle
Comme présenté dans cette vidéo, on peut choisir parmi différentes mises en page, ou encore charger une planche déjà fabriquée par le passé. On peut ensuite associer à chaque pictogramme une image, et un texte.
Après avoir choisi un nom à cette planche, on peut alors la sauver. Un fichier au format zip est alors généré. Après avoir transféré ce fichier sur la tablette (en la connectant par usb à l’ordinateur), on utilise alors le gestionnaire de planches de Pictoparle pour charger cette nouvelle planche.
Dans la démonstration vidéo, on peut voir d’autres mises en page que les mises en page précédemment présentées.
Pendant ce sprint, j’ai utilisé JSZip et bootstrap pour la conception de la fabrique de pictoparle, et j’ai également corrigé quelques bugs dans l’application Android.
Essayer la fabrique de Pictoparle
La fabrique à Pictoparle est disponible en ligne, n’hésitez pas à l’essayer, et à me faire part des dysfonctionnements, comportements problématiques, ou améliorations possibles.
Futurs développements
La fabrique de pictoparle en est à sa toute première version. Dans les prochains sprints, je compte notamment ajouter la génération des documents permettant la fabrication de la planche physique.
Depuis deux mois, je travaille à distance. Original, me direz-vous. Les activités culturelles et sociales étant très réduites, et puisque j’ai plusieurs projets en cours nécessitant de coder (pictoparle, svg-to-stl, flatten.js, unkm.fr, Timeline), j’ai repris un mode de vie proche de celui de mes années lycée et premières années universitaires : un marathon hebdomadaire de geekeries en tout genre. L’occasion de sortir des sentiers que j’avais trop battus, et de découvrir de nouveaux outils, librairies, technologies… Voici un petit tour d’horizon non exhaustif, qui semblera banal à certain·e·s geeks, mais que j’ai pris plaisir à découvrir.
Avertissement : certain·e·s logiciels ou bibliothèques listées ci-dessous ne sont pas libres au sens de la GPL, car distribué·e·s sous licences équivalent BSD. Je m’excuse d’avance pour toutes les personnes qui pourraient être choquées par ces pratiques légères… (fin du message destiné à Fred)
Rédaction
J’ai déjà écrit il y a peu pour parler de MDwiki, mais j’avais envie de parler aussi un peu de mkdocs, que j’utilise maintenant massivement pour fabriquer les sites internet de mes différents projets, professionnels ou personnels (merci Vincent Mazenod). Facile à prendre en main, il s’appuie sur une hiérarchie de documents au format markdown, dispose d’un maximum d’extension et de thème, dont le très chouette Material, notamment en action sur le site de pictoparle. Pour regarder sous le capot, vous pouvez aller faire un tour sur le dépôt qui contient le code source de ce site internet.
Android
Avec Pictoparle justement, j’ai exploré à fond les bonnes pratiques d’Android, ainsi que quelques bibliothèques bien pratiques. Je pense notamment à zxing, conseillé par Laurent Provot, pour lire les QRcodes. Super simple à intégrer et à utiliser, c’est le pied.
J’ai aussi pu découvrir le mécanisme de la communication entre processus conseillée par les concepteurs d’Android, et très bien documentée dans cet article de Janishar Ali. Le principe général est d’avoir une boucle, qui permet aux processus d’échanger des instructions exécutables, ou Runnable. Les ThreadHandler s’occupent de récupérer les instructions destinées à leur processus, en écoutant ce qui circule sur la boucle.
J’ai aussi découvert le mécanisme des fragments, permettant de générer automatiquement un graphe de navigation dans les différentes vues de l’application. J’ai aussi mieux compris comment fonctionne le multitouch sous Android, très orienté détection de gestes, et que j’ai un peu contourné pour permettre à mon outil d’ignorer les doigts supplémentaires à la surface des pictogrammes.
Géométrie et géomatique
Les opérations booléennes entre formes géométriques (union, intersection, différence) sont souvent peu stables, notamment quand elles travaillent avec des nombres à virgules flottantes. C’est encore plus vrai quand il s’agit de gérer des superpositions de bords d’objets… En javascript, j’ai découvert la librairie martinez, implémentation d’un article de 2018, qui marche relativement bien, en prenant en compte plein de cas limites, et qui est très rapide. D’abord utilisée dans svg-to-stl, je l’ai aussi réutilisée dans unkm.fr pour rechercher efficacement les intersections entre routes.
J’ai aussi découvert RBush et fastbush, deux outils de détection rapide d’intersection entre rectangles, que j’ai utilisé dans svg-to-stl et dans unkm.fr.
J’ai aussi redécouvert la simplicité d’utilisation de leaflet, qui permet très rapidement de dessiner des choses sur une carte. C’est d’ailleurs un outil que j’utilise avec les copains du projet Compas. On aura bientôt des choses à montrer, j’espère !
Mapshaper permettant de fabriquer des geojson, on peut vouloir les modifier, comme ce que j’ai fait avec les départements, grâce au super outil jq. On écrit des règles de filtrage, de parcours, de sélection, comme à l’époque des vénérables XPath et XSLT, le tout en ligne de commande. En une ligne, on extrait d’un gros fichier la géométrie de chaque département :
Il faut aussi que je confesse ici avoir mis un doigt dans VSCodium (encore une fois grâce à Vincent Mazenod). Cet éditeur de code développé par Microsoft est super bien pensé, il se fait transparent, s’adaptant fluidement aux usages, avec pas mal de fonctionnalités discrètes mais efficaces. Distribué sous licence libre (enfin MIT), il est disponible sur la plupart des systèmes d’exploitation, notamment dans une version allégée des parties de tracking et de télémétrie maintenues par Microsoft.
Multimédia
Dans la famille des outils multimédias, j’ai d’abord découvert avec grand plaisir que kdenlive était devenu un éditeur de vidéo très stable. Mon souvenir datait de 10 ans en arrière, et c’était plutôt un souvenir sombre. Je l’ai cependant utilisé pour une toute petite transition, mais il a fait le job très bien. J’ai aussi fait un peu de modélisation 3D avec blender, en profitant des bonnes pratiques que Blender Guru présente sur sa chaîne youtube, que je suis avec grand plaisir. Même si j’ai utilisé une version 2.7x, les vidéos de ces derniers mois autour de blender 2.8x donnent très très envie de s’y frotter.
En parlant de nouvelles versions de logiciels, je ne peux pas m’empêcher de signaler qu’inkscape vient d’être publiée en version 1.0. La vidéo de démonstration montre une évolution dans la continuité des versions précédentes, avec des concepts simples, mais efficaces :
Présentaiton d’inkscape 1.0
Et pour finir, je profite de ce billet pour partager la découverte il y a quelques mois de spleeter, l’outil conçu par Deezer pour séparer la voix des musiques depuis un fichier son. Idéal pour se préparer un karaoke ! Le résultat est souvent bluffant, et il semble utiliser massivement l’apprentissage profond. À essayer !
Cinquième sprint de l’application Pictoparle, un outil de communication alternative et augmentée destiné aux personnes en situation de déficience visuelle rencontrant des difficultés dans la communication orale. On peut bien sûr aller voir ce qui s’est passé lors des sprints précédents, car je parlerai ici uniquement des avancées de la dernière semaine.
Assemblage des planches
J’ai tout d’abord formalisé sous forme d’une maquette numérique une proposition d’assemblage des planches, qui prend en compte le fait que la détection des planches est assurée par la webcam et les QRcodes. Il est ainsi nécessaire que le geste soit le plus constant possible à chaque manipulation, afin de faciliter la détection.
Concept d’assemblage des planches.
Dans cette proposition, l’utilisateur est invité à poser le bas de la planche sur la tablette, puis à la faire glisser jusqu’aux butées prévues à cet effet, avant de faire pivoter la planche sur la tablette. J’ai imaginé un bord de tablette évasé, de sorte à faciliter le positionnement de la tablette au début (les deux « pattes » étant plus écartées que le bord de la tablette), puis qui s’écarte vers le bas de la tablette. Une fois positionné, la planche est stabilisée grâce aux pattes, et aux bords surélevés de la boîte en haut et en bas.
Sur la vue 3D, je n’ai pas vraiment travaillé l’épaisseur de la planche (les pictogrammes semblent un peu trop en creux), ni l’espace de confort entre les pictogrammes et le bord des cadres. D’ailleurs, la taille des pictogrammes est un peu approximative, c’est plus une vue d’artiste qu’un prototype réaliste.
Cette maquette numérique a été un outil de discussion avec les professionnelles qui m’accompagnent dans la conception de cette solution.
Gestion des planches personnalisées
Lorsque j’ai commencé Pictoparle, on m’a très vite demandé si les planches pourraient être personnalisables. C’était bien sûr mon intention dès le début, mais les premiers prototypes n’en étaient pas capables.
C’est maintenant chose faite, avec la possibilité d’importer des planches dans un format dédié, pour lequel je fabriquerai prochainement un outil d’assistance à la conception :
Gestion des planches dans Pictoparle
Dans cet extrait, on découvre que six pictogrammes constituent le défaut de Pictoparle, qui peut ensuite être enrichi facilement de nouvelles planches. Toutes les planches, qu’elles soient fixes ou personnelles, peuvent être désactivées à volonté. Le format lu par Pictoparle est une archive zip contenant un fichier xml de description de la planche, et les images (actuellement au format png) de chacun des pictogrammes. Lorsque les sons personnalisés seront pris en charge par l’application, ils seront également intégrés aux fichiers.
Petites améliorations logicielles
De manière générale, en intégrant cette nouvelle fonctionnalité, j’en ai profité pour améliorer la stabilité, la performance, et l’ergonomie de l’application. Au fil des sprints, j’essaye de rendre le code source du logiciel le plus facile à prendre en main. Sur ce type de projet, où l’on travaille par intermittence à son amélioration, il est essentiel d’avoir un code source bien structuré et relativement bien documenté, sans code mort. Tout n’est pas parfait, loin de là, mais j’en suis tout de même assez content.
Réflexions sur les alternatives à Pictoparle
En échangeant avec un membre d’ISAAC francophone, je me demandais ce qui faisait la spécificité de Pictoparle parmi les solutions existantes de communication améliorée et augmentée. J’ai donc ajouté au site internet une description de ses spécificités.
Quatrième sprint de l’application Pictoparle, un outil de communication alternative et augmentée destiné aux personnes en situation de déficience visuelle rencontrant des difficultés dans la communication orale. On peut bien sûr aller voir ce qui s’est passé lors du sprint précédent, car je parlerai ici uniquement des avancées de la dernière semaine.
La vidéo ci-dessous permet d’apprécier une grande partie des améliorations de cette nouvelle version :
Démonstration du quatrième prototype
Tout d’abord, on peut y voir les premiers prototypes de planches physiques. Elles sont pour l’instant en carton souple, et les pictogrammes y sont dessinés au feutre noir. Pas encore de mise en relief des dessins, ni des espaces inter-pictogrammes. Le support n’est pas non plus assez rigide pour un usage fluide. Une petite extension carrée en haut de la planche permet de porter au verso le QRcode d’identification de la planche.
Car c’est l’une des avancées que j’attendais depuis longtemps : la détection automatique des planches à leur approche au dessus de la tablette, grâce à cette identification graphique. Il y aura bien sûr pas mal d’optimisations pour arriver à une utilisation fluide, mais les bases sont là car la détection fonctionne même avec des QRCodes dessinés à la main. En suivant les suggestions de Laurent Provot, j’ai utilisé la librairie zxing.
Grâce aux discussions avec les professionnelles du CRDV impliquées dans la conception de l’outil, cette nouvelle version permet de configurer des planches contenant plusieurs panneaux de pictogrammes distribués en grille. Chaque groupe peut avoir sa taille de pictogrammes. On peut par exemple reproduire sur chaque planche un panneau fixe, avec les pictogrammes récurrents. C’est ce qui a été expérimenté sur le prototype de cette semaine.
Parmi les améliorations non visibles, mais qui sont essentielles au fonctionnement de Pictoparle, on peut citer l’utilisation d’une tâche (thread) séparée pour gérer la caméra.
Améliorations futures
Les prochaines améliorations concerneront probablement l’intégration de sons enregistrés pour améliorer les retours audio, la consolidation de la détection automatique des planches, l’amélioration du prototype physique qui entourera la tablette, ou encore la possibilité de changer de planches sans devoir recompiler l’application.
Troisième sprint de l’application Pictoparle, un outil de communication alternative et augmentée destiné aux personnes en situation de déficience visuelle rencontrant des difficultés dans la communication orale. On peut bien sûr aller voir ce qui s’est passé lors du sprint précédent, car je parlerai ici uniquement des avancées de la dernière semaine.
Tout d’abord, Pictoparle se dote d’un site internet, accessible à l’adresse pictoparle.jmfavreau.info. On y retrouve une explication détaillée des objectifs de l’outil, de son mode de fonctionnement, et on peut suivre dans le détail le développement, grâce à des liens vers les billets de ce blog.
Du côté de l’application, les avancées visibles de cette semaine concernent principalement l’interface, et la possibilité de modifier dans les préférences certains réglages, pour adapter l’outil à son utilisateur ou utilisatrice. On commence par une vidéo de démonstration :
Démonstration du troisième prototype
L’ajout qui a pris le plus de temps, mais qui facilitera grandement le développement par la suite, est l’utilisation d’une interface telle que préconisée, avec une barre supérieure, un bouton de navigation en haut à gauche, et un menu glissant sur le côté.
Menu latéral ouvert.
Une fois cela réalisé, j’ai ajouté une page de préférences permettant à l’utilisateur d’ajuster le comportement de l’application : verbosité des notifications sonores, réglages du double tap, réglage de la détection de planche, ajustement de l’affichage pour économiser de l’énergie, et pour ajuster la taille réelle des pictogrammes.
Les panneaux de préférences de l’application
Le panneau latéral permet aussi l’affichage de la planche de pictogrammes. Dans ce cas, un bouton caché dans l’une des marges centrales permet de fermer cet aperçu. J’ai ajouté cette fonctionnalité en pensant aux tablettes qui pourraient ne pas avoir de caméra, ou ne pas avoir autorisé l’utilisation de la caméra par l’application.
À ce propos, j’ai aussi ajouté un message de demande d’autorisation d’accès à la caméra intégrée, pour faciliter l’installation de l’application.
Demande d’autorisation d’accès à la caméra, nécessaire à la détection de planche.
J’ai également ajouté une entrée dans le menu permettant de quitter l’application, ce qui jusqu’à présent nécessitait d’utiliser une astuce avec le bouton physique on/off de la tablette.
Améliorations futures
Une liste des développements envisagés sur l’application est disponible sur le dépôt github du projet, en langue anglaise. En particulier, en plus des améliorations déjà évoquées précédemment, je prévois la mise à disposition d’une application en ligne qui permettra de fabriquer ses propres planches, et de les ajouter simplement dans l’application tablette.
Voilà un album dessiné accompagné d’un CD que nous avons découvert grâce à la médiathèque de Clermont-Ferrand. Tellement drôle, tellement beau !
L’histoire est palpitante, on y trouve son compte que l’on soit enfant ou adulte, avec quelques références cachées à l’actualité d’alors, notamment l’affaire du Mediator.
La voix de François Morel, qui dit l’histoire, est évidemment géniale, le texte en est sublimé. Les musiques aussi sont très réussies, on les chante souvent à la maison.
En cette période de COVID-19, vous devriez écouter la chanson Malade de peur : « j’ai tellement peur d’être malade que je deviens malade de peur ».
Malade de peur, une chanson de l’album Allo, docteur Ludo qui colle bien avec l’esprit ambiant d’avril 2020
Deuxième sprint de développement de l’application Pictoparle, un outil de communication alternative et augmentée destiné aux personnes en situation de déficience visuelle rencontrant des difficultés dans la communication orale. On peut bien sûr aller voir ce qui s’est passé lors du premier sprint, car je ne parlerai ici que des avancées de ce week-end.
Ces avancées concernent principalement la gestion de plusieurs planches, et l’amélioration des interactions. On commence par une vidéo de démonstration :
Cette vidéo commence par un détail, mais qui n’en est pas un quand on a peu l’habitude de manipuler une tablette : le double tap qui permet de lancer les sons ignore maintenant les autres doigts posés sur la surface. Ce n’est pas un comportement standard des dispositifs d’interaction tactile, mais j’ai choisi d’ajouter cette fonctionnalité pour ne pas mettre de barrière à l’exploration des reliefs des pictogrammes (pour rappel, la planche sera garnie de pictogrammes en relief). J’ai également préparé le terrain pour la configuration fine des paramètres de double tap, afin de l’adapter au mieux à chaque utilisateur.
La deuxième avancée de ce sprint est évidente : la possibilité de changer de planche. La tablette détecte grâce à la caméra en façade lorsque l’on pose ou retire une planche de sa surface. L’application propose alors un menu pour choisir la planche qui sera posée ensuite. Ces différentes interactions sont verbalisées par la tablette grâce à la synthèse vocale.
Améliorations à venir
L’une des prochaines améliorations de l’application sera la détection automatique des planches, en s’appuyant sur la présence au verso de celles-ci d’identifiants QR-code. L’ajout d’un menu de réglage des paramètres de l’application est aussi pour bientôt.
Il faudra ensuite tester la stabilité de l’ensemble, et ajuster les paramètres pour optimiser la consommation d’énergie de l’appareil.
Diffusion
Évidemment, le code source de l’application est disponible sous licence GPLv3 sur github, je publierai régulièrement les avancées du projet. Je serai plus que ravi d’avoir vos retours, suggestions, etc.
J’espère aussi le rendre suffisamment adaptable pour qu’il puisse servir à d’autres que la personne pour qui je le conçois.
Depuis le début de mes activités de recherche, j’utilise un wiki pour prendre des notes au quotidien de mes activités. C’est un espace que j’héberge sur un serveur accessible partout et tout le temps, qui utilise dokuwiki.
De l’intérêt d’un wiki
Ce genre d’outil permet d’éditer en ligne non pas un unique document, mais un ensemble de documents reliés par des liens hypertextes. La lecture et l’écriture peuvent alors se faire de manière non linéaire. Et puis le moteur de recherche interne est très pratique.
Ce que j’aime beaucoup avec cet outil, c’est le fait que la mise en forme du document soit produite grâce à une syntaxe particulière : on peut tout faire au clavier, sans avoir à prendre la souris pour mettre quelque chose en gras, ni apprendre une foultitude de raccourcis clavier. C’est flexible, générique, avec une syntaxe simple.
Et markdown fut
Quand j’ai commencé à utiliser les wiki (d’abord avec Wikini), chaque solution avait son langage. Puis est arrivé markdown, monopole de fait, qui a unifié la syntaxe utilisée. Il ne reste que les outils d’avant cette syntaxe qui utilisent autre chose. J’utilise par exemple beaucoup mkdocs pour rédiger le contenu de sites statiques, comme par exemple jmfavreau.info.
Et comme les éditeurs commençaient à bien le supporter, comme j’avais pris l’habitude de prendre des notes avec, c’est devenu le format texte que j’utilise le plus. Pas forcément super pratique pour le partager avec des gens habitués à des WYSIWYG, mais il existe des outils d’export.
Le format markdown donne le moyen de faire des liens hypertextes bien sûr, et donc d’avoir non pas un document, mais un ensemble de documents hyperconnectés. Seulement voilà, dans sa forme de saisie, il ne permet pas de suivre les liens. Il faut qu’il soit interprété (comme le fait le générateur mkdocs) pour que les liens deviennent cliquables dans un navigateur.
Alors comment faire pour naviguer en local, dans tous les fichiers markdown de son ordinateur ?
MDwiki et websf
En cherchant une solution, j’ai trouvé quelque chose de simple à déployer, et en même temps de très léger et fonctionnel. Il s’agit de coupler un serveur http léger à un interpréteur de markdown côté client.
MDwiki est constitué d’une unique page html, boostée au javascript, qui s’exécute donc en local sur le navigateur, pour proposer un rendu de fichiers au format markdown entreposés sur le serveur.
webfs est quant à lui un serveur http très léger, qui ne fait que servir via ce protocole des fichiers statiques. Pas d’exécution côté serveur, quelque chose de très simple.
La solution que j’ai adoptée consiste donc à faire tourner sur mon ordinateur webfs, tout en créant un lien symbolique depuis le répertoire /var/www/html/wiki/ vers un répertoire qui appartient à mon utilisateur, typiquement ~/wiki/. En plaçant dans ce répertoire le html de MDwiki (sous le nom w.html par exemple), et en plaçant tous mes fichiers markdown dans ce dossier, j’ai donc un visualisateur de fichier markdown sur ma machine.
J’utilise donc l’éditeur de mon choix pour modifier les fichiers, et le navigateur connecté à l’adresse http://localhost:8000/wiki/w.html pour visualiser le rendu, et naviguer en suivant les liens hypertextes.
L’intérêt de cette solution, c’est que mes fichiers ne sont pas prisonniers d’un outil : je peux les éditer avec l’outil de mon choix, les copier facilement, utiliser les fonctions de recherches habituelles (en ligne de commande ou de mon environnement de bureau)…
Pictoparle, c’est une application Android, et un dispositif tangible à la surface de la tablette pour permettre la communication alternative et augmentée. J’avais déjà parlé de l’idée en réfléchissant au dispositif, dans un billet précédent.
Je viens de finir un premier sprint de développement de l’application, avec un premier prototype fonctionnel, dont je vous propose une démonstration en vidéo ci-dessous :
Le dispositif permet d’explorer par le toucher les pictogrammes, et de lancer un son associé quand on fait un double tap. On place dessus une planche pictogramme en papier thermogonflé, puis un cadre pour matérialiser les cases.
L’application se lance en plein écran, toujours en mode paysage, en recouvrant les deux barres haute et basse d’Android pour éviter toute interaction malheureuse. En supprimant tout écran de verrouillage, et en activant le démarrage de la tablette par double touche, on obtient donc une tablette 100% dédiée à cette application : impossible de la fermer par erreur, et facilité de réactivation de la tablette si elle s’est mise en veille (double tap sur l’écran, ou pression sur le bouton de démarrage normal). Je me suis également assuré que les boutons de volume ajustent l’intensité du son de l’application.
En cette période de confinement, je n’ai pas pu imprimer de planche thermogonflée, j’ai juste ajouté ici pour la démonstration deux pictogrammes fabriqués précédemment, pour montrer que le double tap passe bien à travers le papier thermogonflé.
Au cours des prochains sprints, j’ai prévu d’améliorer ce prototype de plusieurs manières :
Quand on laisse un autre doigt sur la tablette, les double tap ne sont pas reconnus. Je vais corriger ça par une approche multi-touch.
Ajouter la gestion des multiples planches, avec détection automatique du changement de planche par qr-code.
Ajouter la possibilité d’avoir ses propres enregistrements plutôt que la voix de synthèse de google.
Une fois le confinement fini, je fabriquerai une petite boîte en bois à la découpeuse laser, à la manière de ce que j’avais fait pour le qui est-ce tactile, pour contenir la tablette, tout en laissant accessible les parties indispensables (recharges, contrôle de volume, etc). Le cadre de surface sera également découpé de la même manière, avec un système d’assemblage qui j’espère assurera une bonne fixité et qui sera facilement interchangeable.
Évidemment, le code source de l’application est disponible sous licence GPLv3 sur github, et je publierai ici régulièrement les avancées du projet. Je serai plus que ravi d’avoir vos retours, suggestions, etc.
Il y a un an, je citais quelques écoutes du moment. Un peu plus tôt, je disais ma découverte heureuse des émissions de France Musique, dont feu le cri du patchwork. Évidemment, certaines émissions disparaissent, on en découvre d’autres… Voici quelques nouvelles émissions et podcasts de tous horizons que j’écoute régulièrement cette année.
Le podcast histoire de Radio Maarif
radiomaarif.com
Le podcast histoire de Radio Maarif est une série d’entretiens avec des historiens et historiennes, et aborde de nombreux sujets, majoritairement liés à l’histoire du Maroc. Les échanges sont très souvent en français, parfois ils glissent vers l’amazighe.
J’aime particulièrement le format entretien, car il laisse le temps d’explorer un sujet. Les idées développées y sont assez variés, mais souvent développées depuis le Maroc, loin des choses que l’on peut entendre dans les médias français.
Juke-box
Juke-box est pour moi l’émission coup de cœur de l’année. Elle propose de parcourir à chaque épisode un événement du passé par des archives et musiques, complétées par une narration drôle, et pleine de détails passionnants. On se promène dans la Syrie des années 70, aux confins des prémices du mythe de la Polynésie, à Marseille entre 1960 e t 1980 pour y découvrir sa scène rock…
C’est l’une des premières émissions musicales que j’aime écouter, car il ne s’agit pas ici de parler entre deux morceaux, mais plutôt d’écouter des extraits pour illustrer un propos.
Mécaniques du complotisme
La silhouette de trois personnes qui discutent, dans la cases éclairée d’une façade d’immeuble vitré.
Mécaniques du complotisme est une série produite par France Culture, qui propose d’explorer sous forme de séries de 3 ou 4 épisodes un sujet lié au complotisme : 11 septembre, négationnisme, révolution française. Relativement bien documenté, il permet d’explorer un mouvement qui a explosé avec les outils de communication d’internet, mais qui semble avoir existé bien avant.
L’Acentrale
L’Acentrale est une webradio décentralisée, qui est née au moment des mouvements sociaux qui grondaient alors, notamment contre la projet de loi sur les retraites. On y retrouve notamment les copains et copines du Bruitagène. En avril 2020, l’émission se poursuit tous les samedis, malgré le confinement, pour raconter ce qui se passe un peu partout en France : les colères, les luttes, l’organisation solidaire…
La trogne
le visuel de la trogne, silhouettes animales devant un feu de branchages.
La trogne est une toute jeune chronique produite depuis la Perche, en période de confinement. Le premier épisode, très réussi, rappelle un peu par sa forme et le ton Radio Réussite ou Laitue nocturne.
Portraits de gens du coin, de leurs activités et quotidiens, réflexions et discussions, le tout s’enchaîne très agréablement.
Dans le cadre de mes projets de recherche autour de la perception spatiale, j’ai enregistré il y a un mois le son de la ville à différents endroits, comme des photographies sonores de l’environnement.
Chacun de ces enregistrements fait 15 minutes, le temps de se plonger dans une ville d’avant le confinement, quand les espaces vivaient de mille déplacements.
Juste après avoir fait ces enregistrements, j’avais fait jouer mes ami·e·s à un quizz : « où a été enregistré ce son ». Quelques temps plus tard, en voici une version interactive, en ligne : sonsdelaville.jmtrivial.info. À vous de jouer !
Le quizz en ligne, pour essayer d’associer un son à un lieu.
On peut vivre le confinement #COVID-19 de plein de manières différentes. De mon côté, entre autres choses, j’en profite pour me faire des sprints de développement logiciel, ce qui me rappelle la post-adolescence, écrans cathodiques en moins.
Entre deux moments consacrés aux outils pour ACTIVmap, je viens de finir une contribution au site internet unkm.fr proposé par Aymerick. Initialement, le site internet permettait de visualiser le cercle d’un kilomètre autorisé à la sortie, dans le cadre du confinement imposé par le gouvernement.
Un cercle d’un kilomètre de rayon dessiné sur une carte, à partir d’un point choisi par l’utilisateur.
Quand on voit ce cercle, impossible de ne pas imaginer le suivre « pour de vrai », dans les rues de sa ville, autour de son domicile. Mais voilà, dans bien des cas, si l’on veut à la fois suivre le cercle, et rester à l’intérieur du disque, difficile de repérer le chemin à emprunter.
C’est donc ce que j’ai ajouté à l’outil initial, en utilisant overpass pour récupérer les données cartographiques d’OpenStreetMap, puis en utilisant quelques algorithmes maison pour obtenir le tracé des rues de la promenade circulaire. Enfin, il n’était pas acceptable de ne pas dessiner le plus court chemin qui mène à cet itinéraire. En utilisant leaflet pour l’affichage, et flatbush pour l’optimisation, on se retrouve avec un outil fonctionnel… Du moins, qui montre les données OpenStreetMap telles qu’elles sont. Il vous manquera peut-être des chemins de campagne, certaines bretelles d’autoroutes ne seront pas interdites aux piétons, et des itinéraires bizarres peuvent apparaître quand une avenue est composée de deux voies de circulation. Il manque certainement plein de choses à prendre en compte, mais la version en ligne propose déjà un aperçu intéressant !
La figure ci-dessous donne une intuition rapide de l’algorithme :
chercher le segment de rue à la même latitude que le centre choisi par l’utilisateur, et la plus à l’ouest.
parcourir les rues en ne tournant qu’à gauche, jusqu’à revenir au premier segment.
supprimer les sections où le chemin emprunte la rue dans les deux sens.
Un schéma illustrant le parcours du contour d’un graphe planaire.
Il y a plein de subtilités d’implémentation liées aux données, mais le principe général est là. Et pour calculer le chemin depuis chez soi jusqu’à la balade, on utilise l’incontournable algorithme de Dijkstra !
Les outils numériques peuvent-ils répondre de manière efficace aux besoins de communication des personnes qui n’ont pas accès à une communication verbale ?
Depuis quelques temps, je m’intéresse aux outils issus de réflexions sur la communication alternative et augmentée. Des moyens de continuer à s’exprimer quand on perd la parole. Cependant, la plupart de ces outils sont imaginés pour des utilisateurs voyants. Il faut donc réfléchir et adapter les choses pour les personnes en situation de déficience visuelle. C’est un cheminement logique qui prolonge ce que j’expérimente déjà sur le blog accessibilité, que je vous invite à consulter.
L’une des pistes les plus intéressante que nous avons explorées est l’utilisation de pictogrammes tactiles : de petits dessins en relief, fabriqués très simplement grâce à la technique du thermogonflage.
Quelques pictogrammes tactiles
Mais l’autonomie de l’utilisateur n’est pas complète. Pourquoi ne pas coupler le concept avec un dispositif permettant de jouer des échantillons sonores ? On pourrait alors disposer d’un outil à la fois tactile, et qui « dit » à haute voix pour l’utilisateur.
Quelques solutions existantes
On trouve sur le marché des outils permettant une telle aide à la communication, sur lequel on pourrait placer des pictogrammes tactiles, mais ils sont très onéreux, leur prix s’élevant à plusieurs milliers d’euros. On trouve aussi des solutions très peu chères, mais dont la qualité de fabrication rend difficile l’usage, tant les boutons sont capricieux.
Exemples d’interfaces pictogrammes et sons
Utiliser un contrôleur midi
La première piste que j’expérimente depuis quelques temps utilise un contrôleur midi, un petit ordinateur et une petite enceinte.
D’un point de vue logiciel, il s’agit de suivre la piste que j’avais explorée récemment pour jouer des échantillons sonores : on prépare pour chaque touche un fichier son, où l’on a enregistré le message à diffuser, puis on associe à une note midi ce son, et le contrôleur est l’interface utilisateur.
Un contrôleur type launchpad, composé d’une grille de 8 par 8 boutons carrés.
Dans ce contexte, j’imaginerais utiliser un contrôleur de type launchpad, et coller sur chaque bouton un pictogramme. Ces interfaces permettant de prendre en compte l’intensité de pression, on pourrait même imaginer avoir une version chuchotée, une version prononcée normalement, et une version criée de chaque son.
Pour l’informatique, un mini ordinateur type raspberry pi, consommant peu, mais faisant tourner un système GNU/Linux semble être une bonne piste. On peut alors brancher une enceinte compacte pour la diffusion du son.
schéma décrivant les branchements entre les différents éléments du dispositif (launchpad, raspberry pi, enceinte, 220v)
Le défaut de cette approche, c’est l’encombrement et la consommation électrique. On pourrait bien sûr concevoir une coque qui réunit les trois dispositifs (contrôleur, ordinateur et enceinte), mais il faudrait tout de même brancher l’appareil sur une prise électrique, ou travailler à l’intégration d’une batterie.
Au final, on se retrouverait à concevoir un dispositif complet, ce qui souvent est une approche plus coûteuse que de s’appuyer sur une solution matérielle grand public, et est souvent peu maintenable et reproductible. En réfléchissant un peu plus loin, j’ai imaginé une autre piste, celle de la tablette tactile.
Utiliser une tablette tactile
Une tablette tactile a cet avantage de disposer d’une face qui réagit au toucher, d’un ordinateur capable de réaliser tous les traitements désirés, d’un haut-parleur intégré, et a une bonne capacité d’autonomie électrique. On en trouve à des tarifs très raisonnables, parce qu’issus de fabrication en grande série pour le grand public. Ne peut-on pas l’adapter à nos besoins ?
Notons pour commencer que la tablette détecte le contact d’un doigt grâce à une technologie capacitive qui capte les variations électrostatiques induites par cette proximité. Si l’on place un papier entre l’écran et le doigt, la tablette est toujours capable de détecter la présence d’un doigt.
Claria vox, un téléphone matérialisant les boutons
La difficulté qui persiste est la non matérialisation des boutons pour une personne en situation de déficience visuelle. Il faut donc proposer, à la manière de Claria vox, d’une grille physique permettant de retrouver la position de chacun des boutons.
La première idée que j’ai imaginée était l’utilisation d’une imprimante 3D pour fabriquer une coque en silicone, qui entourerait toute la tablette, et viendrait reproduire cette idée. Il suffirait alors de glisser la feuille thermogonflée entre l’écran et la coque.
Cependant, cette approche a le défaut de rendre difficile le changement des pictogrammes. Or, les tablettes ayant généralement une taille de 10 à 12 pouces en diagonale, on peut difficilement placer plus de 20 pictogrammes si on veut qu’ils soient lisibles au doigt. Après réflexion, il me semble plus facile d’imaginer un dispositif où l’on découpe dans un carton épais (ou du medium fin) une grille, sous laquelle on vient coller la feuille thermogonflée. En fixant sur le dessus de la tablette quelques plots de positionnement, on peut ainsi imaginer un dispositif facilement interchangeable.
Tablette équipée de plots de positionnement, pour accueillir une planche de pictogrammes
D’un point de vue logiciel, plusieurs questions se posent, qu’il faudra un peu expérimenter : comment distinguer le geste de l’utilisateur qui explore le pictogramme pour l’identifier, du geste de l’utilisateur qui souhaite déclencher le son ? Une combinaison de conditions sur la durée et le déplacement pourrait fonctionner.
Une amélioration simple du dispositif pourrait consister à intégrer un petit tag NFC à chaque planche de pictogrammes, afin que la tablette détecte automatiquement celle qui vient d’être positionnée à sa surface.
Extensions possibles
Une fois imaginée cette interface par planches, on peut même imaginer d’autres utilisations que celles de la communication non verbale. Ainsi, on pourrait imaginer une interface simplifiée de lecture audio, pour que l’utilisateur devienne autonome dans son écoute d’histoires audio. On pourrait ainsi avoir une case lecture/pause, une case pour le volume qui intégrerait le glissé du doigt, et une case par type d’histoire, classée suivant les usages de l’utilisateur (par durée, par type, etc.).
Edit
Depuis la publication de cet article, j’ai échangé avec plusieurs personnes, qui ont amené à plusieurs suggestions intéressantes :
Utiliser un outil d’imitation de voix type Real-Time Voice Cloning (qui ne marche pour l’instant qu’en anglais) pour que les boutons parlent avec la voix de l’utilisateur. Il faut pour cela avoir des enregistrements audio (plus ou moins longs suivant la technologie) pour obtenir quelque chose d’intéressant.
Les capteurs NFC ont une position variable sur les tablettes, parfois au centre, parfois sur les bords, avec une portée de 2 à 3 cm. Il faudra donc faire attention à l’endroit où coller la puce NFC, mais leur taille réduite actuelle permet beaucoup de choses.
Utiliser un simple tap pour lancer le son est sans doute une mauvaise piste, car il peut arriver que l’on explore un pictogramme en laissant le doigt statique. Pour cela, plusieurs approches : utiliser le double tap, ou remplacer le dispositif par des boutons qui s’enfoncent (avec un peu de mécanique, ou des matériaux souples), afin de distinguer toucher et appui.
Le thermogonflage s’use assez vite. Il pourrait être intéressant d’utiliser un autre matériau, comme l’impression 3D souple, ou l’usinage de matière. Une autre piste pourrait être l’utilisation de vernis.
Une solution alternative aux plots consiste à fabriquer un boîtier autour de la tablette, comme une boîte ouverte, sur laquelle la planche interchangeable viendrait se placer. Cela permet, à la manière d’une coque, d’avoir une protection pour la tablette. On peut imaginer une impression 3D, ou toute autre forme de fabrication.
Il existe pas mal de contextes où l’on a besoin de lancer des sons à la demande. On peut par exemple penser aux habillages d’une émission de radio, aux extraits musicaux d’un spectacle, aux samples (ou échantillons) dans un direct musical.
Pour lancer les sons, on peut vouloir utiliser la souris ou le clavier d’un ordinateur, ou encore un contrôleur dédié, comme un clavier maître ou un pad. Voici détaillées quelques solutions que j’ai pu utiliser par le passé, et en particulier celle que je viens d’expérimenter, avec le format sfz.
En radio, le cartoucheur
En radio, on utilise en général un logiciel appelé cartoucheur pour lancer les extraits sonores d’une émission de radio : habillage (générique, virgules, tapis…), extraits musicaux ou de reportage, etc.
Un cartoucheur est un logiciel qui propose à l’utilisateur de charger dans chaque bouton un son différent. Disposés en grille régulière, ces boutons permettent de lancer et d’arrêter indépendamment chacun des sons. Il existe plein de logiciels différents, souvent gratuits, ou à faible licence, qui proposent ce type de service.
Sous GNU/Linux, on trouve par exemple Linux Show Player, un outil qui semble très modulaire, même si je ne l’ai jamais utilisé.
La principale limitation des cartoucheurs est le faible contrôle que l’on a sur chaque extrait sonore. On peut en lancer la lecture, l’arrêter. Parfois on peut faire une pause dans son écoute, mais la plupart des configurations sont globales, comme par exemple le fondu en entrée ou en sortie. Et puis le pilotage de ce type de logiciel se fait à la souris, ce qui peut parfois être peu ergonomique, par exemple quand on doit enchaîner ou superposer plein de sons.
En live, le logiciel de samples pour DJ
Dans le cadre de l’émission Léthargiques Substances Disparates, j’ai pris le parti d’utiliser, après l’avoir configuré spécialement, le logiciel Mixxx, conçu en premier lieu pour les DJ numériques, souvent considéré comme un clône de Traktor.
Interface du logiciel Mixxx pour la réalisation d’une émission aux multiples superpositions de sons.
Sur l’interface de ce logiciel, on peut contrôler jusqu’à 4 fichiers audio de manière très précise, avec points de répétition, égalisation, effets, etc. Puis en dessous, on peut charger un grand nombre de courts fichiers échantillons (samples), que l’on pourra lancer à la demande, ponctuellement.
Ce qui est très intéressant, c’est que ce genre d’outil peut se piloter très simplement par n’importe quel contrôleur midi. Dans le montage ci-dessous, j’illustre très rapidement comment les quatre premières pistes sont contrôlées par un nano Kontrol2 de chez Korg, très accessible. Ces réglages me sont tout à fait spécifiques, car chaque utilisateur peut faire les associations de son choix.
En utilisant la partie basse du logiciel, on peut facilement transformer Mixxx en un cartoucheur, pour répondre aux besoins d’une émission de radio classique.
Les instruments virtuels échantillons
Cependant, ces deux configurations ne satisfaisaient pas pleinement certains de mes besoins. En effet, si on y charge les fichiers par glisser/déposer , et que l’on peut sauver la configuration dans un fichier, je trouve cette configuration précaire : une mauvaise manipulation, et on peut tout casser.
Quand je réfléchissais à tout cela, j’ai pensé au petit clavier Bontempi utilisé par ma fille (que j’avais mis en photo sur un précédent billet), et qui permet de lancer simplement de courts échantillons, à la manière d’Ardisson dans ses émissions télévisées des années 2000.
Et c’est là que j’ai découvert les formats sf2 et sfz, aussi appelés soundfont. L’idée est d’associer à chaque note midi un échantillon sonore, qui sera joué par un petit logiciel, en y ajoutant des contraintes de répétition, d’effets, etc.
On trouve en ligne beaucoup de bibliothèques à ce format, permettant d’ajouter facilement à une station audionumérique (ardour, reaper) des sons réalistes joués par une piste midi. Certains sont payants, d’autres gratuits (free sfz soundfonts, free soundfonts, etc.)…
Dans la suite, je vais raconter mes expérimentations avec le format sfz, depuis la fabrication du fichier jusqu’à la configuration logicielle et du contrôle midi.
Écrire un fichier sfz
Il existe plusieurs documentations disponibles pour le format sfz, tout d’abord sur le site du format lui-même, mais aussi sur le site de linuxsampler. Dans le fichier qui suit, j’ai créé deux groupes d’échantillons. Ceux du premier groupe ne seront joués qu’une fois, quand ceux du second le seront en boucle jusqu’à ce que la touche soit relâchée (loop_mode=loop_continuous). À noter cependant que pour que cela fonctionne avec linuxsample, j’ai dû renseigner le début et la fin de la boucle (loop_start et loop_end).
Dans ce fichier sfz, que j’ai placé dans le même dossier que l’ensemble des fichiers échantillons au format wav, j’ai également imposé que la vélocité soit forcée, et non contrôlée par le clavier (amp_veltrack=0). En effet, par défaut les contrôleurs midi permettent de doser l’intensité d’un son. Ici, j’ai envie que tous mes extraits soient joués avec la même intensité sonore.
Pour finir, j’ai associé une note midi (identifiée par un entier dans la norme) à chaque échantillon. Ici, je n’ai choisi que les touches blanches de mon contrôleur, pour en faciliter l’utilisation.
Les possibilités de ce format sont bien plus grandes que celles présentées ici. On peut contrôler beaucoup d’aspects de la diffusion du son, pour l’adapter à son cas d’utilisation. Je vous laisse parcourir la documentation pour en savoir plus.
À noter que j’ai utiliser le logiciel polyphone pour connaître la durée de mes deux fichiers boucle. Polyphone est une interface graphique permettant de fabriquer des fichiers sf2 sans rien écrire à la main. Les réglages proposés semblent aussi complets que ce que le format permet de faire à la main. Intéressant pour quelqu’un qui serait effrayé par l’écriture d’un fichier à la syntaxe précise…
Configurer un contrôleur midi avec jackd
Sous GNU/Linux, on dispose d’un serveur son temps réel, jackd, qui prend également en charge le midi. J’utilise pour ma part l’interface Cadence proposée par KXStudio pour démarrer mon serveur jackd. À noter, comme illustré dans la capture d’écran ci-dessous, qu’il ne faut pas oublier d’activer le pont MIDI entre alsa et jackd. On peut aussi faire ça en ligne de commande, c’est assez bien documenté, mais assez subtil…
L’interface de Cadence pour contrôler Jack
Jouer les sons d’un sfz au clavier
Le logiciel que j’utilise pour lancer des sons sfz depuis un contrôleur audio est QSampler, une interface graphique à linuxsampler. Quand on lance QSampler, il lance linuxsampler en arrière-plan. On peut alors utiliser Catia pour connecter la capture midi du système à l’entrée midi de LinuxSampler (connection rouge), puis la stéréo sortate de LinuxSampler aux playback du système (deux lignes bleues en haut à droite).
Capture d’écran de Catia, qui propose une interface très flexible de routage du son et du midi de jack.
Dans QSampler, on peut alors ajouter un canal, en y chargeant le fichier sfz écrit précédemment, puis en configurant l’entrée et la sortie sur jack.
Interface de QSampler, et fenêtre de configuration d’un canal.
On peut maintenant jouer au clavier sans se préoccuper des détails les sons choisis, et sans risque de casser quelque chose pendant le direct…
Le petit appareil m’a tout de suite semblé formidable, par ses possibilités sonores. Quelques semaines plus tard, je mettais les oreilles dedans, et l’univers que je découvrais était à la hauteur de mes intuitions…
S’il fallait décrire glo le cachalot, je dirais que c’est l’équivalent audio d’un kaléidoscope : ce petit appareil capture le son qui l’entoure, puis le déforme, l’agrémente, le démultiplie…
Suivant les modes que l’on choisi (il y en a 12 de disponibles, qui sont d’ailleurs très configurables), on se retrouve à explorer un univers différent, qui exploite la réverbération, la répétition, l’amplification d’harmoniques, l’ajout de mélodies, de textures sonores toutes plus réussies les unes que les autres.
L’auditeur est loin d’être passif, et glo est quasiment un instrument, car le petit boîtier modifie les sons produits suivant l’inclinaison de l’appareil (à gauche, à droite, devant, derrière), et suivant les sons qu’on lui propose : ambiances naturelles, grattements sur le boîtier, paroles, chansons, … On peut également activer les basses fréquences alpha, beta, gamma ou theta, qui guident le cerveau vers la méditation, le repos, etc.
Conçus, fabriqués et assemblés en Irlande, les produits de cette équipe sont conçus dans une démarche très ouverte. Sur le site de leur synthétiseur gecho, on trouve plein d’informations, de documentation pour prendre en main leurs outils, les modifier, les assembler, les programmer. On peut ainsi voir tous les éléments qui sont assembés dans glo, comme le sampler granulaire, dont les textures produites sont particulièrement impressionnantes…
Pour finir cette découverte, je vous propose d’écouter quelques expérimentations sonores très simples, réalisées avec glo le cachalot. Difficile de percevoir en les écoutant le plaisir que l’on a quand on interagit avec le dispositif, car chaque son produit, chaque geste que l’on fait est transformé dans l’univers de glo… Mais avec ces quelques sons, aux couleurs très différentes, vous pourrez percevoir combien les univers possibles sont variés avec ce formidable petit objet.
Coup de chance, quand je suis allé visiter leur boutique en ligne, il restait encore un exemplaire. Quelques jours plus tard, il arrivait dans ma boîte aux lettres.
La couverture, à la fois épurée et géographique, sérigraphiée, la reliure japonaise, le format quasiment carré. Tout donne envie de le parcourir.
Pour ce premier numéro, le thème était « large », et chaque carte proposée vient donner une illustration du thème.
Justine Vignat propose « une ville qui s’élargit », bande dessinée qui raconte la croissance d’une ville.
Chaque page développe son style, parfois figuratif et technique, parfois onirique, dans un ensemble très réussi. Pour qui aime les cartes, c’est un petit recueil de belles planches, à parcourir sans retenue.