Group Admins

  • Profile picture of Karim
  • Profile picture of Jean

OpenMusic

Public Group active 3 days, 22 hours ago

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

ties a note sequence…

Author 3 Subscribed Users |
Profile photo of sdistefano
sdistefano

Hi
I have a list of notes

OM => ((0) (0) (0) (0) (0) (6300) (0) (0) (0) (6500) (0) (6400) (0))
or
OM => (-1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1) ( only for the rhythms)

I will have a melody ( in voice or in chord-seq) with ties between the pitches ( ties = (0) in first list, or -1 in second list)
Can you help me ? Thanks !
Sorry for my English i prefer write in French…
Salvo

Bonjour à tous, je souhaite reconstituer une mélodie sur voice ou chord-seq en partant de la liste des pitch en respectant le rythme , les (0) représentent une continuation de la note précédente.
Dans la liste des -1 et 1 le 1 veut dire nouvelle note, le -1 veut dire “prolonger note précédente…”
Quelq’un sais m’aider ?
Bye salvo
Merci !!

March 11, 2018 at 18:50 #25865
Profile photo of Karim
Karim

Bonsoir,

Je vois deja un probleme dans la formulation de votre probleme :

Si on considere -1 comme des notes tenues, comment avoir une note tenue a partir d’un silence…
Votre liste d’ailleurs commence ainsi : (-1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1)

Tout cela pour dire que dans OM la structure des arbres rythmiques prevoit ctrois categories :
note exprimee : 1
note liee : 1.0
silence : -1

Je vous suggere donc de revoir votre strategie a partir de ces conventions. Le probleme sera aise;ent resolu.
Sinon, pas besoin pour mettre des (0) pour les silences et notes tenues. Voice calcul automatiquement les occucerences des rythmes et notes liees.

Aussi, notez que dans chord-seq il n’y a pas de notion silence ni notes liees.

Best
K

March 12, 2018 at 00:24 #25866
Profile photo of sdistefano
sdistefano

Bonsoir à tous,
merci bcp Karim pour ta réponse,

c’est bien vrai que cette convention n’est pas adaptée mais la conséquence d’un OM Loop que je n’ai réussi à gérer comme je voulais … (ci-joint).

A la lumière de tes conseils à chaque itération idéalement je devrais tester les données d’entrée de la liste un par un et

– Si pitch est retenu va dans le cumul,
– Si l’élément de la liste n’est pas retenu, j’aimerais bien répéter dans le cumul la dernière valeur déjà cumulée de l’itération précédente (N-1) , mieux avec un .0 (déjà prête pour voice)

A la fin, à la place de la note non retenue, de ce fait ceci aura pour effet ( si j’y arrive) de prolonger le son précédemment cumulé.

Quels seraient les fonctions plus adaptées pour ce type dep pb ?

merci encore, A bien tôt j’espère !
Salvo

Attachments:
  1. test

    test.tiff

  2. test

    test.tiff

March 13, 2018 at 00:13 #25875
Profile photo of Karim
Karim

Bonsoir Salvo,

Mais desole je n’ai pas bien compris. Peut-etre en reformulant ce que tu veux faire (tu peux deja oublier le omloop pour l’instant), sur le plan musical on pourrait faire simple et efficace. A mon avis, il ne faut jamais confondre probleme musical avec celui de la programation car on fini par tout melanger.

Amities
K

March 13, 2018 at 03:18 #25882
Profile photo of Frank GRATKOWSKI
Frank GRATKOWSKI

Hello,

I have a problem programming a function with following behavior.

(1 2 3 4 5) should return ((1 2) (2 3) (3 4) (4 5)).

I tried like this:

(defun my-grouping (x)
(cond ((equal 1 (length x)) nil)
(t (cons (list (first x) (second x)) x) (my-grouping (rest x)))))

but it doesn’t work at al. I think I need a variable but I don’t know how.

Can anybody help ?

thanks

Frank

March 13, 2018 at 19:01 #25887
Profile photo of Karim
Karim

Try this

(defun my-grouping (x)
(let ((y (cdr x)))
(mapcar ‘list x y)))

Best
K

March 13, 2018 at 19:07 #25888

You must be logged in to reply to this topic.

Log in now