En janvier 2019, l'association Tricyclique Dol a invité les créateurs du projet Brutbox à venir partager les détails techniques de cet instrument dédié au handicap. Jérôme Abel, Eric Dode (Reso-nance Numérique/Marseille) et Antoine Capet (Brutpop/Paris), ont particulièrement détaillé les aspects logiciels du projet.
http://jeromeabel.net/wiki/pd/
Brutbox est un sous-projet de la Malinette, outil de développement interactif généraliste. Tous deux sont basés sur le logiciel open-source Pure-data. Brutbox se limite à 8 entrées, et sort du son.
Comprendre mieux les principes de base de Pure Data, la philosophie du logiciel
Patch c'est une page blanche que l'on remplit d'objets. Chaque objet a une fonction: soit permettre des calculs, soit permettre la création de sons. Tout fonctionne un peu comme dans un synthétiseur modulaire: des ondes sont transformées, passées dans des filtres pour générer des sons. Une des caractéristiques de Pd est que l'on a besoin de compétences en maths et en acoustiques pour arriver à enrichir les sons. Pd peut être éxecuté en GUI ou en headless.
Il y a une liste de boites prédéfinies, et surtout une aide qui est accessible dans les boites Malinette et Pd. Clic droit sur un objet permettra d'ouvrir l'Aide qui explique le principe de chaque objet et offre de régler quelques paramètres: limites pour un objet nombre, label pour définir des étiquettes, et pour certains objets primitifs on va pouvoir modifier les couleurs et la taille et ainsi améliorer l'aspect graphique.
La première fenêtre qui s'ouvre est la console. On peut dialoguer avec la Console et logger les erreurs. Fermer cette fenêtre ferme Pd, c'est le serveur général. Les autres fenêtres de la BrutBox sont le Menu + le Projet. DSP doit être coché (Digital Sound Processing) pour pouvoir générer du son.
Les objets de la BB servent à cacher les objets de base de Pd. On peut les ajouter (Put>…): interrupteur, slider, etc… Pd offre donc des objets graphiques. Mais les BrutGuys ont fait une surcouche graphique (type coins bleus pour signifier audio)
Les boites
La boite PRINT permet d'afficher des choses dans la console La boîte DAC permet de sortir du son. dac~ 1 2 3 4 5 6 7 8 permet d'affecter les sorties aux sorties son disponibles. La boite Number est nombre qui peut être réglé à la souris. osc~ est un oscillateur
Chaque boîte pourra ensuite être reliée avec des fils. Fil maigre = données, message, nombres. Fil gras = signal audio.
Pour créer des ensembles, on peut créer des sous patchs ou des abstractions.
Sous-patch = poupée russe. On créé un objet et on l'appelle [pd + espace + le titre que l'on veut]. Cela ouvre une nouvelle fenêtre, on imbrique. Mais la boîte créée est dépendante de la boîte maîtresse. Pour la relier au patch principal, il va falloir créer des entrées et des sorties: inlet ⇒ entrée, outlet ⇒ sortie . Penser à mettre un outlet~ pour sortir un objet audio.
Abstraction = patch Pd que l'on peut importer dans un autre patch. Il faut qu'il soit enregistré pour pouvoir être utilisé . Le chemin est important. Cela peut être au même niveau que le patch parent. Dans la brutbox, un dossier abs a été créé pour stocker les objets. Si le patch principal et l'abstratcion sont au même niveau, il suffit de créer un objet avec le bon nom. Si ça ne marche pas, vérifier l'orthographe ou le chemin. Si c'est dans un dossier, il suffit d'ajouter [abs/……pd] au nouvel objet. Pour éviter d'avoir à ajouter le chemin partout, il y a un objet [declare -path abs] pour ajouter un chemin de recherche. Sinon, les -path peuvent être déclarés dans le script de démarrage (ils sont relatifs au script de démarrage). ou dans les settings (où ils sont absolus). Architecture des projets Malinette et Brutbox Pure Data (Vanilla) (200 objets) + Externals (21 modules externes à ajouter, empaquetés dans le même ZIP) + malinette-IDE (ou abs ou soft)
malinette-IDE = menu à gauche et patch à droite, avec une interface simple et cool malinette-abs = juste les objets simples et cools, collection malinette-soft = c'est l'ensemble : PureData + Externals + malinetteIDE + malinetteABS
MalinetteSoft est local, et donc plusieurs versions peuvent cohabiter.
Pour télécharger le logiciel et toutes ses dépendances, pour toutes les plateformes: malinette.info/#downloads Pour tenter une installation sur un raspberry pi: https://reso-nance.org/wiki/projets/pd-rpi4/accueil
Pour faire une nouvelle liste de projets copier malinette-soft/malinette-ide/projects/brutbox-blank et renommer le dossier. Puis changer dans malinette-soft/malinette-ide/preferences/preferences.txt la ligne brutbox-folder . On va pouvoir aussi changer le dossier des enregistrements avec brutbox-rec-folder