Projet Tetadrum

Idée générale

Ce projet a été inspiré par deux choses : d'abord, la constatation qu'il n'y a pas vraiment de projets collectifs au Tetalab, et surtout pour répondre à la demande de la pétillante Madeleine qui souhaite « apprendre à programmer un Arduino pour faire une boite à rythmes », deux raisons qui semblent tout à fait honorables. TL;DR. Donc, nous y voilà...

Premier principe, inspiré par les travaux de James Lewis, l'instrument doit être décomposé en modules générateur de son. Chacun de ces modules sera déclenché par un trigger dont les deux fronts pourront être utilisé et aura une sortie (au niveau ligne) stéréo.

Ces modules seront assemblés sur un fond de panier qui transportera l'alimentation et les divers signaux, et sera le support de notre modularité intrinsèque. La partie séquencement sera assurée par des moyens peu conventionnels.

Et pour ceux qui veulent participer, on fait comment ? Pour le moment, je vais faire ça à l'ancienne. Il y a le canal #tetalab sur le réseau IRC Freenode, et la mailing-list du Tetalab.

Le fond de panier

Cette partie assure la cohésion entre les divers modules sonores et la logique de séquencement. Pour des raisons (pseudo-)historiques, il ne pourra pas recevoir plus de huit modules. Le bus sera constitué de ces signaux :

Bien entendu, on peut envisager de faire passer sur ce bus d'autres connexions (comme un reset ou une horloge), mais ce serait au détriment de la simplicité. Quoique prévoir un connecteur assez large serait un plus. Le premier qui parle de CV aura un gage.

D'autre part, c'est aussi cette partie qui fera le mixage des sorties audio des différents modules, avec deux (l/r) sommateurs à ampli-op. Mais là aussi, on peut atteindre divers niveaux de complexité et/ou de coûts...

Les modules

Chacun des modules sera responsable d'un son (ou d'un bleep lumineux, hein) déclenché par un signal appelé ici trigger. Les deux fronts seront éventuellement pris en compte afin de générer une enveloppe rudimentaire. Ce signal sera (probablement) au niveau TTL. Il y aura deux lignes d'alimentation +/- 12 volts, une masse. En cas de besoin de 5V un régulateur sur le module fera l'affaire.

Comme certains l'ont suggéré, nous ne sommes pas forcés de rester dans des sons purement électroniques ;) et de pouvoir passer à des solutions plus « acoustiques » étendra la porosité de notre palette tympanique. Il existe des actionneurs électro mécaniques assez facile à fabriquer. Le solénoide à noyau plongeur, par exemple...

Aussi à prévoir: une cloche tubulaire plongée dans l’eau.

Le séquenceur

Nous avons plusieurs options possibles, et pour le début je songe à en privilégier deux : un Arduino pour la jeune Madeleine, et un ordinateur MSX pour le doyen de Myrys, qui aime bien le z80. C'est là que l'on peut constater l'avantage de la modularité sur un projet que l'on souhaite partagé et disruptif : tout est possible.

Arduino

Grand classique incontournable. Surtout dans sa version MEGA, gavée d'i/o. Un port série ? pof, un MINITEL en UI. Pétillante UX, n'est-il pas ?

MSX

Cette machine du siècle dernier est munie d'un port imprimante à la norme Centronics, hélas sur un connecteur baroque à 14 broches. Par contre, il semble très accessible depuis le BASIC intégré.

Faut-il prévoir un driver Fuzix ?

Références

Il y a plein de trucs à piocher dans le grand Ternet, plein de sources d'inspiration. En voici quelques unes, sélectionnés un peu au hasard :

Prototype

Plus ou moins en chantier...

Conclusion

Il reste beaucoup de choses à faire pour attaquer sérieusement. Certains songent déja à la synchronisation CLOCK/START/STOP externe ou à une interconnexion MIDI, ce qui semble deux bonnes idées à creuser.

Ce mini projet sera présenté et discuté plus en détail à l'université d'automne du Tetalab, en présence du directeur fermionique.

Attention, l'idée première de ce projet est de rester simple afin que la finesse de ses structures puisse être comprise par les débutants. Qu'il soit possible pour chacun de rajouter un module, ou un nouveau séquenceur. Sans faire de l'over-engineering. Oui, Fatalerrors, c'est à toi que je pense :)