Group Admins

  • Profile picture of Karim
  • Profile picture of Jean

OpenMusic

Public Group active 1 hour, 28 minutes ago

User group for OpenMusic and computer-aided composition. Visit the Forum for discussions.

index de liste

Author 2 Subscribed Users |
Ruben SOTO KEMP
Ruben SOTO KEMP

Bonjour,
J’ai deux listes ; de notes et d’amplitudes,
mais je voudrais enlever les amplitudes trop petites.
Je filtre ces amplitudes avec “list-filtre” mais je ne connait pas l’index des valeurs enlevés.

:(
Quel objet peut reconnaitre l’index pour enlever aussi les midicents correspondantes?

Attachments:
  1. de

    de.tiff

March 7, 2013 at 23:48 #4159
Profile photo of Jean
Jean

Hello Ruben,

C’est un problème intéressant et qui revient souvent de la part des utilisateurs. Une bonne solution consiste, non pas à connaitre les index mais plutôt à traiter (filtrer) les deux listes ensemble dès le départ. Il faut associer les hauteurs et les amplitudes dans un premier temps, par exemple avec un MAT-TRANS, de sorte à obtenir une liste ((midic1 vel1) (midic2 vel2) …).

Au lieu de LIST-FILTER, qui parcourt la liste en profondeur, il sera alors plus facile d’utiliser la fonction Lisp REMOVE-IF (ou REMOVE-IF-NOT) en utilisant le keyword “:KEY” qui permet de “cibler” l’objet du test : ici le 2e élément de chaque item (soit la fonction SECOND ou CADR).

Avec un deuxième MAT-TRANS, on sépare à nouveau les éléments pour retrouver nos listes de midics et velocities.

Jean

 

Attachments:
  1. Capture-d’écran-2013-03-08-à-10.25.11

    Capture-d’écran-2013-03-08-à-10.25.11.png

March 8, 2013 at 10:27 #4172
Ruben SOTO KEMP
Ruben SOTO KEMP

Merci Jean, ça fonctionne très bien,

mais, comment on fait avec plusieurs listes ?

Attachments:
  1. 4L

    4L.tiff

March 12, 2013 at 19:21 #4285
Profile photo of Jean
Jean

de la même manière: la méthode précédente marche quelle que soit le nombre de liste au départ (mat-trans se charge de tout)

[en revanche sur le patch attaché la boite ‘<‘ n’est pas mise comme il faut en mode lambda!]

March 12, 2013 at 21:17 #4287
Ruben SOTO KEMP
Ruben SOTO KEMP

ok, j’ai tout compris.

En effet il faut éliminer une valeur de la liste d’attaques qui commence à 0.

merci Jean.

Attachments:
  1. filter-amp-et-all

    filter-amp-et-all.tiff

March 12, 2013 at 22:02 #4288

You must be logged in to reply to this topic.

Log in now