Es soll kein Unterschied zwischen f / f, / f' / f'' gemacht werden.
bool liefert nur dann gleich, wenn auch die Oktave stimmt.
Man könnte eine Funktion vorsetzen, die alle Oktavewerte der Pitches gleich macht. Aber da bin ich wieder mal überfordert...
Noch eine Frage: eine Funktion, die aus einer Liste ls von n Elementen eine Liste macht, die aus Listen besteht, wo von ls jeweils k Elemente weggelassen werden?
Ich weiß gar nicht, wie ich dir danken soll. Ich bin meinem Ziel schon sehr nahe, muss nur noch den Musikoutput hinkriegen (siehe anderer Thread)
Update: hab was gefunden, kann es jetzt aber nicht ausprobieren, da keine Zeit und auf einem Computer. Ich poste den Code hier, damit ich ihn auch wiederfinde

(define (combinations k nlst)
(cond ((zero? k)
'(()))
((null? nlst)
'())
(else
(append (map (lambda (k-1)
(cons (car nlst) k-1))
(combinations (- k 1) (cdr nlst)))
(combinations k (cdr nlst))))))