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
kluber
Messages : 551
Inscription : 26 juil. 2010, 10:47
Localisation : Paris

Re: Remake de la partie logicielle du Prophet 600

Message par kluber »

gligli a écrit : 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 :).
Oups elle est là la liste!
Effectivement c'est déjà pas mal! Haha! :wink:
Il me donne envie ton projet de m'acheter un P600 de plus en plus sérieusement!
Bonne continuation! :bravo:
https://soundcloud.com/kluber" 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 »

ear a écrit :L'écart d'un semi ton est de 2^(1/12)
J'ai fais un fichier xls il n'y a pas longtemps pour construire une interface MIDI2CV Hz/V et 1V/Oct :
C'est bizzare là, mon algo d'accordage d'échelle tourne, mais il accorde sur 10 semi-tons (fréquence*2 du DO au SIb), j'ai du mal à comprendre...

Voilà ma fonction de conversion note->CV, tuner.scales et tuner.offsets sont en format flottant, mais à l'échelle du DAC (16bits)

Si quelqu'un voit une erreur...

Code : Tout sélectionner

uint16_t NOINLINE tuner_computeCVFromNote(uint8_t note,p600CV_t cv)
{
	float value;
	
	value=((float)note/12.0f)*tuner.scales[cv]+tuner.offsets[cv];
	
	return MIN(MAX(value,0.0f),65535.0f);
}
Edit: j'ai trouvé: c'est un probleme technique tout con: si on ne rafraichit pas les CV tout le temps, les S&H dévient très très vite!
Avatar de l’utilisateur
ear
Messages : 1384
Inscription : 02 avr. 2011, 19:54
Localisation : Paris
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par ear »

En flottant ça va bouffer pas mal de CPU.
Tu me dira le principal c'est que ça passe en global...

Sur le MIDI2CV que je fais, je pense utiliser des tableaux.
Le premier test était avec une sortie PWM, mais les synthé CV n'aiment pas, donc je vais utiliser des converto 12b.
En groupe:
http://soundcloud.com/sugarglider-music" onclick="window.open(this.href);return false;
Mon bloc note:
https://soundcloud.com/loongarden" 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 »

Re!

Ayé le synthé est accordé! :biggrin:

Pour féter ca, une petite démo: http://sfx.gligli.free.fr/zik/p600/p600fw_tuned!.flac" onclick="window.open(this.href);return false; :) (1 voix avec 2 saw detunées avec mixer a donf, un peu de résonance, les envs, et un manche au clavier ;)

Il me reste à faire l'assigner et à moi les joies de la polyphonie :bave:

Ouais j'évite le flottant en général, mais là ça sera appelé seulement quand on triggera une note, donc ca se sentira pas je pense.
Avatar de l’utilisateur
ear
Messages : 1384
Inscription : 02 avr. 2011, 19:54
Localisation : Paris
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par ear »

Je regardais le teensy, c'est pas mal comme plate forme.
Comment la programmes-tu ?

Sur le site, il est préconisé d'utiliser la base arduino.
Par contre, je trouve que la partie arduino est plus galère à utiliser qu'avant.

Désolé c'est un peu HS, mais échanger sur les méthodes de travail peu intéresser d'autres personnes...
En groupe:
http://soundcloud.com/sugarglider-music" onclick="window.open(this.href);return false;
Mon bloc note:
https://soundcloud.com/loongarden" 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é pas de problème, je fais du développement ouvert de tt facon :)

Ouais le teensy, pour le prix, c'est génial, ca se programme par port USB, t'appuie sur le petit bouton dessus, ca recharge ton nouveau binaire dedans, par l'intermédiaire d'un outil PC fourni.
L'USB peut même être utilisé pour transférer des données à toi (par exemple les banques de mon RX5USB) et/ou comme sortie de debug.

Moi je le programme en C avec gcc, et netbeans comme environnement de développement (pour la complétion de code surtout).

Arduino lui même, jamais testé, mais bon je ne vois ce que ça pourrai m'apporter à moi...
Avatar de l’utilisateur
skawiwen
Messages : 4596
Inscription : 10 mai 2010, 09:50
Localisation : Rhone Valley
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par skawiwen »

p'tain de bon job Gligli :bravo: mais dis moi ta motif elle s'implante comment dans le P600 ? grillage d'Eprom ou sysex , je me rappel plus l'architecture logicielle du P600 , en tout cas j'en ai 2 sous la main à faire évoluer , bavez pas les vautours ils sont pas à vendre :cool:
" L'artiste se considère comme le créateur d'un monde spirituel qui lui est propre ."
Avatar de l’utilisateur
ear
Messages : 1384
Inscription : 02 avr. 2011, 19:54
Localisation : Paris
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par ear »

J'ai des Arduino, c'est le même principe.
Base de µC ATMEL.

En fait c'est l'environnement Arduino qui devient moins permissif.
L'import de librairie oblige qu'elles soient toutes dans le répertoire Arduino etc...
Enfin, il est moins ouvert qu'au début et implique de vraiment penser dans la logique Arduinno.
C'est du au fait qu'ils ont ajouté plein de petites choses pour simplifier/vulgariser l'utilisation.

Donc sur le teensy ont peu programmer sur le GUI de notre choix et compiler comme on veut.
Faut simplement utiliser l'utilitaire Loader pour envoyer le compilé.

As tu essayé la version ARM ?
Je serais intéressé pour passer au dessus...
J'ai pas bien compris sur le site, pour compiler sur ARM on utiliserait encore le compilateur AVR ?!

Merci pour ces infos.
On pourrait recréer un sujet µC et programmation qui pourrait intéresser pas mal de grenouilles DIY.
En groupe:
http://soundcloud.com/sugarglider-music" onclick="window.open(this.href);return false;
Mon bloc note:
https://soundcloud.com/loongarden" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
ear
Messages : 1384
Inscription : 02 avr. 2011, 19:54
Localisation : Paris
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par ear »

Vautour ON

Image

Certain skawiwen :badgrin:

Vautour OFF

Je vais mettre une annonce sur AF... Cherch P600 po chair pour fère de la tek hardcore dub stép assid
En groupe:
http://soundcloud.com/sugarglider-music" onclick="window.open(this.href);return false;
Mon bloc note:
https://soundcloud.com/loongarden" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
BLT
Messages : 14347
Inscription : 12 nov. 2009, 18:20
Localisation : dans une valise
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par BLT »

Hi han beau nez tas :biggrin:
L'équipe d'Anafrog, soit on l'aime, soit on ne l'aime pas. Dans les deux cas elle s'en fout.
"It's not wise to upset a Wookiee."
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 »

Non, pas testé la version ARM. Pour le P600, le surplus de performance aurait pas été du luxe, mais ca ne pouvait pas faire pour 2 raisons: le teensy 3.0 (ARM) est physiquement trop petit, et surtout il tourne en 3.3V au lieu de 5V, donc il cramerait joyeusement, branché dans un circuit 5V comme le P600! (et comme beaucoup de matos vintage)

Ben pour les ARM d'habitude, on utilise la version de gcc pour ARM, comme il y en a une pour AVR...

Yep sinon pour le sujet programmation, pour le moment pas trop le temps ^^ mais sinon je pense que ça sera utile !

skawinen:
Ca demande un peu de maniement du fer à souder quand même, mais rien de dangereux pour le P600, vu que l'on se contente d'enficher un nouveau CPU !
Donc ça part de ce kit http://www.pjrc.com/store/teensypp_pins.html" onclick="window.open(this.href);return false; auquel il faudra couper 3-4 pins, souder 2-3 fils, et après il se mettra à la place du Z80 dans le P600, et c'est tout, à priori.
Avatar de l’utilisateur
ear
Messages : 1384
Inscription : 02 avr. 2011, 19:54
Localisation : Paris
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par ear »

Oui en 3,3V implique de tout bufferiser (4050).
Ca ajoute pas mal de galères.

Sur le site de parc, je n'ai pas trop trouvé ce qu'il conseil pour compiler sur ARM justement.
Il semble utiliser la version AVR.

Allez on arrête le HS...

Bon boulot, continu !!!!!
En groupe:
http://soundcloud.com/sugarglider-music" onclick="window.open(this.href);return false;
Mon bloc note:
https://soundcloud.com/loongarden" 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 »

Plop!

Aujourd'hui au menu:
- en entrée, une grosse optimisation de la couche bas niveau, principalement pour améliorer la vitesse des affectations de CV (avec l'ajout des CV de pitch, j'étais de nouveau à la rue en perfs)
- en plat de résistance, le fameux allocateur de voix, qui permets la polyphonie, mais aussi unison et monophonique à plusieurs voix (rotation des voix à chaque nouvelle note)
- et en dessert pas mal de modifs dans l'accordeur, pour le rendre plus rapide et surtout plus précis (l'unison ça pardonne pas pour l'accordage!)

bref, trêve de cuisine, voilà un peu de musique, enfin en tout cas de son ^^ :
http://sfx.gligli.free.fr/zik/p600/p600 ... nison.flac" onclick="window.open(this.href);return false; : des gros pads résonnants, suivi d'unison du même patch.
http://sfx.gligli.free.fr/zik/p600/p600 ... ssive.flac" onclick="window.open(this.href);return false; : des sons bien percussifs avec release pour stresser l'allocateur et les enveloppes en polyphonie.

Bref, je m'éclate :biggrin:
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 »

Après la relative musicalité des démos précédentes, je me suis dit qu'il était temps pour quelques FX, et donc j'ai codé un LFO :)

Comme le P600, Il peut faire Triangle et Pulse, mais j'ai rajouté Sine et Random (S&H quoi), histoire d'être un peu plus complet...
Et, histoire de faire des FX sympas, j'ai prévu 3 vitesses, de 'Slow' (0-10hz à vue de pif) à 'Fast' (qui monte largement dans l'audio).

Voilou donc: http://sfx.gligli.free.fr/zik/p600/p600fw_hell_fo.flac" onclick="window.open(this.href);return false;
Ca commence par de la modulation de pitch, avec des combinaisons vitesse/forme d'onde, puis du PWM, et enfin de la FM filtre, et tout ça juste avec le LFO, sans PolyMod quoi :)
Avatar de l’utilisateur
skawiwen
Messages : 4596
Inscription : 10 mai 2010, 09:50
Localisation : Rhone Valley
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par skawiwen »

Convaincu :bravo:
" L'artiste se considère comme le créateur d'un monde spirituel qui lui est propre ."
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! Cool! :bravo:
https://soundcloud.com/kluber" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
Analog80
Messages : 746
Inscription : 25 mai 2012, 08:14
Localisation : Ici ou ailleurs
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par Analog80 »

Je reste admiratif pour ce travail ! Bravo.
Dave Smith recrutait un programmeur orienté synthé dernièrement, tu devrais postuler ou même lui parler de tes modifs sur le P600, je suis sûr qu'il te répondrai ! :sante:
Avatar de l’utilisateur
ear
Messages : 1384
Inscription : 02 avr. 2011, 19:54
Localisation : Paris
Contact :

Re: Remake de la partie logicielle du Prophet 600

Message par ear »

Dave himself m'avait répondu pour une question toute bête sur l'evolver !
Je peux te dire que cela m'avait bluffé !!

Donc certain qu'il serait très intéressé par ton travail. Il a la réputation d'être quelqu'un de très accessible et sympathique.
Et en même temps, son entreprise est familiale.
En groupe:
http://soundcloud.com/sugarglider-music" onclick="window.open(this.href);return false;
Mon bloc note:
https://soundcloud.com/loongarden" 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é bon j'ai déjà un bon job, mais ouais rien que discuter avec lui, ca serait génial :)

En tout cas le p600 est vraiment incroyable, le son et les possiblités, quoi, si seulement ils avaient mis un CPU un peu plus sympa à l'époque (un 68000 par exemple), il aurait tout tué!
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 »

La cote du P600 va exploser quand le kit sera terminé et opérationnel...
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;
Répondre
cron