FACULTAD DE ARTES Y CIENCIAS MUSICALES
Cetta, Pablo Fundamentos de composición musical asistida en el entorno de programación OpenMusic / Pablo Cetta. - 1a edición especial - Ciudad Autónoma de Buenos Aires : Educa, 2018. 230 p.; 28 x 20 cm. Edición para Fundación Universidad Católica Argentina ISBN 978-987-620-370-8 1. Música. 2. Composición Asistida. I. Título. CDD 780.982
(1 4 7 8 0) (celeste 32 blanco) ((oid mortales) el (grito sagrado))
(aprendo LISP) (A (B C) D)
() NIL NIL
()
(A NIL F)
(A () F)
NIL (A B)
(A B)
car
(uno dos tres)
UNO
cdr
(DOS TRES) cons uno
(dos tres)
(UNO
DOS TRES)
#c\a
+ - * / @ $ % ^ & \ < >
rueda
+ 2 3 4.
(* 5 6)
30
> ( / (+ 3 5) 2) 4
> (1 hola 3) ERROR
T 5 T
NIL
5 T
NIL
(/ 4 2)
(> (* 2 5) 8)
quote > „ (1 2 3) (1 2 3) > (quote (1 2 3)) (1 2 3)
NIL
T
/
second (second (uno dos tres)) UNO
second > (second „(uno dos tres)) DOS
cons > (cons „a nil) (A) > (cons „a „(b c d)) (A B C D) list > (list „a „b „c „d) (A B C D) > (list „a „(b c) „d) (A (B C) D) length > (length „(A (B C) D)) 3
cons a d)‟a)
((B C D) . A) NIL
„(b c d)(cons „a nil))
-(cons „(b c
((B C D) A).
(cons
car
cdr
> (car „(A (B C) D)) A > (cdr „(A (B C) D)) ((B C) D) first
rest
> (first „((A B) c (d e f))) (A B) > (rest „((A B) c (d e f))) (C (D E F)) car cdr > (car (cdr „(1 2 3 4))) 2
> (car (cdr (cdr „(1 2 3 4)))) 3 car
cdr
caar cadr cdar cddr caaar caadr
> (cadr „(1 2 3 4)) 2 > (caddr „(1 2 3 4)) 3
first second third fourth tenth nth
> (third „(1 2 3 4)) 3 > (nth 0 „(1 2 3 4)) 1 > (nth 3 „(1 2 3 4)) 4
last
(last „(1 2 3 4)) (4) > (last „(1 2 3 4 (a b))) ((A B)) butlast
> (butlast „(1 2 3 4)) (1 2 3) > (butlast „(a b c d e) 3) (A B) remove
> (remove 67 „(54 67 38)) (54 38) append > (append „(1 2 3) „(4 5 6)) (1 2 3 4 5 6) revappend
> (revappend „(1 2 3) „(a b c)) (3 2 1 A B C) subst
1 uno
> (subst „uno 1 „(1 (3 4 1) (5 1 2 3 4) 2)) (UNO (3 4 UNO) (5 UNO 2 3 4) 2) union
intersection
set-difference
> (union „(fa sol la do mi) „(do re sol si mi)) (SI FA SOL LA DO MI RE) > (intersection „(fa sol la do mi) „(do re sol si mi)) (MI DO SOL)
> (set-difference „(fa sol la do mi) „(do re sol si mi)) (LA FA)
member NIL
> (member „bach „(mozart beethoven brahms)) NIL > (member „beethoven „(mozart beethoven brahms)) BEETHOVEN BRAHMS
numberp
> (numberp 3.14) T > (numberp "hola") NIL listp integerp
rationalp
floatp zerop
evenp plusp
atom
NIL
= < > <= >= > (> 2 5) NIL =
equalp
oddp minusp
stringp T
equal eq eql
symbolp
equal
> (equal „(a b c) „(a b c)) T eq > (eq „(a b c) „(a b c)) NIL eq
> (eq „nota „nota) T eql
eq
> (eql 4 4.0) NIL equalp
equal
> (equalp 4 4.0) T
if oddp if
> (if (oddp 1) „impar „par) IMPAR
if
„impar
progn
progn
NIL > (if (numberp 5) (progn (print "Se trata de un número") (print "Vamos a sumarle 1") (+ 5 1)) nil) “Se trata de un número” “Vamos a sumarle 1” 6 print
if
when
when
progn
> (when (numberp 5) (print "Se trata de un número") (print "Vamos a sumarle 1") (+ 5 1)) “Se trata de un número” “Vamos a sumarle 1” 6 when
unless
cond
equal
T
> (defun semicorcheas (x) (cond ((equal x „redonda) 16) ((equal x „blanca) 8) ((equal x „negra) 4) ((equal x „corchea) 2) ((equal x „semicorchea) 1) (t “Desconozco a esa figura”))) SEMICORCHEAS > (semicorcheas „negra) 4 > (semicorcheas „verde) "desconozco a esa figura" t
cond
do-mayor
> do-mayor Error: The variable DO-MAYOR is unbound
defvar
defparameter
> (defvar do-mayor „(do re mi fa sol la si)) DO-MAYOR
> do-mayor (DO RE MI FA SOL LA SI)
*re-menor*
let > (let ((compas 5) (sistema 2)) (list compas sistema) ) (5 2) compas
sistema
let let compas
let* frec-la5
sistema
let frec-la4
frec-la5 > (let* ((frec-la4 440) (frec-la5 (* frec-la4 2))) (list „la „frecuencia „de „la5 „es frec-la5 „Hz)) (LA FRECUENCIA DE LA5 ES 880 HZ)
> (defvar *afinacion* 440) *AFINACION* > (setf *afinacion* 435) 435
defun > (defun suma (a b) (+ a b)) SUMA > (suma 4 5) 9
mod mod grado > (defun grado (nmidi) (mod nmidi 12)) GRADO > (grado 71) 11
mod
grado
(grado „(71 29 43 64 75))
grado mapcar > (mapcar #‟grado „(71 29 43 64 75)) (11 5 7 4 3) #‟ quote
first mapcar > (defun extraer-notas-midi (lista)(mapcar #‟first lista)) EXTRAER-NOTAS-MIDI
> (extraer-notas-midi „((71 64 1)(60 64 1)(65 64 1))) (71 60 65)
mapcar
(lambda (n)(* n n)) #
funcall
> (funcall #‟+ 1 3 5) 9
> (funcall #‟(lambda (n)(* n n)) 4) 16
defun
mapcar extraer-notas-midi
> (defun extraer-notas-midi-transp (lista n) (mapcar #‟(lambda (lista)(+ (first lista) n)) lista)) EXTRAER-NOTAS-MIDI-TRANSP > (extraer-notas-midi-transp „((71 64 1)(60 64 1)(65 64 1)) 7) (78 67 72)
first mapcar
extraer-notas-midi-transp
mapcar
> (mapcar #‟+ „(1 2 3) „(10 20 30 40 50)) (11 22 33)
+ - *
/
> (defun aritmetica (funcion a b) (funcall funcion a b)) ARITMETICA > (aritmetica #‟* 2 5) 10 > (aritmetica #‟+ 2 5) 7
diga-unnumero
read let
numero
if
oddp GRACIAS
diga-un-numero > (defun diga-un-numero () (princ "Ingrese un número impar: ") (let ((numero (read))) (if (oddp numero) „Gracias (diga-un-numero)))) Ingrese un número impar: 1 GRACIAS Ingrese un número impar: 2 Ingrese un número impar:
princ
numero princ
(cond ((zerop n) 1) (t (* n (fact (- n 1)))))) FACT > (fact 5) 120
let
> (defun suma (a b)(+ a b )) SUMA > (setf mi-variable #‟suma) # > (funcall mi-variable 6 7) 13
> (defun acorde (i iii v &optional vii) (list i iii v vii)) ACORDE > (acorde „do „mi „sol) (DO MI SOL NIL) > (acorde „do „mi „sol „si) (DO MI SOL SI)
NIL > (defun acorde (i iii v &optional (vii „si)) (list i iii v vii)) ACORDE > (acorde „do „mi „sol) (DO MI SOL SI) > (acorde „do „mi „sol „sib) (DO MI SOL SIB)
> (defun cubo (x) (* x x x))
> (defun mas10 (x) (setf x (+ 10 x)) (list „el „resultado „es x)) MAS10 > (mas 10 9) (EL RESULTADO ES 19) > (defun mas10 (x) (list „el „resultado „es (+ 10 x))) MAS10
if let
vale4 (vale4 x)
quote
> (setf x 4) 4
defmacro > (defmacro vale4 (x) (list „setf x 4)) > VALE4 (list „setf x 4) (setf x 4) (vale4 variable) (setf variable 4)
(list „setf x 4)
„(setf ,x 4) x > (setf mivariable 9) 9 > (defmacro vale4 (x) „(setf ,x 4)) VALE4 > (vale4 mivariable) 4 > mivariable 4
macroexpand-1
> (print (macroexpand-1 „(vale4 x))) (SETF X 4)
do
do
let
do
> (defun armonicos (fundamental n) (do ((x 1 (+ x 1)) ((> x n) „finalizado) (format t “Nro.: ~A Frecuencia: ~A~%” x (* x fundamental)))) ARMONICOS > (armonicos 100 10) Nro.: 1 Frecuencia: 100 Nro.: 2 Frecuencia: 200 Nro.: 3 Frecuencia: 300 Nro.: 4 Frecuencia: 400 Nro.: 5 Frecuencia: 500 Nro.: 6 Frecuencia: 600 Nro.: 7 Frecuencia: 700 Nro.: 8 Frecuencia: 800 Nro.: 9 Frecuencia: 900 Nro.: 10 Frecuencia: 1000 FINALIZADO
x (+ x 1) (> x n)
finalizado
do format
~A
~%
dolist
> (setf secuencia „(71 89 75 60 59 63 72 78)) > (dolist (nota secuencia „finalizado) (if (= (mod nota 12) 0) (format t “Octava: ~A~%” (truncate (/ nota 12))))) Octava: 5 Octava: 6 FINALIZADO
dolist
dolist
mapcar
> (setf secuencia „(71 89 75 60 59 63 72 78)) > (mapcar #‟ (lambda (nota) (if (= (mod nota 12) 0) (truncate (/ nota 12)))) secuencia) (NIL NIL NIL 5 NIL NIL 6 NIL) dolist
> (let ((resultado nil)) (dolist (nota secuencia (reverse resultado)) (if (= (mod nota 12) 0) (push (truncate (/ nota 12)) resultado)))) (5 6) push
resultado let
dolist
resultado
push
return
> (dolist (nota secuencia) (if (= (mod nota 12) 0) (progn (format t “Octava: ~A~%” (truncate (/ nota 12))) (return "Salgo del bucle")))) Octava: 5 "Salgo del bucle"
dotimes > (dotimes (x El valor de x El valor de x El valor de x El valor de x El valor de x FIN
5 „fin) (format t "El valor de x es ~A ~%" x)) es 0 es 1 es 2 es 3 es 4
loop
loop
loop from
to
do initially finally
with let for and
collect append sum
as
repeat
count
minimize
maximize
i
for
> (loop for i from 1 to 5 collect (* i i)) (1 4 9 16 25)
downto upto downfrom upfrom
> (loop for i from 3 downto 1 do (print i)) 3 2 1 NIL
> (loop for i downfrom 3 to 1 do (print i)) 3 2 1 NIL
by
> (loop for i from 1 upto 3 do (print i)) 3 2 1 NIL
> (loop for i upfrom 1 to 3 do (print i)) 3 2 1 NIL by > (loop for i upfrom 0 to 7 by 3 do (print i)) 0 3 6 NIL i > (loop for i from 0 to 10 sum i) 55
> (loop for i from 0 to 10 count i) 11
for
as
repeat
while until always never
nil
thereis nil
nil
never never
chord
chord
chord
chord
+
* / 1+ 1sqrt expt log truncate round ceiling abs min max mod numerator denominator rational sin cos
*
> (* 440 (expt 2 (/ (- 72 69) 12))) 523.2511
T
evenp oddp numberp symbolp listp atom plusp minusp zerop floatp rationalp endp tree-equal = /= > < >= <=
tree-equal
> (< 2 4 8) T
> (< 2 8 4) NIL
nil
random
random
print
> (= (print (random 10)) 5) 9 NIL
first second third nth rest nthcdr butlast reverse length list remove cons append apply funcall mapcar
nthcdr apply
mapcan
nthcdr
cdr
cdr
(a b c)
(b c)
> (nthcdr 2 „(a b c)) (C)
apply
mapcan
funcall
> (apply „+ „(1 2)) 3 mapcan
mapcar mapcan
> (mapcan #„list „(0 2 4) „(do re mi)) (0 DO 2 RE 4 MI)
(c)
last-elem last-n
first-n x-append
(do mi fa re do)
create—list (re fa)
((re fa) (re fa) (re fa)) expand-lst
(3* (re fa))
(re fa re fa re fa) create—list
0_5) (0 1 2 3 4 5) (0_10s2), (0 2 4 6 8 10)
((a1 a2 a3)(b1 b2 b3)(c1 c2 c3)) mat-trans ((a1 b1 c1)(a2 b2 c2)(a3 b3 c3))
group-list (do re mi fa sol) 3)
((do re)(mi fa sol))
(2
((do re) (mi) (fa sol)) ((do re) (mi) (fa sol do))
subsposn
interlock
(261.6 311.1 391.9) 349.2 391.9)
list-modulo
(261.6 293.6 329.6
(0 2 4 6 8 10) (1 3 5 7 9 11)
OM => ((0 3 6 9) (1 4 7 10) (2 5 8 11)) OM => ((0 4 8) (1 5 9) (2 6 10) (3 7 11)) list-explode
(0 4 7 11 2 6 9 1) 1)) list-filter
((0 4 7 11) (2 6 9
table-filter bandfilter
range-filter
((1 5 9))
((0 4 8) (2 6 10))
band-filter
(0 5) y (9 11) (8 0 4 7 5 11) (0 4 5 11)
band-filter ((0 4) (5 11)) range-filter
(8 0 7 5 11) remove-dup posn-match
posn-match
flat
flat
band-filter
chord
band-filter
om^ om-abs om-max
om-e om-min
om-min
om-max mean
om-round
3.64 (2.1 5.8 7.23)
4 (2 6 7)
7.23),
1
(2.18 5.83 (2.2 5.8
7.2)
log
om-scale
(1 2 3 4 5)
(100 125 150 175 200). Om-scale/sum
(1 2 3)
12 (2 4 6),
reduce-tree
reduce list (1 5)
(2 (1
5))
(3 (2 (1 5))) (4 (3 (2 (1 5)))) om//
factorize ((2 3)(3 1)(5 1))
interpolation
(1 2 3) (10 10 10)
OM => ((1.0 2.0 3.0) (3.25 4.0 4.75) (5.5 6.0 6.5) (7.75 8.0 8.25) (10.0 10.0 10.0))
om-random perturbation,
(* n (+ 1(om-random (- percent)(float percent))))
(* 10 (+ 1(om-random (- 1)(1.0))))
(10 20 30)
OM => (10.367278 21.712477 29.556574)
expand-lst
(0_15)
chord chord-seq
chord-seq
sort-list
rotate
nth-random permut-random permutations
posn-order
(4 3 2 1 0)
chord-seq
permutations
chord-seq nth-random repeat-n
flat chord-seq
arithm-ser
geometricser arithm-ser
(0 5 10 15 20 25 30)
(1 3 9 27).
√
√ fibo-ser
√
(0 1 1 2 3 5 8 13 21 34 55)
inharm-ser
OM => (100.0 186.6066 268.78754 348.2202 425.66995)
prime-ser
OM => (1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79) prime?
x->dx
dx->x
dx->x (6000 6100 6500 6800)
chord-seq
x-union x-intersect x-or x-diff x-union: x-intersect:
x-or:
x-diff:
included?:
included?
x-or
x->dx x->x
bpf
bpf
bpf
bpf
bpc
bpc
bpf-lib bpf
list
bpf-lib
bpc-lib
bpf-lib
bpc-lib
bpf
bpc
point-pairs
om-sample
bpf
om-sample (0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0).
bpf
bpc
bpf x-transfer
y-transfer x-transfer
bpf
bpc
om-spline
bpf
bpf
bpc
om-spline
linear-fun
linear-fun
om-sample bpf bpf-offset bpf
bpf
bpf-crossfade bpf
bpf-interpol
bpf-interpol
bpf-lib bpf-extract
bpf
bpf-extract
3d
3d 3d-lib 3d-interpol
3d-lib
3d-sample
3d-lib
bpf
chord om-sample
chord-seq (0 300)
chord-seq chord
flat x->dx
dx->x
bpf
class-array
class-array
class-array
om-random
om-random
bpf
chord-seq
get-chords
class-array
new-comp
add-comp get-comp
remove-comp
new-comp add-comp
remove-comp
comp-list
comp-field comp-
list get-comp
(3 1.0 1.0) (5 7.0
3.0)
comp-list
comp-field
class-array
chord-seq
chord-seq
multi-seq
multi-seq
OM< OM> OM<= OM>= OM=
OM/=
t
omif
omif
omif
om-random
om> omif
omif
t
nil
omif
conditional
omif
nil
conditional
chord 34
list-min
length first
conditional omif “La cantidad de notas es menor a 10” conditional,
omand and
nil
or
omor omand
nil
> (and 1 nil 3) NIL > (and 1 2 3) 3 omor nil nil > (or 1 2 3) 1 > (or nil nil 3) 3 > (or nil nil nil) NIL omand
omand
t
nil omand
omor
t
nil
omand
omand t
omand
omor
omor
t sequence
t
nil
nil nil
t nil
null
nil
nil nil not
nil
equal
omloop
t
nil
t
forloop
forloop
whileloop
numberp listloop (a b (1 2 3) c)
onlistloop
cdr (a b c d)
cdr cddr
cdr
count
listloop
sum listloop
min / max listloop
cdr
collect
collect nil acum
initdo
omloop
eachtime finally
omloop omloop
omloop
Omloop
omloop listloop list collect OM => ((5 fa) (4 mi) (3 mib) (2 re) (1 reb))
omloop
collect eachtime nil
finally
collect
forloop
omloop
forloop listloop
omloop
OM => (1 2 3 4 5)
whileloop
om/=
/=
omloop
omloop OM => (1 2 3)
omloop
sum
fibo-ser eachtime
sum
print
OM > 0 1 2 4 7 12 20 33 OM => 33 repeat-n
omloop
om-random omloop listloop
finally
min
max eachTime
omloop
onlistloop cdr
chord
omloop
chord
chord
omloop
flat
omloop
omloop onlistloop OM > (69 67 62 67 60 65 62) OM > (67 62 67 60 65 62) OM > (62 67 60 65 62) OM > (67 60 65 62) OM > (60 65 62) OM > (65 62) OM > (62) OM => (6900 6700 6200 6700 6000 6500 6200 6700 6200 6700 6000 6500 6200 6200 6700 6000 6500 6200 6700 6000 6500 6200 6000 6500 6200 6500 6200 6200)
numberp t
count
nil
omloop
accum
forloop
omloop
OM > 2 OM > 4 OM > 8 OM > 16 OM => 16
accum
sum
omif
omif t
omif sum
print OM > 1 OM > 3 OM > 5 OM > 9 OM > 12 OM => 12
omloop
repeat-n.
nth-random repeat-n
dx->x
repeat-n bpf
count
forloop
note chord chord-seq multi-seq voice poly voice multi-seq
chord-seq
voice
multi-seq
poly
chord-seq
poly
note
chord
note
note
chord-seq
chord
chord
chord-seq
(0 1000)
voice
chord
chord-seq
voice
a) ( ? ( ( 4//4 (1 1 1 1) ) ) ) b) ( ? ( ( (4 4) (1 1 1 1) ) ) )
(? ( (4//4 (1 1 1)) (4//4 ( 1 1 1 1 1)) ) )
( ? ( ( 4//4
(1 1 (1 (1 1)) 1) ) ) )
(? ( (4//4 ( 1 (1 (1 1)) 1 (1 (1 1 1 1)) ))))
voice
multi-seq
poly
multi-seq
chord-seq chord-seq multi-seq
multi-seq
chord-seq
multi-seq
poly
voice voice
poly
poly
voice
voice
chord-seq
omquantify
chord-seq flat
omquantify
voice chord-seq
omquantify
-
((4 4)(2 8)(3 4))
-
-
-
-
(! 4)
(4 4).
omquantify
object-dur true-durations
align-chord
chord-seq
concat
get-chords voice chord-seq poly
multi-seq
chord-seq
get-chords
get-measures
measure
voice
measure
merger
split-voices
select
select
voice
poly
chord-seq
mktree
multi-seq
mktree
tree2ratio
mktree get-signatures mktree
tree2ratio
tree2ratio
pulsemaker
voice
maketreegroups
get-pulse-places
get-rest-places
n-
pulses
mktree
get-restplaces posn-match
subs-posn
remove-rests
tie-
tree
reducetree
invert-rhythm reversetree
filtertree rotatetree
subst-rhythm
transp_pc
inv_mod12 inversion
var_crom
tree2ratio
chord-seq
flat
omloop
ring_mod mc->f listloop
omabs
append collect
remove-dup
sort
reg-pìano
omif nil
finally nil
remove
fact
apply funcall
mapcar apply
apply
apply
funcall
funcall
funcall
mapcar
factorize
mapcar
mapcar factorize mapcar omloop, mapcar
=> (1 11 22)
mapcar
remove-dups
eq
chord-seq flat
t
nil
om-random
OM => 6 OM => 10 OM => 8
OM => 5 OM => 5 OM => 5
chord chord-seq
repeat-n om-random
OM => (3 7 9) OM => (4 5 8) OM => (4 10 8)
OM => (6 6 6) OM => (6 6 6) OM => (6 6 6)
OM => (5 5 5) OM => (10 10 10) OM => (2 2 2)
voice
list
permut-random
OM => ((14 12 15 11 13) (-8 -6 -9 -5 -7))
OM => ((14 12 15 13 11) (-6 -8 -5 -7 -9))
chord
chord chord
chord
chord
chord
OM => (6200 6600 6900)
chord
chord-seq
chord-seq
OM => (mayor menor menor mayor mayor menor disminuido)
chord-seq
chord-seq
voice
fragmento
store
mi-variable store
store
midifile
midifile
midifile
midifile
infile
midifile
midifile.
mf-info
infile
mat-trans
mat-trans > (mat-trans „((a1 a2 a3) (b1 b2 b3) (c1 c2 c3)) ((a1 b1 c1) (a2 b2 c2) (a3 b3 c))
leer-midi-ch
chord-seq midifile multi-chord-seq
chord-seq
get-midinotes
first second
get-midi-notes
chord-seq permut-random mf-info
om//
omloop listloop
nth
finally
om-random
omif
save-as-midi
midievent midievent
eventmidi-seq
midievent
:keyon :keyoff :ctrlchange :progchange :chanpress :keypress :pitchbend :lyric :tempo :timesign :keysign :instrname :seqname :copyright
note chord chordseq
voice
eventmidi-seq
get-
midievents
get-midievents. test-date
midievent-types
test-channel
eventmidi-seq
OM => (:ctrlchange :ctrlchange :ctrlchange :ctrlchange)
OM => (0 0 0 0)
OM => (2 2 1 1)
OM => ((10 32) (7 100) (10 96) (7 100))
test-track
test-port
midievent-filter
get-midievents
test-type omor midievent om< omor
om<
get-continuous-ctrl
omand
get-tempomap
get-mf-lyrics
. get-continuous-ctrl
getcontinuous-ctrl
get-continuous-ctrl midicontrol
get-tempomap
tempo-map
get-tempomap
midi-mix-console
midi-mix-console
eventmidi-seq
eventmidi-seq
OM => (55 59)
(in-package :om) om+
in-package :om
group-list
rotate
pc-set
pc-set,
|3-3|
set-azar
cadena
(in-package :om) (defun cadena (pcs cant) (let ((temp nil) (result nil) (ind 0)) (loop for x from 1 to cant do (setf temp (permut-random (pc-set :integer pcs))) (if (nth-random „(t nil)) (setf temp (inv-12 temp))) (push (setf temp ( cdr (transp-pc temp ind))) result) (setf ind (last-elem temp))) (flat (list 0 (reverse result))))) (defun inv-12 (pc-list) (mapcar #‟ (lambda (i)(mod (- 12 i) 12)) pc-list)) (defun transp-pc (pc-list ind) (mapcar #‟ (lambda (i) (mod (+ (- ind (first pc-list)) i) 12)) pc-list))
list-max
position nth
chord-seq
bpf
bpf mapcar
nth
bpfpcs
cadena
chord-seq
obtener estructura árbol
obtener-octava registrar cadena
bpf-pcs
chord-seq
sequence
modulac-pcs
poly
hex-sim-pc
set-difference voice
serie hex
[(1 3 5 7 9 11) (1 3 5 7 9 11)] [(0 2 4 6 8 10) (0 2 4 6 8 10)]
transform
serie comb
bpf
om-sample
chord-seq voice
fracciones
arithm-ser
3dc
reg-espacial
reg-espacial
3dc
circ-xyz aed->xyz
dist-reflex
interpol-ritm seq interpolation
voice poly
voice
cadena
voice
chord-
sdiffile
sdif-
>chord-seq chord-seq
getsdifdata
sdif-amp-freq bpf-lib
chord-seq
chord-seq
chord
s-info
n-info
(|4-Z15| (0 1 4 6) (1 1 1 1 1 1))
s-info
n-info
s-info mapcar
OM => ((|4-13| (0 1 3 6) (1 1 2 0 1 1)) (|3-3| (0 1 4) (1 0 1 1 0 0)))
omloop
n-transform
s-invar (1 B 5 3 9 7)
closed-chains
(((0 9) (1 2 7) (0 5) (3 4 10) (5 8) (3 9 10) (2 9) (0 1 7) (2 5) (0 6 7) (5 10) (3 8 9) (0 9)) ((1 2) (0 7 9) (2 8) (4 7 9) (2 3) (1 8 10) (1 7) (3 6 8) (1 2)))
multiseq omloop
print-partitions
textfile
cm-roman
nil (6 (2 4) nil 8)
nil
(A (2 3) nil 1)
cm-roman
OM => ((10 (2 3) nil 1) ((2 3) nil 1 10) (nil 1 10 (2 3)) (1 10 (2 3) nil)) cm-score poly
cm-type1a
(0 3 A 7 5) OM => ((0 3 10 7 5) (3 6 1 10 8) (10 1 8 5 3) (7 10 5 2 0) (5 8 3 0 10)) cm-type1b
cm-type2
cm-op-cycles
((1 7 A B))
cm-chains
(0 1 2 7 9)
nth
nth cm-chains
cm-rot-diag 1 cm-rot-90 cm-tni
2
cm-swap-rows
cm-swap-columns cm-swap-elem
cm-swap-all
cm-swap-all-seq
first second third
nth
cm-swap-all
cm-invar-position
first second cm-invar-row
cm-invar-column
cm-score cm-norm-print