Evidemment on n'a rien inventé, les DSP (Digital Signal Processor, ça veut dire ce que ça veut dire) c'est des puces dédiées au traitement du signal, donc bien sur que c'est utilisé dans certaines écoles d'ingé (pas toutes, la preuve, ni tirail, ni moi n'en avons fait à l'école). Quasiment tous les multi effets numériques sur les amplis, pédaliers, tables de mix, et j'en passe tournent autour des DSP. Mais le truc c'est que jusqu'à maintenant c'était très onéreux à mettre en oeuvre soi même. Le kit de développement matériel et logiciel tapait plutôt dans les 300? minimum. Line6 avait tenté de sortir une pédale programmable, mais à 200?, ce qui fait encore cher, sachant qu'en tant qu'amateur, on n'est pas sur de ce qu'on va réussir à en tirer... Là pour 50?, le risque est plus raisonnable, et donc ça vaut le coup d'essayer de s'amuser avec. Personnellement j'ai appris l'électronique en bidouillant des effets (les AOP, transistors, diodes etc. je les connaissais avant d'apprendre en cours la théorie qui va avec, et du coup, les cours ont eu un tout autre impact), et ça m'intéresse de bidouiller sur des DSP, vu qu'actuellement ils tendent à remplacer nos bonnes (vieilles ?) pédales analogiques. Là c'est l'occasion de s'y mettre (et de prendre le train de la technologie en route). Et tant qu'à faire si on peut être plusieurs pour se refiler des tuyaux et partager ça à d'autres (un peu dans l'esprit du logiciel libre) , je suis totalement pour.
Pour ce qui est de la conversion en langage machine, j'imagine que c'est comme pour les microcontrôleurs, tu écris en C++ ou en assembleur, et c'est quand tu compiles ton code sur ton ordi que le logiciel le transforme en langage machine (en général ça fait un fichier .hex pour mes microcontroleurs). Ensuite t'as plus qu'à envoyer le fichier compilé dans la puce. Donc la compilation est faite avant l'envoi dans la puce, par l'ordinateur. (quelqu'un confirme ou infirme ?)
A priori c'est plus efficace d'écrire en asm, mais c'est nettement plus complexe, puisque tu maitrises vraiment tout ce qui se passe au niveau des registres, de la mémoire etc. donc tu peux vraiment optimiser ton affaire, mais tu risques aussi de faire des plantages bien sympas. Le C++ a un degré d'abstraction plus important, donc sera plus facile à coder. En gros pour stocker une valeur en C, tu crées une variable et tu la mets dedans, mais après tu ne maitrises pas dans quelle emplacement mémoire physique elle va aller réellement sur ta puce, alors qu'en assembleur tu dois trouver une case mémoire libre sur ta puce dans laquelle tu vas décider de la mettre (pour schématiser), si par malchance tu as une autre donnée dedans, et que t'as pas fait gaffe, tu fais foirer ton truc.