Bonjour,
L'objet poly permet de répartir la polyphonie sur un nombre déterminé de voix, ce qui est utile lorsqu'une même touche du clavier n'est pas assignée toujours au même générateur (lorsque le nombre de voix est supérieur à un et inférieur au nombre de touches par exemple).
Toutefois cet objet donne la priorité aux notes déjà entrées, ce qui présente à la fois des avantages et des inconvénients (dans les deux cas les notes surnuméraires sont perdues, et dans le cas susdit cela s'entend beaucoup plus).
Si la limitation de la polyphonie ne présentait elle-même que des inconvénients, on pourrait remédier à cet inconvénient en augmentant le nombre de voix. Cette solution serait plus facile aujourd'hui qu'autrefois, les limitations résultant d'impératifs techniques étant devenues plus rares.
Toutefois une limitation de la polyphonie ne présente pas que des inconvénients, et, plutôt que d'épiloguer sur les avantages (ce serait peut-être intéressant mais je n'ai pas souhaité en juger), je me propose d'en venir à la question :
Existerait-il un moyen simple de donner la priorité aux notes entrantes ?
Avec deux voix de polyphonie je pensais avoir résolu le problème, mais l'ajout d'une troisième voix m'oblige reconnaître l'évidence : ça marche pas non. Il m'a semblé comprendre pourquoi la solution à trois voix ne marchait pas ; malheureusement maintenant, je comprends plus pourquoi ça marche avec deux voix. (A priori je suppose que j'avais testé sur nombre insuffisant de cas, mais ça parait bizarre quand même.)
Etant donné que j'aurais pu passer à côté de quelque chose de simple, je préfère attendre de voir s'il y a des retours avant d'expliquer plus avant le problème. (Et le cas échéant de préparer des patchs contenant seulement ce qui est utile à la compréhension.)
Dernière modification par lionmarron (2013-02-19 00:23:39)
Hors ligne
Cherche l'objet [polypoly] sur le net.
C'est un [poly] dynamique.
http://pure-data.svn.sourceforge.net/vi … otils/foo/
prendre les 3 fichiers polypoly.pd , polypoly-help.pd et polypoly-wrap.pd
Hors ligne
Dans l'aide de [poly], il est marqué comment activer le mode steal, qui permet à une note entrante de "voler" une voix. Faut lire l'aide
Hors ligne
Mwouais, à la décharge de Dwan, le "voice stealing" est mentionné, pas décrit :-)
Hors ligne
Pas faux (mais lire, c'est aussi se poser des questions sur ce qu'on a lu ). Ça ferait une chouette contribution à la documentation !
Hors ligne
pob a écrit:
Cherche l'objet [polypoly] sur le net.
C'est un [poly] dynamique.
http://pure-data.svn.sourceforge.net/vi … otils/foo/
prendre les 3 fichiers polypoly.pd , polypoly-help.pd et polypoly-wrap.pd
Merci pour cette suggestion (qui me dépasse probablement). J'ai téléchargé ces fichiers (ainsi qu'un voice-poly.pd qui semblait lui aussi de la partie), mais je n'ai pu faire fonctionner aucun d'eux, ni comprendre ce qu'ils auraient dû faire ou à quoi ils servaient.
Du reste peut importe mais, si je peux poser une question, dans quel sens faut-il comprendre "dynamique" ?
dwan a écrit:
Dans l'aide de [poly], il est marqué comment activer le mode steal, qui permet à une note entrante de "voler" une voix. Faut lire l'aide
Effectivement, j'ai trouvé deux occurrences d'un mot qui commence par steal et j'ai compris qu'il suffisait de mettre 1 en deuxième paramètre. Incroyable cette histoire.
Ça me rappelle ma première tentative de tête-à-queue (une traction ne peut pas survirer franchement en dessous de 40 km/h, alors elle décroche avec les roues avants).
nau a écrit:
Mwouais, à la décharge de Dwan, le "voice stealing" est mentionné, pas décrit :-)
Non ça ce serait plutôt à la décharge du véritable danger de la savane que représente lionmarron, enfin il me semble. Le fait est qu'un texte en anglais ne représente pour moi qu'une suite de lettres ; c'est mieux que rien et c'est déjà certainement beaucoup : dans l'antiquité c'est presque comme ça que les gens cultivés lisaient dans leur propre langue.
Pour trouver quelque chose il me faut cependant de préférence savoir quel mot chercher. En ce moment je cherche deux autres choses et l'une d'elle me semble assez proche du sujet précédent, c'est pourquoi j'ai pensé que je pouvais peut-être la mettre ici :
Existerait-il un moyen pas trop compliqué de faire qu'un son décroisse automatiquement après avoir été émis ? Par exemple à la façon d'un son de harpe. Le but ne serait cependant pas d'imiter un timbre aussi compliqué ; il suffirait d'un son décroissant d'accordéon ou même disons d'onde carrée. Ce qui n'existe pas dans la nature il est vrai (mais le son de la harpe non plus).
J'ai notamment essayé le help de [env~] mais non, on dirait bien que c'est pas ça.
D'après un traducteur électronique envelope follower pourrait vouloir dire enveloppe de maintien, ce qui pourrait être ce qu'il faut chercher. Pourtant le fil qui sort de [env~] est un fil mince, donc pas un fil acoustique ; et même en regardant les exemples je vois pas à quoi ça sert.
Hors ligne
Vive la décroissance
Ce que tu cherches, c'est [line~]
Hors ligne
J'avais déjà utiliser [line~] mais je comprenais pas bien son fonctionnement, et toujours pas en fait. En revanche je comprends maintenant à peu près le fonctionnement de [line], qui doit pouvoir faire aussi. Merci pour la piste.
Je sais pas si ça me serait utile mais je suis pas non plus parvenu à comprendre la différence entre [line~] et [vline~]. Alors si quelqu'un à une idée, d'avance merci.
Hors ligne
Il y a de grandes entre [line], [line~] et [vline~].
Si tu n'as pas encore planché là-dessus, renseigne-toi sur les différences entre un objet qui crache des messages et un objet qui crache de l'audio.
Un objet qui crache des messages ne le fait qu'à un certain rythme, assez lentement par rapport à l'audio. [line] ne peut envoyer un message qu'à une fréquence de 700hz maximum (corrigez-moi si je me trompe, calculé depuis mon exemple joint). C'est beaucoup, mais par exemple si je veux faire une rampe de 10ms, [line] va produire un escalier plutôt qu'une rampe (cf exemple).
[line~] est VRAIMENT ce qu'il te faut. Tu veux qu'il monte de 0 à 1 en 10ms ? Envoie-lui [1 10< en t'assurant bien qu'il part de 0. Il le fera sans faire d'escalier et en respectant à peu près le temps que tu lui as donné.
[vline~] répond à des besoins très particuliers. Pure Data calcule le son par paquets de 64 samples (par défaut : on appelle ça un bloc audio).
Pour [line~], cela veut dire que Pd va allonger ou rétrécir le temps que va mettre ta rampe pour monter jusqu'à 1 pour que cela soit un multiple de la longueur de ton bloc audio. Un bloc audio de 64 samples de long, au taux d'échantillonnage de 44100hz, ça fait 64*1/44100 ms, soit 1.45 ms. C'est-à-dire que Pd va s'arranger avec la durée de rampe que tu as spécifié pour qu'elle fasse à peu près la bonne durée : si on veut une rampe de 10ms avec [line~], par défaut elle fera abs(10/1.45), soit 6 blocs de long, ce qui ne fait que 6*1.45 = 8.7ms.
[vline~] s'affranchit de cette limitation au prix d'un consommation de temps processeur plus élevée, et ta rampe fera bien 10ms, soit 441 samples de long, ce qui n'est pas un multiple de 64.
edit : désolé pour le hors-sujet
Dernière modification par dwan (2013-02-21 00:03:04)
Hors ligne
Bonjour à tous,
Je ne suis sûrement pas sur la bonne discussion mais j'espère pouvoir trouver des réponses tout de même. Mon cher collègue Lionel (il m'a dit de mentionner son nom donc je le fais, m'a dit que je trouverai sûrement une solution ici sur Codelab.
Mon problème :
J'ai 6 piezzos. En touchant un piezzo, je déclenche un son, en touchant un autre piezzo, je déclenche un autre son.
J'ai mon patch qui fonctionne pour 1 piezzo, il suffit que je duplique ce patch pour chaque piezzo. Mais comment déclencher des sons dans Pd à l'aide de 6 piezzos branchés sur un arduino ? Comment reconnaitre chaque piezzo ?
Quelqu'un aurait-il un sketch tout prêt ?
Merci d'avance pour votre aide
Hors ligne
Elodie31 a écrit:
Je ne suis sûrement pas sur la bonne discussion
Pour créer un nouveau sujet il y a un bouton (ou un mot bouton, je sais pas comment on dit) en haut à droite de l'écran.
Pour la suite je sais pas répondre, mais je suppose que c'est un bon sujet (et un intitulé contenant un ou plusieurs des mots utilisés devrait être un bon intitulé).
Hors ligne
@ Elodie : oui il faut créer une nouvelle discussion
d'autre part ce ne sont pas des sketchs, mais des pataches... :-D
Hors ligne
lionmarron a écrit:
Elodie31 a écrit:
Je ne suis sûrement pas sur la bonne discussion
Pour créer un nouveau sujet il y a un bouton (ou un mot bouton, je sais pas comment on dit) en haut à droite de l'écran.
Pour la suite je sais pas répondre, mais je suppose que c'est un bon sujet (et un intitulé contenant un ou plusieurs des mots utilisés devrait être un bon intitulé).
Merci j'avais pas vu....je cherchais ce fameux "bouton" depuis longtemps....(pas très visible soit dit en passant cher webmaster de ce site !)
Hors ligne
philippe boisnard a écrit:
@ Elodie : oui il faut créer une nouvelle discussion
d'autre part ce ne sont pas des sketchs, mais des pataches... :-D
Sur Pure data oui ce sont des patchs mais sur Processing et arduino par exemple ce sont des sketchs !
Tu remarqueras d'ailleurs que j'ai bien écrit "patch" en parlant de Pd !
Hors ligne