Bonjour à tous
question existentielle
j'ai une liste du genre : 417 415 500 630 631 651 633 1000 1150 1158.....
comment faire pour que les différences entre chaque valeurs soient évaluées et comparées à une valeur cible
je précise que j'ai déjà un patch qui calcule les intervalles entre les éléments d'une liste (si ça intéresse qq, pas de pb...)
Donc si reprends la liste du haut ce patch sort : 2 85 130 1 20 -18 367 150 8
je voudrais que toutes les valeurs < 10 -valeur cible- (cad 2, 1et 8) soient remplacées par cette valeur cible...
Pour ceux qui voudraient savoir à quoi ça sert.... c'est pour essayer de quantiser un peu une liste de durées captées en audio...
je pense que ça a à voir avec vexpr, mais je pense aussi que ce n'est pas simple!!!
A
Hors ligne
Hello Tom
bon et bien comme d'habitude quand tu envoies un patch , ça fonctionne parfaitement!!!!
Donc merci..
Par contre, dans la mesure ou le projet sur lequel je travaille doit être à terme utilisé sur des projets musique vivante, ça implique promo et tout ce que ça implique....
J'aimerai donc pouvoir te citer en tant que contributeur... est ce que ton pseudo est ton nom réel???
Bien à toi
A
Hors ligne
Hello Tom encore moi
juste un détail mais peut être embêtant : je me suis mal expliqué la valeur cible peut-être aussi négative
par exemple dans la liste de départ le -2 doit se transformer en -10....
Hors ligne
>> peut-être plus simple ?
boh, c'est une question de gout, mais j'aurais tendance à le laisser en vexpr :
<pre><code>
----------begin_max5_patcher----------
601.3oc2V1saaBCEG+ZxSgEZWz1klgMl.LsMs8bLUM4.NodxXGANaYspu6ye
.JIaID2UJacWfAerw7+7ymyAe+jfvExszlPvaAeFDDb+jf.qIigf19AgUjsE
bRicZgB52kK9Z3T2PJ5Vk075ZlPAJYKW1MzZhp3VlX0WpoEJ2WHKZVzT.L2d
CO21IaVD3l1WgUZWK85eMD0sNKkBkfTQsC8oZFg2MhXSESvoJqvf6LJ2n5rF
s2hzvtytHP8m2X8gISLMSeZN92naWWCtfrn4hWsDd46bOft7xq.59uoy9UZa
fWuade38GNQvGaJHbRckrjBf8vv4V3gP1aw448AwrGICQGkgvSvvVytYp9wZ
pSfggfaFN7dGGPKX7ldYBDlXwPrKvpWljNHLA8XYxzAlKt7MkTIOerRhGXI4
EU5lIg4ZcK5rNOzcKE2myie4mmn.b.uGZjZyPxsswnYImFFwCRjve8DDcgiF
NqvmhodU2.9+QcCtjTVQaz0Si5gKXbKXbQMtxHwm.LoCR.yQydvCd1ylpEzZ
O7bW9RRudd9yWlRONtttuIpXAQr5OiAlsexJ5uEZfgo.LLQ6zQf4wlKHXdh9
x1OVGwneH0zIOw7K2HSS1Yq4j3p4jgrnDdbThd9p.6cLjUWgbl3WOPr00L1O
DpMxM0EcKU6ws.67tRZihIHJlTr2bRNXN2xJKoh8+yYEqbsTuE2JgSrA6qhv
dnHyIsGQIk6gjLfD9OEjxFUFAOv+Othviphh8IPZzUz4XT5npnTOXDdTirQd
nn3wMx1GHk+DjjtyCS9ImRx0pC
-----------end_max5_patcher-----------
</code></pre>
Hors ligne
Hello Tom
testé ce nouveau patch et ça fonctionne aussi... ceci étant à mon niveau les vexpr que je code sont de loin plus simples que les tiens!!! et je serais bien incapable de pouvoir tester la différence entre un accumulation de petits objets et une expression complexe...
d'autre part , en appliquant ce patch à une liste de durées, il reste un problème.... en fait si je recompose une liste de sortie à partir du 1er élément de la liste départ et de la suite d'intervalles modifiés, en fait toute les valeurs se retrouvent modifiées!!!
Logique mais je n'avais pas pensé à ça...
Par exemple en passant par ton patch à partir d'une liste :
(500 505 600 602 620 450 452), j'obtiens une suite d'intervalles (5. 95. 2. 18. -170. 2.) qui génère un liste de sortie (500 510 605 615 633 463 473) avec une valeur cible (10)
toutes les valeurs sont modifiées mais s'agissant d'une liste de durées (donc d'une cellule rythmique), ça peut être un peu génant...
la liste de sortie devrait être (500 510 600 610 620 450 460). En fait il faudrait que toutes les valeurs séparées de leur précédente par une valeur >= à la valeur cible restents inchangées....
je en me rends pas trop compte de la difficulté
Bien à toi :-))
Hors ligne
Hello Tom
compliqué oui, mais ça correspond à ce que j'attendais en terme de rendu musical.... ça corrige un peu l'imprécision de la capture des durées par fiddle~ donc ça "groove" un peu plus!!!
J'ai crainte d'abuser mais encore une question sur les listes, par rapport à la possibilité de mettre en place des cribles périodiques ou a-périodiques. Ex :
j'ai une liste (1 2 3 4 3 5 6 7 8 10 12) et je ne veux conserver que les valeurs (1 3 3 6 8 12) cad une valeur sur 2
Si tu veux étendre ça tu peux décider que ce peut être 1 sur 3, 1 sur 4, etc....
Mais ça c'est périodique!!! Alors imagines je ne veux garder que la 1ère, la 7éme la 8ème, la 11ème? etc.... (a-périodique)
Ce tout en se réservant la possibilité d'obtenir aussi le complément du crible....
est ce qu'il aurait un objet zl apte à faire ça (pas trouvé.....)
En fait je travaille beaucoup sur les listes parce que j'ai as mal pratiqué Open Music, logiciel Ircam basé Lisp ou ces fonctions sont implémentées.....
MAIS si j'abuse dis moi!!!
Bonne soirée
A
Hors ligne
Hello Tom
oui bien reçu ton patch mais j'ai du mal m'expliquer. L'idée est en fait d'obtenir pas le biais d'un sous patch avec 2 inlets un sous- ensemble de la liste de départ juste en cliquant sur la boîte message, le 2ème inlet étant soit un integer, soit un message avec l'ordre du crible
EX's :
Liste de départ (60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79.....)
Crible avec valeur 2 => (60 62 64 66 68 70 72 74 76 78......)
Crible avec valeur 3 => ( 60 63 66 69 72 75 78...)
Crible nombres premiers => (60 61 64 69 76 87....)
Crible aléatoire => ( 60 61 65 71 72 75.....)
Bon je suis dessus mais pas certain d'y arriver!!!
Boone journée
A
Hors ligne
Pages: 1