def-controller

10 views
Skip to first unread message

Ole Schmidt

unread,
Nov 28, 2012, 3:37:49 AM11/28/12
to symbolic...@googlegroups.com
Hi,

I'am fiddeling around with how to integrate controller-data in files.
I've try to compile the def-controller scores and get errors:


[siehe angehängte Datei: Screenshot 2012-11-28 um 09.32.17.jpg] [siehe angehängte Datei: Screenshot 2012-11-28 um 09.32.52.jpg]

I need values on CC2, CC14 and CC7

Can someone provide a working example of how to integrate controller data?

thanks
ole
Screenshot 2012-11-28 um 09.32.17.jpg
Screenshot 2012-11-28 um 09.32.52.jpg

pstone imap

unread,
Nov 28, 2012, 5:08:09 AM11/28/12
to symbolic...@googlegroups.com
Hi, separate error message happens when songname in compile-song is switch 'separate. Use another name.

Peter
> --
> You received this message because you are subscribed to the Google Groups "Symbolic Composer" group.
> To post to this group, send email to symbolic...@googlegroups.com.
> To unsubscribe from this group, send email to symboliccompos...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/symboliccomposer?hl=en.
>
> <Screenshot 2012-11-28 um 09.32.17.jpg><Screenshot 2012-11-28 um 09.32.52.jpg>

ole

unread,
Nov 28, 2012, 5:32:51 AM11/28/12
to symbolic...@googlegroups.com
Hi,

I do not understand what you mean exactly as I do not understand the whole thing :-)

I make a little example of what I want to achieve:

(setq pitches '(l d i -c l d i -c))

(setq rhy '(1/4 -13/4 1/4 -13/4 1/4 -14/4 1/4 -14/4
1/4 -13/4 1/4 -13/4 1/4 -14/4 1/4 -26/4))

;(apply '+ (mapcar 'abs rhy))-->32

(setq controller-values (vector-round 50 100
(gen-sin 1 0.3 32 180)))
;is it possible to assign these values to controller with the CC2 every four quarters?

(def-section a
default


piano1

zone (make-zone rhy)
tonality (activate-tonality (chromatic c 6))
length rhy
symbol pitches
channel 1
velocity '(70)
program 10
;controller 2 ?? how to embed?
)


(play-file "controller-test"

piano1 '(a)

)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

pstone imap

unread,
Nov 28, 2012, 6:57:34 AM11/28/12
to symbolic...@googlegroups.com
Hi, used def-orchestra and define piano1 to consist of piano1-mel piano2-cnt.
Then define piano1-mel normally as instrument, and define piano2-cnt as controller only using same channel as piano1-mel.
This way you can send controllers evenly, and not only at each note on.

use controller set
place required controllers and their values in place

here are some controller instruments

(def-section sect-a
heartcnt
channel 1
symbol '(=)
velocity '(0)
length '(1/16)
controller (mu80-controllers
volume (do-fades 20 65 0)
panning (do-fit -40 40
(gen-sin
(* 2 6 (fibonacci 7))
2
(sheetlen)))
filter (do-fit 0 25
(gen-sin
(* 2 6 (fibonacci 5))
2
(sheetlen))))
voice1cnt
channel 3
symbol '(=)
velocity '(0)
length '(1/16)
controller (mu80-controllers
volume (do-fades 20 55 0 4 6))
.. etc

then compile piano1 - it now compiles both piano1-mel and piano1-cnt tracks since you have defined your orchestra which has piano1 consisting of these two

sorry, I'm busy with a very difficult custom function and cannot focus this right now --- search mu80-controllers and gm-controllers using Locate, there are quite many examples that should get you going

Peter

ole

unread,
Nov 28, 2012, 11:50:45 AM11/28/12
to symbolic...@googlegroups.com
thanks for your hints, if you have time to throw a short glance on what I come up with- seems correct to me so far (I made a new entry "velocity-x-fade" under
Extensions/General MIDI Setup.lisp/ (def-controller-set gm-controllers...):
;;;;;;;;;;;;;;;;;;;;
(setq pitches '(l d i -c l d i -c))

(setq rhy '(1/8 -1/8 13/4 -1/4 13/4 -1/4 14/4 -1/4 14/4
-1/4 13/4 -1/4 13/4 -1/4 14/4 -1/4 26/4))

;(apply '+ (mapcar 'abs rhy))-->32



(def-orchestra 'orchestra
all-instruments '(piano)
piano (pianomusic pianocntrl))


(def-section a
default

zone (make-zone rhy)
tonality (activate-tonality (chromatic c 6))

pianomusic

length rhy
symbol pitches
channel 1
velocity '(70)
program 10

pianocntrl

length '(1/8)
symbol '(=)
channel 1
velocity '(0)
controller (gm-controllers velocity-x-fade (list (vector-round 24 56 (gen-sin 2 0.3 (sheetlen)))))
)

(play-file "controller-test"

pianomusic '(a)
pianocntrl '(a)
)
;;;;;;;;;;;;

pstone imap

unread,
Nov 29, 2012, 1:26:33 AM11/29/12
to symbolic...@googlegroups.com
that's how it works!

sheetlen works also in def-section, not just def-section-timesheet

you can also compile just piano, it compiles both melody and controller

(play-file "controller-test"

piano '(a)
)

I suggest that you make custom midi setup.lisp file, where you can define freely controllers
(def-controller-set gm-controllers2 or some other name

otherwise general midi setup.lisp will overwrite your gm-controllers on update
but if velocity-x-fade and other additions are fully general midi controllers, we can update them in that file
velocity-x-fade sounds the same as main-volume

mu80 controllers are actually extended midi standards, they should be most compatible

Peter
Reply all
Reply to author
Forward
0 new messages