Pouet !
Bidouiller une boite à rythme PCM c'est bien, bidouiller un authentique poly analo c'est mieux! ;D
Vu le prix et la vitesse d'un microcontrolleur moderne, ça motivait déjà beaucoup de gens à essayer d'améliorer ces synthés 80's à commande numérique et partie audio analogique, sauf bizzarement un des synthés qui en aurait le plus besoin: le Prophet 600 de chez SCI.
Le P600 c'est un peu l'exemple type d'une partie analo géniale, mais d'un firmware vraiment dépassé par les évènements, même le jour de sa sortie. Par exemple les enveloppes sont rafraichies toutes les 5ms, sont linéraires, ont que 16 niveaux de sortie au final, alors que mis à part la puissance de calcul du CPU, tout permets de faire vraiment beaucoup mieux!
Toute la partie analo est controllée par CVs et gates en interne (VCOs, VCAs, VCFs, PW, ...) eux mêmes contrôllés par un DAC 14bits donc je pense qu'avec un firmware 'moderne', on pourrait clairement entrer dans le territoire du Prophet 5, avec 2 oscillos de plus ;)
Donc j'envisage de refaire de zéro un firmware pour ce synthé, avec quelques principes que je m'efforcerai de respecter:
- M'arranger pour que le synthé reste compatible d'une manière ou d'une autre avec les patches existants (et donc le son!), ça demande un petit effort de plus, mais pour moi c'est primordial !
- Ajouter des fonctionnalités qui manquent, mais essayer de rester dans une philosophie 1 bouton par fonction.
- Simplifier au maximum le montage.
- Et comme d'hab, tout publier sous licence libre!
Donc au rayon des fonctionnalités évidentes qui manquent:
- Des vraies enveloppes.
- Des vrais CV sur 16000 valeurs, et pas 64, genre le cutoff.
- Choix de la vitesse et de la courbe(lin/log) des eveloppes.
- 100 presets de plus, comme ca on est pas obligé d'écraser les presets d'usine.
- Contrôle complet par Midi CC/NRPN.
- Modulation PWM par l'enveloppe du filtre.
- Mode monophonique.
- Overdrive! (je revirendrai là dessus dans mon prochain message :).
J'avais commencé il y a quelques temps à programmer un émulateur de P600 pour PC, le temps de me trouver un vrai P600, et surtout histoire de comprendre comment le matériel marche.
Du coup maintenant que j'en ai trouvé un, ca me sert à tester mon code tranquillement sur PC, et n'avoir plus que quelques retouches à faire sur le vrai matériel.
Aujourd'hui j'ai enfin commencé à tester des trucs sur le vrai P600, ca s'est relativement bien passé, et donc pour le moment voilà ce qui marche:
- Pilotage affichage 7 segments et leds.
- Scan Clavier et touches/switches.
- Pilotage synthé analo à proprement parler.
- Lecture des potars.
Code source et infos sur http://gligli.github.io/p600fw/
To be continued...