Remake de la partie logicielle du Prophet 600

Clonages d'ancètres, conceptions originales, circuit bending, le coin des grenouilles bricoleuses.

Modérateur : darcmorcel

Avatar de l’utilisateur
gligli
Messages : 403
Inscription : 28 févr. 2011, 10:06
Localisation : Vienne
Contact :

Remake de la partie logicielle du Prophet 600

Message par gligli »

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...
Avatar de l’utilisateur
ascent
Messages : 2548
Inscription : 14 nov. 2009, 23:49
Localisation : Third stone from the sun

Re: Remake de la partie logicielle du Prophet 600

Message par ascent »

Ouah! super intéressant! :bave:
Mais est-ce que tu ne risque pas d'être limité par la vitesse du processeur qui reste un vieux Z80 ?

Tu connais ce projet ? : http://prophet600.blogspot.fr/#!/2012/0 ... n-adc.html
http://www.youtube.com/user/Ascent68" onclick="window.open(this.href);return false;
http://soundcloud.com/a-ascent" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
gligli
Messages : 403
Inscription : 28 févr. 2011, 10:06
Localisation : Vienne
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par gligli »

Donc, à propos de l'overdrive :)

Le P600 a juste 1 seul potard pour gerer le mix entre les Osc A et B, mais en interne, il y a bien 1 CV de volume par oscillo.

En gros:
- potard a gauche: CVA = 100%, CVB = 0%.
- potard a droite: CVA = 0%, CVB = 100%.
- potard au milieu: CVA = 50%, CVB = 50%.

Et là, je me suis demandé quel son ça ferait avec les 2 osc à 100% :)

J'ai pu tester aujourd'hui, eh ben a mon humble avis, ca valait le coup de se poser la question!

Ca donne ça: http://sfx.gligli.free.fr/zik/p600/p600 ... uares.flac" onclick="window.open(this.href);return false; (c'est juste 1 voix avec 2 squares, la note est fausse et tout, mais bon... :)

PS: Ha oui j'ai pas précisé, je vais utiliser le même kit teensy que pour mon RX5USB, avec 2-3 modifs, il se pluggera a la place du Z80!
PPS: J'ai contacté le gars de ce blog (minisystem), mais pas de réponse... tant pis...
Avatar de l’utilisateur
ascent
Messages : 2548
Inscription : 14 nov. 2009, 23:49
Localisation : Third stone from the sun

Re: Remake de la partie logicielle du Prophet 600

Message par ascent »

Pourrais tu détailler les 4 sons qu'on entend : les 2 premiers sont similaires mais très différents des 2 derniers ?
http://www.youtube.com/user/Ascent68" onclick="window.open(this.href);return false;
http://soundcloud.com/a-ascent" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
gligli
Messages : 403
Inscription : 28 févr. 2011, 10:06
Localisation : Vienne
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par gligli »

Ben c'est tout le même son, donc 1 voix avec 2 squares, VCA a fond et le mix des 2 osc à 100%+100% , avec le cutoff qui varie, d'abord sans résonance, puis avec résonance moyene et forte.

C'est un peu cru comme démo, mais pour le moment j'ai juste affecté tous les CV à des potards à l'arrache, c'est pas simple de sortir qqch de sympa musicalement!
Avatar de l’utilisateur
ascent
Messages : 2548
Inscription : 14 nov. 2009, 23:49
Localisation : Third stone from the sun

Re: Remake de la partie logicielle du Prophet 600

Message par ascent »

Le projet a le mérite d'être super intéressant et je serai client si ça aboutit!
:sante:
http://www.youtube.com/user/Ascent68" onclick="window.open(this.href);return false;
http://soundcloud.com/a-ascent" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
yusynth
Messages : 4802
Inscription : 12 nov. 2009, 19:15
Localisation : Grenoble
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par yusynth »

C'est un projet intéressant effectivement.
yusynth, doc modulaire
"Patche" ou lis, fais ton choix, j'ai fait le mien...
Avatar de l’utilisateur
gligli
Messages : 403
Inscription : 28 févr. 2011, 10:06
Localisation : Vienne
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par gligli »

Héhé merci, par contre je ne compte pas vendre quoi que ce soit, donc difficile d'être client ;)

Je suis de nature assez tenace, alors je pense que le seul truc qui empècherai l'aboutissement de ce projet, ca serai que je crame mon P600!
Enfin mon proto point de vue matériel (branchement du kit teensy quoi) est fini, et donc je n'ai meme plus le P600 ouvert alors je suis confiant :)

PS: Wow, avec la bénédiction de Monsieur synthé DIY en plus, j'ai la pression maintenant. :biggrin: :mdr:
Avatar de l’utilisateur
gligli
Messages : 403
Inscription : 28 févr. 2011, 10:06
Localisation : Vienne
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par gligli »

Auhourd'hui, je vais parler enveloppes.

Donc, comme je le disais, les enveloppes du p600 sont rafraichies toutes les 5ms, c'est à dire que l'attaque la plus rapide se fait en moins de 5ms, ce qui est finalement utilisable.
Cependant, pour faire une attaque un poil plus lente, il faut plusieurs rafraichissements, donc on entre assez vite dans des enveloppes bien molles (25ms et plus).

De plus, les enveloppes sont linéaires, et non exponentielles comme sur les enveloppes analogiques, et ça rajoute encore au côté mou...

Enfin, cerise sur le gâteau pourri, il y a seulement un très petit nombre de paliers possibles pour le niveau de sortie de l'enveloppe!

Bref, pour un précédent projet, j'avais utilisé une enveloppe de chez http://electricdruid.com/" onclick="window.open(this.href);return false; , c'est des enveloppes logicielles qui tournent sur un microcontrolleur PIC, mais je les avais trouvées particulièrement convaincantes!

J'ai donc décidé de partir du code de cette enveloppe: http://electricdruid.com/index.php?page ... ts.moog911" onclick="window.open(this.href);return false; pour concevoir la mienne.
Elle a déjà l'avantage d'être peu gourmande en temps de calcul, ce qui est une aubaine, car il ne faut pas oublier qu'il y en aura jusqu'à 12 actives à la fois!
En plus elle sait faire les courbes linéaires et exponentielles, et on peut controller la vitesse globale, tout ce que je voulais.

Hier, j'ai "branché" les potards pour controller 1 voix du p600 façon synthé mono, codé l'enveloppe, et magie magie, la pêche est bien là :biggrin:

J'essaierai de faire une petite démo ce soir, mais par exemple, il est maintenant tout a fait possible de faire des kicks et des zaps avec la résonnance du filtre !
Avatar de l’utilisateur
oryjen
Messages : 9761
Inscription : 15 nov. 2009, 22:16

Re: Remake de la partie logicielle du Prophet 600

Message par oryjen »

Non mais c'est dingue ce que tu fais, toi! :urgh:


En tout cas: :bravo: :bravo: :bravo:
Avatar de l’utilisateur
kluber
Messages : 551
Inscription : 26 juil. 2010, 10:47
Localisation : Paris

Re: Remake de la partie logicielle du Prophet 600

Message par kluber »

AH purée! C'est génial!
Justement, le P600 est un des poly que je lorgnais depuis un petit moment car parfait pour moi (analo, midi, poly, relativement accessible enfin plus trop aujourd'hui) mais certains avis ralentissaient néanmoins mon engouement notamment pour les enveloppes, l'édition des sons, et puis les pannes :confused: et la difficulté à trouver des pièces de rechange...
Maintenant si ton projet aboutit tu vas nous pondre un de ces synthés!!! :fou: Et peut être même que dans un futur proche je te commanderai un kit! :mdr:
https://soundcloud.com/kluber" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
spookyman
Messages : 3124
Inscription : 23 oct. 2009, 12:59
Localisation : Seeland

Re: Remake de la partie logicielle du Prophet 600

Message par spookyman »

oryjen a écrit :Non mais c'est dingue ce que tu fais, toi! :urgh:


En tout cas: :bravo: :bravo: :bravo:
Tu sais que c'est de la programmation informatique hein...donc numérique :badgrin: :badgrin: :badgrin: rien d'analogique dans tout cela... :palm:


Trêve de plaisanterie, et comme je suis moi-même le propriétaire d'un Prophet 600, je ne peux que saluer ce projet ! N'ayant absolument aucune connaissance en matière de programmation, je ne peux que m'incliner devant les personnes qui sont capables de reprogrammer certains paramètres qui n'ont pas toujours été optimisés au moment de la sortie de l'instrument. Le Prophet 600 en est un parfait exemple...J'aime beaucoup le grain de ce polyphonique américain, bien ample et plein, y compris le filtre, qui n'est finalement pas si éloigné que cela de son aîné le Prophet 5...mais les enveloppes gâchent vraiment un peu le tout. Là où le Prophet 5 a une attaque franche et nette, qui permet de créer des sons très courts et percussifs, le Prophet 600 brille par sa relative mollesse, les pas audibles au niveau du VCF, etc...

Alors si tu travailles exactement à ces détails, je te promets que tu vas faire des heureux ! Toi en premier, c'est clair...mais également tous les autres propriétaires de Prophet 600 (ou Prophet T8...je pense que ce n'est pas si éloigné non?) qui étaient peut-être un peu déçus par les points mentionnés ci-dessus.

Bon courage dans la suite de ce projet que je vais suivre avec la plus grande attention :wink:
"Il n'y a que deux religions positives dans ce bas monde: le bouddhisme et les string machines"
Avatar de l’utilisateur
kluber
Messages : 551
Inscription : 26 juil. 2010, 10:47
Localisation : Paris

Re: Remake de la partie logicielle du Prophet 600

Message par kluber »

Yep je confirme! Même si je n'en possède pas (encore) un, tu me rends déjà heureux par anticipation :mdr:
https://soundcloud.com/kluber" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
ascent
Messages : 2548
Inscription : 14 nov. 2009, 23:49
Localisation : Third stone from the sun

Re: Remake de la partie logicielle du Prophet 600

Message par ascent »

C'est simple, si le projet abouti (ce dont je ne doute pas) je ne vois pas quel possesseur de Prophet 600 ne va pas vouloir avoir ce kit ! :bave:
http://www.youtube.com/user/Ascent68" onclick="window.open(this.href);return false;
http://soundcloud.com/a-ascent" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
gligli
Messages : 403
Inscription : 28 févr. 2011, 10:06
Localisation : Vienne
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par gligli »

Héhé spookyman, tu as tout compris, je fais d'abord ça pour moi, mais je me dis que quitte à le faire pour le plaisir, autant en faire profiter les autres!

Sinon, blague mise à part, oui ce que je fais c'est du pur numérique au final, mais bon c'est là où je me débrouille bien...
En tout cas le son, lui, sera pur analogique, et grassouillet comme il faut :bave:
Avatar de l’utilisateur
Luigi1984
Messages : 506
Inscription : 31 janv. 2012, 12:45
Localisation : hautes Pyrénées

Re: Remake de la partie logicielle du Prophet 600

Message par Luigi1984 »

olala ça va faire mal :bravo: comme déja dis tu va faire des heureux :sante:
j'ai vraiment hâte :fou: de plus que le mien est en panne et je crois bien que c'est le processeur qui est HS
au passage tu fais quoi comme métier ?
Avatar de l’utilisateur
gligli
Messages : 403
Inscription : 28 févr. 2011, 10:06
Localisation : Vienne
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par gligli »

Ben je programme des logiciels de calcul pour les assurances sous Windows.
C'est plus marrant qu'il n'y parrait, mais en tout cas ce que j'adore vraiment, c'est la programmation embarquée, sous toutes ses formes, proche du matériel quoi.

Et vu que j'adore au moins autant les synthés analos et/ou vintage, ben j'ai trouvé ma voie je crois :satisfait:
Avatar de l’utilisateur
Luigi1984
Messages : 506
Inscription : 31 janv. 2012, 12:45
Localisation : hautes Pyrénées

Re: Remake de la partie logicielle du Prophet 600

Message par Luigi1984 »

et ton nouvel emploi va être:
programmateur de cpu pour appareil vintage :smile:
Avatar de l’utilisateur
gligli
Messages : 403
Inscription : 28 févr. 2011, 10:06
Localisation : Vienne
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par gligli »

Héhé non, j'aime mon job, c'est de mes hobbies dont je parlais :)
Avatar de l’utilisateur
Curtis
Messages : 1510
Inscription : 13 nov. 2009, 14:28
Localisation : Rennes

Re: Remake de la partie logicielle du Prophet 600

Message par Curtis »

yusynth a écrit :C'est un projet intéressant effectivement.
+1

:bravo:
A quand le même projet pour optimiser un OBX ?? :bave:
"Putain, Putain, c'est vachement bien, nous sommes quand même tous des Européens" (Arno)
Répondre
cron