Re: [Audacity-nyquist] Sommertage EP (Effects Plugins) Side A
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: David R. S. <dav...@sh...> - 2008-11-26 23:39:32
|
Hi "Palm Trees", Could you re-send these plugs as attachments - my email reader word wraps long lines and I don't want to take the time to sort commands from comment lines. Hopefully my Windows computer is returning soon so I can start Nyquexperimenting again! Thanks - David -- David R. Sky http://www.shellworld.net/~davidsky/ On Wed, 26 Nov 2008, Palm Trees wrote: > Palm Trees is proud to announce the fruit of its summer labors, the > Sommertage EP. The 5 effects are: a random chord generator (okay, not > really an effect), which we expect to be useful to a certain kind of > composer; a derivator, which resembles a high pass filter, an integrator, > which does the opposite of the derivator, of course, an inner clip, which > functions somewhat like a gate, and rubber walls, which allow for a certain > kind of intentional clipping. The derivator and integrator run slow, > hopefully in the future we'll come out with an LP (LADSPA Plugins) to > addresss this issue. > > -- Palm Trees (www.myspace.com/theladsofcollegearea) > > Plugins are enclosed. > Here they are: > --------------------------------- > (chordgen.ny) > -------------------- > ;nyquist plug-in > ;version 1 > ;type generate > ;name "Random Chord Generation" > ;action "Generating chord..." > ;info "Author: Palm Trees (Daniel k. and James b.) > pal...@gm...\n\nGPL Jul 2008\n > ;control number "Number of tones" int "" 3 1 127 > ;control arp "Arpeggiation delay length" real "seconds" 0.5 0.0 2.0 > ;control randnumber "Randomize number of tones" int "0=square 1=randomized" > 0 0 1 > ;control root "Starting root" int "-1 disables" 60 -1 127 > ;control upper "Upper MIDI note number limit" int "" 127 0 127 > ;control lower "Lower MIDI note number limit" int "" 0 0 127 > ;Release note: > ;We hope you enjoy this compositional tool / nasty pluck generator. > ;All of the controls do something except "Arpeggiation". In future > ;versions we might change that so it spreads the notes out in an > ;arpeggio. MIDI doesn't work in Linux, but sort of does in Windows. > ;We apologize for any n00bishness in programming. Someone with more > ;experience can correct us. > (defun round (x) (truncate (+ 0.5 x))) > (defun midinote (seq time dur voice pitch vel) > (setf time (round (* time 1000))) > (setf dur (round (* dur 1000))) > (setf pitch (round pitch)) > (setf vel (round vel)) > (seq-insert-note seq time 0 (1+ voice) pitch dur vel)) > (defun notename (midinum) > (if (= (rem midinum 12) 0) (format nil "C") > (if (= (rem midinum 12) 1) (format nil "C#/Db") > (if (= (rem midinum 12) 2) (format nil "D") > (if (= (rem midinum 12) 3) (format nil "D#/Eb") > (if (= (rem midinum 12) 4) (format nil "E") > (if (= (rem midinum 12) 5) (format nil "F") > (if (= (rem midinum 12) 6) (format nil "F#/Gb") > (if (= (rem midinum 12) 7) (format nil "G") > (if (= (rem midinum 12) 8) (format nil "G#/Ab") > (if (= (rem midinum 12) 9) (format nil "A") > (if (= (rem midinum 12) 10) (format nil "A#/Bb") > (if (= (rem midinum 12) 11) (format nil > "B")))))))))))))) > (defun readall (instream) > (setf outstring (format nil "~%")) > (loop > (setf q (read-line instream)) > ; (print q) > (if (not q) (return outstring)) > (setf outstring (strcat outstring q (format nil "~%")))) > ) > > ;;(setf *seq* (seq-create)) > (setq logfile (open "chordgenlog.txt" :input)) > (print "ccheck1") > (setf outlog (readall logfile)) > (print (format nil "root = ~a" root)) > ;(print "ccheck2") > (setf outlog (strcat outlog (format nil "root = ~a~%" root))) > (print "ccheck3") > (print (format nil "~a~a" (notename root) (/ root 12))) > (setf outlog (strcat outlog (format nil "~a~a~%" (notename root) (/ root > 12)))) > (if (not (= root -1)) (setf s (pluck root)) > (print "no root")) > ;;(if (not (= root -1)) (midinote *seq* 0.0 1.0 (random 128) root (round (/ > ;; 127 number))) > ;; ()) > (setf num 1) > (setf var1 0) > ;;(setf midi-file (open-binary "chordgen.midi" :direction :output)) > (print "newrun") > (setf outlog (strcat outlog (format nil "newrun~%"))) > > (if (= 1 randnumber) > (setf number (random randnumber)) > ()) > (while (< num number) > (setf num (+ num 1)) > (setf var1 (+ lower (random (- upper lower)))) > ;; (midinote *seq* (* num arp) 1.0 (random 128) var1 (round (/ 127 > ;;number))) > (print (format nil "var1 = ~a" var1)) > (setf outlog (strcat outlog (format nil "var1 = ~a~%" var1))) > (print (format nil "~a~a" (notename var1) (/ var1 12))) > (setf outlog (strcat outlog (format nil "~a~a~%" (notename var1) (/ > var1 12)))) > ; (setf s (seq (s-rest (* num arp)) s)) > (setf s (snd-add (pluck var1) s))) > (setf var1 (+ lower (random (- upper lower)))) > (print (format nil "var1 = ~a" var1)) > (setf outlog (strcat outlog (format nil "var1 = ~a~%" var1))) > (print (format nil "~a~a" (notename var1) (/ var1 12))) > (setf outlog (strcat outlog (format nil "~a~a~%" (notename var1) (/ > var1 12)))) > ;(setf s (seq (s-rest (* num arp)) s)) > ;;(midinote *seq* (* num arp) 1.0 (random 128) var1 (round (/ 127 > ;;number))) > ;(print "check") > ;(seq-write-smf *seq* midi-file) > ;(print "check2") > ; In Linux, MIDI (especially (close midi-file)) seems to crash Audacity > ; (we tried 1.2.3 on SuSE 10.0). However, in Windows (XP), it's > ; functional (sort of... the arpeggiator is a little off but you do > ; get notes). To restore MIDI functionality under Windows, uncomment > ; all the doubly commented lines (;;). > ;;(close midi-file) > ;(print "check3") > (close logfile) > (setf logfile (open "chordgenlog.txt" :direction :output)) > (print (format logfile outlog)) > (close logfile) > (snd-add (pluck var1) s) > ------------------------------------------------------------------------- > |