Jump to content

opmo

Administrators
  • Posts

    2,894
  • Joined

  • Last visited

Everything posted by opmo

  1. The new name is length-to-tempo - for some time
  2. Predefined functions can't be changed otherwise you would break the system. The binary-invert is sub function of binary-variant. (binary-variant '(0 1 1 0 1 0 1 1) 'i) => (1 0 0 1 0 1 0 0)
  3. (defun binary-filter (alist bin-list &key (omn t)) (let ((event-list (cond ((omn-formp alist) (single-events alist)) (t alist)))) (flatten (loop for i in event-list for j in bin-list when (= j 1) collect i else append (maybe-omn-decode omn (cond ((omn-formp i) (list (length-invert (car i)))) ((lengthp i) (neg! (omn :length (list i)))))))))) (binary-filter '(q c4 mf d4 e4 e f4 ppp g4 a4 b4) '(1 0 1 1 0 1 1)) => (q c4 mf -q q e4 mf e f4 ppp -e e a4 ppp e b4 ppp) Only one type of parameters can be decoded at a time.
  4. Please go to the Opusmodus Extension folder and remove the function 'double' form the 'Source Code.opmo'. This should fix the problem. If you get massage like: > Error: The function double is predefined by Opusmodus. it means you are using a function name (your own) which is already part of the Opusmodus System.
  5. With the next release. I wonder if the result should remove the repeats of single notes: (filter-repeat 1 '(a4 gs4 a4 gs4 a4 fs4 gs4 g5 bb5 g5 g5 g5 gs4 a4 gs4) :seq 2) => (a4 gs4 a4 fs4 gs4 g5 bb5 g5 gs4 a4 gs4)
  6. Filter with sequence option: (filter-repeat 1 '(a4 gs4 a4 gs4 a4 fs4 gs4 g5 bb5 g5 g5 g5 gs4 a4 gs4) :seq 2) => (a4 gs4 a4 fs4 gs4 g5 bb5 g5 g5 g5 gs4 a4 gs4) (filter-repeat 1 '(a4 gs4 a4 gs4 a4 fs4 gs4 g5 bb5 g5 g5 g5 gs4 a4 gs4)) => (a4 gs4 a4 gs4 a4 fs4 gs4 g5 bb5 g5 gs4 a4 gs4) Is this what you are looking for ?
  7. Few more function which could be useful for you (part of the system): (contain-itemp 'inv '(c 7b9s11 inv 1 chord)) => t (contain-itemp '= '(e f d s)) => nil (contain-itemsp '(9 8) '(0 1 11 8 10 9)) => t (contain-sequencep '(11 8) '(0 1 11 8 10 9)) => t JP
  8. Is this what you are looking for: (defun nand (&rest rest) (flet ((every-truep (x) (equal x t))) (not (every #'every-truep rest)))) (nand t t) => nil (nand t t t t nil t) => t (nand nil t t t nil t) => t
  9. Could you explain more what you mean with seq-curve, low and high. Example could help or simply add the functionality to the function.
  10. Good one. I will add it to the system soon. Thank you Andre
  11. example please with input and output and the difference. :-)
  12. Yes, we should have function like that.
  13. Will have look, thank you Andre.
  14. This is quite simple to do, just use the pathname (string) to your midi file: (live-coding-midi "~/Opusmodus/Media/MIDI/Handel/handel.mid")
  15. Works here: (defun tmap (tonality) (tonality-map `(,tonality :root b3 :map step) (make-scale 'c4 12))) (tmap (pcs '3-2)) => (b3 c4 d4 b4 c5 d5 b5 c6 d6 b6 c7 d7) added 3 minutes later If you are getting an error you need to provide the expression otherwise I can't help.
  16. You can use the :span :pitch option if the master is the pitch: Example: (make-omn :pitch (tonality-map '(messiaen-mode5 :map step :root 'c4) sort-seq) :length '(t) :span :pitch) (make-omn :pitch (loop for i in sort-seq collect (nth i sieve)) :length '(t) :span :pitch)
  17. A new spectra map is added to TONALITY-MAP. - ver. 1.2.23287 (tonality-map '((c4g4e5b5d6 :closest up :map spectra) (g3d4b5f5a4 :closest up :map spectra)) '((h c4f5 cs4fs5) (h d4g5 cs4gs5) (h eb4as5 f4a5) (h e4gs5 c4gs5))) => ((h c4e5 c4e5) (h d4f5 d4b5) (h c4b5 g4b5) (h d4b5 d4b5))
  18. I will make some changes to the TONALITY-MAP which will allow us to use scales lager then an octave.
  19. There is an internal function which expand any scale (a sequence) to a total octaves span with ambitus from -60 to 67. I will make a document for it.
  20. Could you give me an example of the input and output - maybe few :-)
  21. Clash – klirrendes Aufeinanderprallen verschiedener Materialien, die Kollision unterschiedlicher Welten. Jannik Giger kombiniert live gespielte und vorproduzierte Musik, jazzige Klänge mit Akkorden aus Morton Feldmans zweitem Streichquartett konfrontiert mit einer Videoarbeit. Mit dem Kompositionsauftrag an André Meier stellt das Ensemble Phoenix Gigers «Clash» ein Werk eines weiteren jungen Schweizer Komponisten entgegen. In besonderer Weise sind die Komponisten Alfred Knüsel und Thomas Lauck mit Daniel Buess verbunden. Der «Clash» ist hier eher im Sinne von intensiver Auseinandersetzung und einer ganz besonderen Suche nach Klang zu verstehen. Im Andenken an den vor zwei Jahren unter tragischen Umständen verstorbenen Basler Schlagzeuger Daniel Buess widmet ihm das Ensemble Phoenix dieses Konzert. Alfred Knüsel: Intarsie - an Daniel (UA) André Meier: Modular Form (UA) Thomas Lauck: Oktett für den Musiker mit seinem Tamburin (UA) Jannik Giger: Clash I und II Ensemble Phoenix Basel Jürg Henneberger, Leitung und Klavier Konzert vom 15.04.18, Gare du Nord Basel https://www.srf.ch/sendungen/neue-musik-im-konzert/clash-im-andenken-an-daniel-buess
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy