Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN
SynthEdit SynthEdit
(9)
Déposer un avis
Où acheter SynthEdit ?
Moins
Aucun revendeur ne propose ce produit pour le moment.
Alerte disponibilité
Il n’y a pas de petite annonce pour ce produit.
Alerte nouvelle annonce

Améliorer un peu la consommation CPU d'un plug.

  • 73 réponses
  • 6 participants
  • 3 171 vues
  • 5 followers
Sujet de la discussion Améliorer un peu la consommation CPU d'un plug.
Bonjour à tous,
je suis toujours sur mon plug d'orgue virtuels. s'il contient des sons d'orgues parfaitement classique, dont certains fortement inspirés des doors, j'ai aussi voulu incorporé la possibilité de bien triturer le son, notamment il y a pas mal de filtre (et de LFO pour les controler), ceci afin d'obtenir des nuances et variations dans le son (en sus du vibrato ou tremolo), pour briser le côté linéraire des oscillos..
tout ça commence à prendre un peu trop de CPU (je dois être à 20% si j'ajoute la disto au plug), alors si quelqu'un est expérimenté dans ce genre de VST et connait un ou deux tuyaux pour alléger la consommation du CPU...
2
Bonjour,

Les plugins conçus avec SynthEdit ont tendance à consommer du CPU.
Je pense que c'est une affaire de compromis :

La polyphonie est un des paramètres qui influent le plus sur la charge CPU. Le mieux est de la limiter à 8 voies, par exemple.
Après, plus l'architecture est complexe, plus il y a de modulations, et plus la consommation en ressources processeur est importante. On ne peut pas grand chose à ce niveau-là.
Sinon, il vaut mieux limiter la longueur du "release time" dans les enveloppes, car cela sollicite beaucoup la polyphonie.

En même temps, 20% du CPU, ça me semble encore raisonnable, enfin ça dépend de la puissance du processeur. Sur le plugin que je suis entrain de développer, la consommation peut grimper jusqu'à 45% de mon Pentium 4 2.6 GHz .

Le mieux est de concevoir plusieurs versions de plugin : une version "light", avec une polyphonie limitée, pour ceux qui ont un PC lent, et une version plus débridée pour ceux qui disposent d'un PC puissant.

Et aussi, il faut faire attention aux modules externes, toujours placer le module "denormal cleaner" en sortie, pour éviter les pics de consommation CPU.
3
Merci pour tes réponses :coucou:

Citation : Sur le plugin que je suis entrain de développer, la consommation peut grimper jusqu'à 45% de mon Pentium 4 2.6 GHz .



j'y viens, j'y viens, je suis passé à 30% et j'ai encore besoin de rajouter des éléments.

la polyphonie je la limite à 6 (7 si je compte que j'ai splitté le clavier pour réservé les touches graves à une "basse" mono).

Citation : Le mieux est de concevoir plusieurs versions de plugin : une version "light", avec une polyphonie limitée, pour ceux qui ont un PC lent, et une version plus débridée pour ceux qui disposent d'un PC puissant.

Et aussi, il faut faire attention aux modules externes, toujours placer le module "denormal cleaner" en sortie, pour éviter les pics de consommation CPU.



merci beaucoup pour ces conseils. le denormal cleaner, je l'avais peut être lu dans le fichier d'aide, mais j'avoue que j'avais complètement oublié dans ce cas.

modules externes: tu entends quoi excatement par là? les modules qu'on peut télécharger sur internet?
4

Citation : modules externes: tu entends quoi excatement par là? les modules qu'on peut télécharger sur internet?



Oui, les modules .sem/.sep que l'on peut trouver un peu partout.
Certains modules (les filtres de Dave Haupt par ex) sont déjà traités contre la dénormalisation.
Mais par précaution, je préfère utiliser le "denormal cleaner" à chaque fois que j'utilise un module téléchargé.
5
Ok merci à toi

:boire:
6
Ehu j'ai encore une ou deux questions pour être honnête.
la première c'est tout con mais ça m'éneeeeeeeeeerve!
en fait avec le module "midi filter", j'ai splitté mon clavier; je dispose ainsi de deux sons sur mon clavier: l'un étant dédié aux basses. bref j'ai deux synthé au lieu d'un sur mon écran.
il me faudrait donc un "patch select" pour chacun d'eux, pour pouvoir choisir dans le panel le son de chacun des synthés.
or, si je mes deux "patch select", il change en même temps/ par exemple, si je mets le premier sur "son d'orgue", le deuxième se met également sur son d'orgue. j'ai cru que la solution passait par le choix des canaux midi pour chaque synthé, mais ça n'a rien changé...
je peux changer le son indépendamment en cliquant directement sur l'écran du container, mais une fois exporté en VST, cette solution ne sera bien sur plus viable...
bref si quelqu'un peut m'aider...
7
Pour revenir sur la consomation de CPU, il est très important de regarder la polyphonie par fonction.
Exemple de patch:

VCO->ADSR(VCA)->LFO(VCA)

Si tu utilises le lfo comme modulation d'ampltude, en montage classique lorsque tu joues un accord le patch est dupliqué:

do: VCO->ADSR(VCA)->LFO(VCA)|
mi: VCO->ADSR(VCA)->LFO(VCA)+->OUT
sol: VCO->ADSR(VCA)->LFO(VCA)|

C'est nul car tu as un LFO qui est triplé alors qu'il suffirati d'avoir:

do: VCO->ADSR(VCA)|
mi: VCO->ADSR(VCA)+->LFO(VCA)->OUT
sol: VCO->ADSR(VCA)|

Il faut donc bien définir quelles parties de tes patchs est dupliquable ou non en polyphonie. Souvent, plein de parties sont dupliquées alors qu'elles ne le doivent pas. Bon Son :)

http://www.bellesondes.fr

8
Ah bien vu ça! :boire:
merci!
9
Je dis ca parce que si tu as fait un orgue, fais gaffe de pas dupliquer pour rien ta partie lfo/filtre ( la leslie!! ) qui sert de modulation en fin de chaine. Car souvent c'est elle avec ses lfos et ses filtres a gogo qui bouffent.

Sinon, pour faire un orgue, essaie des génés moins gourmands que le VCO standard de SE genre un quicksine ou autres, beaucoup plus légers (a condition de ne pas vouloir de fm ou autre, bien sur...)

Sinon apres c'est de l'optimisation et c'est ca qui bouffe le plus. Penser à regrouper les VCA quand on en cascade plusieurs en chaine avec des controles différents, etc...
Souvent avec SE, programmer une bonne idée prends 2 minutes, l'optimisation 2 à 3 semaines :)

http://www.bellesondes.fr

10
Tout ça va m'être utilise. je dois être prudent avec mes ressources CPU, vu que je compte essayer je jouer en live avec des plugs, faudrait pas que il y ait des craquement
en plus de ça mon orgue fait maintenant 50% du CPU, j'ai voulu rajouter trop de trucs inutiles, il faut que je recible sur un plug exclusivement réserver au son des doors qui m'intéresse...
m
mais heu comme je suis un peu idiot en plus d'être neophyte en MAO et pitoyable avec synhtEdit...
comment je fais pour pas dupliquer le LFO :???:
il suffit que je le mette en dehors du container, juste avant le "sound out" ou bien il faut utiliser un autre moyen?
11
En fait, tu définis des sous-containers dans ton plug, et les containers qu'il faut pas dupliquer tu les déclare en monophonique.
OU
Tu mets le midi to CV dans un sous-container et seulement ce container sera dupliqué.

La seconde option est mieux

C'est précisé dans l'aide de SE (RTFM!!! :8) ) rubrique working with Synthedit->polyphony, et aussi sur le site de Synthedit si tu veux pousser le vice un peu plus loin. Et pour du live, ca vaut vraiment le coup la je suis +1 :bravo:

http://www.bellesondes.fr

12
Merci beaucoup :boire: :boire:
à ma décharge, je suis tout nouveau dans le domaine de la synthese sonore, y'a pas 2 semaines, je savais pas ce qu'était un LFO :mrg:
j'essaierais la seconde option pour voir la différence de CPU.
13
Yeah c'est incroyable quand tu commences a comprendre tout ce que tu peux faire avec synthedit! :D :bravo:
Moi le LFO j'essaie d'en faire un sur un synthé analogique fait maison en ce moment... ca marche presque!
https://fr.audiofanzine.com/apprendre/mailing_forums/index%2Cidtopic%2C106123%2Cpage%2C10000.html
:) C'est grace à SE que j'ai voulu en faire un vrai analogue pour voir.

http://www.bellesondes.fr

14
:bravo:
'tain ça me ferait bien poiler de faire un petit synthé hardawre pour déconner.je serais curieux de voir comment sonne le tien...
15
Oh la la la la c'est pas la peine de répondre au boulot quand on a pas le temps de penser...

Citation : Tu mets le midi to CV dans un sous-container et seulement ce container sera dupliqué.


Je me gourre royal! faut surtout pas faire ca :non: ... A bon entendeur :salut:

http://www.bellesondes.fr

16
J'en ai pris note.
17
Si j'ai bien compris l'organisation des containers doit ressembler à ça :
(j'ai pris l'exemple d'un poly de base)



C'est comme ça que je procède et ça consomme peu de ressources. Si je me gourre, n'hésitez pas à corriger !
18
Oui dans les grands lignes j'avais compris ça.
merci pour le schéma très clair fractalogism :boire:
19
Bien vu le schéma... juste qu'il ne faut pas mettre le MIDI to CV dans le container poly, mais en dehors. Alors entrer tous les CV (pitch gate vel aftertouch) dans le container poly, et ressortir le son pour le faire rentrer dans un container mono. La c'est ultime :) Ca te permets surtout de pouvoir utiliser le miditoCV pour synchroniser les lfos, etc..., tout en leur indiquant bien que même si les voies "génération son" sont poly, le lfo sur le filtre est mono (les sweeps filtres de transe goa :) )
Le schéma donnerai cela:


Voila!

http://www.bellesondes.fr

20
Salut,

Vous devriez aller faire un tour sur la page SDK du site de Synthedit, vous y trouverez pas mal d'infos sur la gestion de la polyphonie de SE.

Il faut savoir que si vous ne reliez pas directement ou indirectement un module au Midi-Cv , celui-ci reste monophonique.

par exemple :

1- lfo mono

Lfo>Level adj>osc
------ | -------
Gate>ADSR

2 Lfo poly

Level adj>Lfo>Level adj>osc
----- | ---------- |-------
Gate>ADSR Gate>ADSR


L'exemple 2 corespond au cas de figure où vous voulez contrôler le pitch du Lfo par un générateur d'enveloppe.
Dans ce cas il faut effectivement mettre le lfo dans un container à part en récupérant le gate du container polyphonique.

La deuxième chose importante à connaître est que si vous désactivez l'entrée midi d'un container, celui-ci sera "off", donc à 0% de CPU.

Xavier
21
Bravo a tous pour la pédagogie ! je réfléchissais justement a une maniere de me constituer un pense bête du type :
tel élément peut accueillir tel autre dans telle entrée etc....vos schémas sont des complémentaires essentiels a cette réflexion la.
merci encore, le forum a besoin de gens comme vous.

pendant que j´y suis : j´ai pas mal galéré pour obtenir la syncro entre deux VCO, pourrriez vous intégrer cet aspect dans un schéma ? je me sens pas trop de le faire moi-même!
22

Citation : La deuxième chose importante à connaître est que si vous désactivez l'entrée midi d'un container, celui-ci sera "off", donc à 0% de CPU.


La je te suis pas trop... les containers n'ont pas tous par défaut une entrée midi, non? si tu pouvais préciser un poil ca le ferait merci.
Sobo: la sync c'est facile tu prends la sortie de l'osc maitre et tu le cable sur l'entrée sync de l'osc esclave et hop gagné! :)

http://www.bellesondes.fr

23
A force d´aborder plusieurs trucs en même temps... bravo!

Hors sujet : site actualisé (du nouveau encore a venir...). ton site figure en bonne place parmi les liens!

24

Citation : La deuxième chose importante à connaître est que si vous désactivez l'entrée midi d'un container, celui-ci sera "off", donc à 0% de CPU.



Tu veux dire en utilisant un module qui désactive le signal MIDI vers un container ?

ça m'intéresse car je souhaiterais mettre un bouton "panic" qui coupe tout en cas de saturation CPU* dans mon futur synthé

Hors sujet : * Saturation CPU, car dans certains cas de figure, uniquement lorsque je module la coupure d'un filtre (avec beaucoup de résonnance) par un oscillateur (à fréquence très élevée, un VCO voire un LFO dans les hautes freq), il arrive que la consommation CPU explose au point de geler le déplacement de la souris et de faire planter synthedit... A croire que les filtres ne sont pas conçus pour être modulés par des signaux à haute fréquences, ce qui est dommage, car cette modulation peut donner un effet sympa qui ressemble un peu à un bit-crusher...

25
Ton HS n'est pas si HS que ca... ;)
En fait, quand tu changes soit la fréquence soit la résonance de ton filtre, le module doit recalculer le nouveau filtre numérique (et oui on est en numérique) avant de pouvoir filtrer ton son.
Et si tu utilises une modulation haute fréquence alors le filtre change tout le temps et le plug s'emballe. Je viens de faire des essais c'est axxez curieux en effet!
Donc il vaut mieux éviter l'hyper modulation et rester sur de petits lfos... ;) du moins pour garder du cpu.
Et si tu veux vraiment faire de la mod hyper rapide de résonance: ben faut optimiser donc programmation C++ et fait toi ton VST à la main!! :) j'en conviens c'est plus complexe..

http://www.bellesondes.fr