C'est vrai que pure data n'est peut être pas la solution la meilleure pour faire ca....
Voila en gros comment va marcher la " ARD-CONTROL " (parce que arduino et ardour)
Je pense déja regrouper toutes les commandes physiques par groupe de 8 tranches (idealement je veux faire une 24 tranches)
Un arduino connecté avec Pd se chargera des 8 faders motorisées , de 8 * 8 encodeur rotatifs, de nombreux boutons (nombre pas encore défini) ainsi que de diodes rgb pour l'affichage des états. Pd receptionnera les valeur de tout se beau monde et se chargera d'envoyer les états pour les diodes et fader motorisé.
D'un autre coté Pd se charerra d'interroger ardour et de créer un tableau comportant le nombre de pistes avec leur id differents ( notre fameuse variable) , leurs noms, leurs états, les valeur de pan , de gain, le nombre de plugin, les parametres de plugins, ect..... une fois ce tableau établi, Pd devra faire concorder ces pistes du tableau avec leur parametres et états aux piste materielles de la surface de controle , en fonction de ce que l'on veut controler, et donc afficher les états des boutons ( rec mute solo...) la position du fader,, l'affichage du nom ,ect ....
Il devra gérer les bank change et passer par exemple aux huit pistes suivantes du tableau donc changer la variable "piste" de chaque message d'envoi que ce soit gain mute solo ect... et envoyer ces valeur a la surface.
Par la suite Pd devra aussi gérer de l'affichage de certaines valeur sur écran tactile situé sous les encodeur rotatifs....
Voila en gros, je sais pas si j'ai été clair ...
Si vous avez des idées , des suggestions , des questions, n'hésitez pas !!
Hors ligne
Je connais pas Arduino mais ayant une petite idée de ce qu'est un microcontrôleur je me demande juste si il y a vraiment nécessité de Puredata entre Arduino et Ardour ..
Hors ligne
C'est en effet ce que je voulais faire au début, mais vu le grand nombre d'entrée sortie a gérer, je ne peut déja pas le faire avc un seul arduino et plein de registres a décalages, les temps de réponses seraient trop longs.
A la louche par tranche 8 entrée analog faders + 3 entrée pour les encodeur qui font aussi push button don *64 + 3 buttons reel a coté des encodeurs donc *64 + dans les 20 boutons par tranche donc *8... ca fait dans les 500 entrées pour 8 tranches ! et un peu pres autant de sortie pour les diodes rgb.
Donc j'imagine si en plus le microcontroleur devaient se charger de dialoguer avec ardour, d'enregistrer un tableau, d'afficher les valeur des encodeur rotatif sous forme de graph autour de l'encodeur sur ecran tactile, de gerer les boutons virtuels toujours a coté des vpot, ect ect.. je pense qu'il serait vite debordée.
Bien sur il existe des microcontroleurs plus puissant, mais je m'étais arrété sur cette solution aussi en raison du cout, un arduino pour 8 tranches et un raspbery pour gerer pd, l'affichage et controler les 3 arduino, le cout reste de l'ordre du raisonnable ( dans les 75 euros).
Par contre récemment je me suis posé la question de la necessitée de l'arduino et tout faire faire au raspbery vu qu'il existe un shield pour connecter des entrées sortie. Mais je ne me suis pas penché sur les caractéristiques et si il serai capable de gerer tout ca avec un temps de latence acceptable.
L'autre probleme est pour modifier le comportement de la surface. Avec un microcontroleur ca ca fait en codant (chose a laquelle je suis une bille ! ) avec pd ce sera plus graphique et intuitif.
Hors ligne
Salut,
plutot que de tout tanker sur un seul arduino, tu peux aussi avoir 8 arduino (je viserais le Mega ou le Due que je ne connais pas) qui gèrent chacun une tranche. a priori tu devras faire un peu de multiplexage pour gérer autant de LEDs.
Dernière modification par Adèle Scott (2013-06-12 10:27:35)
Hors ligne
Salut un arduino par tranche c'est vraiement du luxe surtout avec le due !!
Je suis en train de me pencher sur le raspbery et voir comment il peut gerer tout ce qui est de bas le bas niveau... il y a bien l'abjet pd 'gpio' pour avoir acces au gpio du rpi mais je n'ai aucune idée de comment gerer ca dans pd. Si je met une chaine spi avec par exemple une matrice 20 x 20 pour gérer mes entrée, est ce que pd pourra gérer cette matrice , le spi , l'oject gpio permet de lire ou d'ecrire sur une des I/O...je ne pense pas que ce soit aisée avec pd de dire que sur telle et telle patte du gpio j'ai mis une chaine spi de mcp23s17 ou autre registre a décalage et que pd recupére directement les 400 entées de la matrice ! Sur arduino c'est easy tout st deja fait (lib )
C'est pour ca que je prefere séparer tout ce qui est de bas niveau (entrée sorties physiques) sur un arduino qui dispose de toutes les librairies pour le spi lib pour encodeur rotatif, fader motorisé, matrice de diode rgb,ect.... avec tout ce qui est d'un plus haut niveau (hui, gestion de ardour, de toutes les valeurs...) C'est dailleur ce que j'ai lu un peu partout et que les gens pratiquent en general.
Le due peut me gerer 12 piste car il a il a 12 can et 12 sorties pwm. Apres test peut etre qu'il pourra meme interfacer les 24 pistes avec un petit multiplexage. A voir.
Hors ligne
Le problème que tu risques de rencontrer, c'est la quantité de mémoire de ton Arduino avec 8 canaux, la lib OSC est assez gourmande. Après, dire que 8 arduinos (ou 4) c'est du luxe, une interface pour Ardour, c'est clair que c'est plus compliqué que pour Audacity!
Hors ligne
Arduino ne charge pas de librairie osc puisque c'est pd fait la convertion entre interface physique hardware et tout ce qui est logiciel osc et ardour, arduino se contente juste de scruter les différents bouttons, poussoirs , encodeurs rotatif et faders, de récuperer leurs valeur et les transmetre a pd. On y cahrge juste les librairies des différents composants harware qui seront connecté dessus en spi ( registres a decalages, expandeur de port io, driver de diodes pwm, miultiplexer, push button, ect..).
Je ne sais pas encore comment faire communiquer arduino avec le raspbery....par usb, par un port uart, serie , spi ... ? Vittesse de communication max entre les 2 ?
ou alors il existe des projets cobinant un raspbery et un arduino (ou plus) sur ma meme bord ! comme UDOO ou je ne sais plus le nom des autres.
La encore il sagit de trouver le bon compromis puissance, fonctionnalité, prix. Mais je pense que le UDOO peut etre une exellente solution a un prix relativement abordable ! Pouvoir gérer a la fois tout ce qui est de ba niveau et tout ce qui est haut niveau sur la meme carte me parait bien interessant.
Hors ligne
Pages: 1 2