Jump to content

JulioHerrlein

Members
  • Posts

    822
  • Joined

  • Last visited

Everything posted by JulioHerrlein

  1. Thanks. It have to be constrained in one octave. I´ll remember to put modus before any octave independent use of tone-row.
  2. Is this a wrong use ? (twelve-tonep '(c3 eb3 d3 f3 e3 g3 fs3 a3 gs3 b3 bb3 cs4)) why ?
  3. Dear Janusz, Just for testing. When the octave changes, the function give wrong result. I´m doing a workaround putting before an (ambitus-octave c4 1 Best, Julio Maybe it´s better to embed the ambitus constraint in the function or something similar in order to get right results in any octave. Since the concept of "pitch class" is octave independent...
  4. Dear Stéphane and Tom I did some edits in the Stéphane´s code. Some functions had names changed. Hope it can help. Best, Julio ;;;--------------------------------------------------------- ;;; Parameters ;;;--------------------------------------------------------- (setf size 8) (setf bars (gen-repeat size '(4/4))) (setf pause (length-span bars '(-q))) (setf ph1.size 8) (setf bars (gen-repeat size '(4/4))) (setf pause (length-span bars '(-q))) (setf mode1 '(dorian :root d4)) (setf ph1.pitch (filter-repeat 1 (tonality-map mode1 (integer-to-pitch (vector-round 0 16 (vector-smooth 0.36 (gen-white-noise 256 :seed 772))))))) (setf ph1.len (euclidean-rhythm (gen-repeat ph1.size '(9)) 1 5 1/8 :seed 93)) ; :binary-to-length t) ; :len-val 'e ; )) ;; Antécédent (setf ph1.omn (make-omn :pitch ph1.pitch :length ph1.len )) ;; Conséquent (setf ph1b.omn (ambitus '(0 16) (tonality-map mode1 (pitch-variant ph1.omn :variant 'i)))) (setf ph1 (assemble-seq ph1.omn ph1b.omn)) ;; Tintinabuli ;; V1 (setf tint1a.pitchlist '(c4 e4 g4)) (setf tint1a.pitch (rnd-sample (* ph1.size 4) tint1a.pitchlist)) (setf tint1a.len (euclidean-rhythm (gen-repeat (length ph1) '(9)) 1 2 1/8 :seed 103)) ; :binary-to-length t ; :len-val 'e ; )) (setf tint1a.omn (filter-tie (tonality-map mode1 (make-omn :pitch tint1a.pitch :length tint1a.len )))) (setf tint1a tint1a.omn) ;; V2 (setf tint1b.pitchlist '(c3 e3 g3)) (setf tint1b.pitch (rnd-sample (* ph1.size 4) tint1b.pitchlist)) (setf tint1b.len (euclidean-rhythm (gen-repeat (length ph1) '(9)) 1 2 1/8 :seed 19)) ; 1/8)) ; :binary-to-length t ; :len-val 'e ; )) (setf tint1b.omn (filter-tie (tonality-map mode1 (make-omn :pitch tint1b.pitch :length tint1b.len )))) (setf tint1b tint1b.omn) ;; V3 (setf tint1c.pitchlist '(c2 e2 g2 c3)) (setf tint1c.pitch (rnd-sample (* ph1.size 4) tint1c.pitchlist)) (setf tint1c.len (euclidean-rhythm (gen-repeat (length ph1) '(9)) 1 2 1/8 :seed 17662)) ; :binary-to-length t ; :len-val 'e ; )) (setf tint1c.omn (filter-tie (tonality-map mode1 (make-omn :pitch tint1c.pitch :length tint1c.len )))) (setf tint1c tint1c.omn) (setf v1 ph1) (setf v2 tint1a) (setf v3 tint1b) (setf v4 tint1c) ;;;--------------------------------------------------------- ;;; Score and Layout ;;;--------------------------------------------------------- (ps 'gm :sq (list (pitch-transpose 0 (ambitus 'violin v1)) (pitch-transpose 0 (ambitus 'violin v2)) (pitch-transpose 0 (ambitus 'viola v3)) (pitch-transpose 0 (ambitus 'cello v4)) ) :key-signature 'atonal :tempo 90 :flexible-clef nil :rewrite-lengths nil :accidentals :cautionary :merge-rests nil )
  5. Dear Tom, Maybe it would be easier if you specify what kind of "rule" you imagine to implement the sequences. After that you could imagine many different ways to put this in movement, like randomizing the notes of the lines, shuffling the lines in a more specific way. And how would be the rhythmic and texture treatment ? And the instrumentation / voice layers ? Best !
  6. Dear Friends, I was revisiting some 12-tone theory today and I found something strange: This returns NIL (twelve-tonep '(c3 eb3 d3 f3 e3 g3 fs3 a3 gs3 b3 bb3 cs4)) but this returns TRUE (twelve-tonep '(c4 eb4 d4 f4 e4 g4 fs4 a4 gs4 b4 bb4 cs4)) It´s the SAME tone-row NIL for this (twelve-tonep (pitch-transpose -12 '(c4 eb4 d4 f4 e4 g4 fs4 a4 gs4 b4 bb4 cs4))) TRUE for this (twelve-tonep (pitch-transpose 0 '(c4 eb4 d4 f4 e4 g4 fs4 a4 gs4 b4 bb4 cs4))) Maybe the algorithm to find the row is based in the c4 octave... I don´t know... Best
  7. Thanks a lot, Janusz ! (get-bars-beats) would be useful and easier ! Best ! Julio
  8. This is a suggestion for a function like get-bars-beats to be used in conjunction with get-beats ;;;This is an idea to get all the bars and beats from an OMN expression to be used/edited with GEN-BEATS (progn (setf omn-idea (gen-repeat 5 '((q b4 p<f tie+long) (q b4 s d5 mf ord g5 ord c5 ord e. a5 ord s b5 ord e5 ord fs5 ord d5 ord e g5 stacc c5 stacc a5 stacc - b5 stacc q e5 ord) (q gb4 p<f tie+long) (q gb4 s fs5 mf ord cs5 ord gs5 ord e. f5 ord s eb5 ord bb5 ord c5 ord fs5 ord e cs5 stacc gs5 stacc f5 stacc - eb5 stacc q bb5 ord) (q as4 p<f tie+long)))) (setf all-bars (cdr (gen-divide 2 (flatten (matrix-transpose (list (gen-divide 1 (gen-repeat (get-count (get-count omn-idea)) '(1))) (gen-divide 1 (gen-integer (get-count (get-count omn-idea)))))))))) (setf beats-zerobase (loop for i in (find-everyother 3 (flatten (get-time-signature (gen-divide 1 (get-span omn-idea))))) collect (gen-integer i))) (setf all-beats (gen-divide (get-count beats-zerobase) (loop for i in (flatten beats-zerobase) collect (+ 1 i)))) (setf all-bars-n-beats (matrix-transpose (list all-bars all-beats))) ) The result is this (((1 1) (1 2)) ((1 2) (1 2 3 4 5 6 7 8)) ((1 3) (1 2)) ((1 4) (1 2 3 4 5 6 7 8)) ((1 5) (1 2)) ((1 6) (1 2 3 4 5 6 7 8)) ((1 7) (1 2)) ((1 (1 2 3 4 5 6 7 8)) ((1 9) (1 2)) ((1 10) (1 2 3 4 5 6 7 8)) ((1 11) (1 2)) ((1 12) (1 2 3 4 5 6 7 8)) ((1 13) (1 2)) ((1 14) (1 2 3 4 5 6 7 8)) ((1 15) (1 2)) ((1 16) (1 2 3 4 5 6 7 8)) ((1 17) (1 2)) ((1 18) (1 2 3 4 5 6 7 8)) ((1 19) (1 2)) ((1 20) (1 2 3 4 5 6 7 8)) ((1 21) (1 2))) Not yet appropriate to use in GET-BEATS, but close... All this could be made inside one function, to extract, bars and beats in the form of GET-BEATS function. Best, Julio
  9. Dear friends, A LISP question... ;;; Dear Friends, ; LISP question for using with get-beats ;;; voice and bar list ((1 1) (1 2) (1 3) (1 4) (1 5)) ;;; beats ((1 2) (1 2 3 4 5 6 7 8) (1 2) (1 2 3 4 5 6 7 8) (1 2)) ;;; matrix result (matrix-transpose '(((1 1) (1 2) (1 3) (1 4) (1 5)) ((1 2) (1 2 3 4 5 6 7 8) (1 2) (1 2 3 4 5 6 7 8) (1 2)))) ;;; desired result to use in gen-beats ((1 1 (1 2)) (1 2 (1 2 3 4 5 6 7 8)) (1 3 (1 2)) (1 4 (1 2 3 4 5 6 7 8)) (1 5 (1 2))) ;;; how can I achieve the last result in LISP ? That kind of list, like (x x ( y z)) kind of list ? ;;; Best ! Summarizing... How to transform this (((1 1) (1)) ((1 2) (1 3 5 7)) ((1 3) (1)) ((1 4) (1 3 5 7))) into this ((1 1 (1)) ((1 2 (1 3 5 7)) ((1 3 (1)) ((1 4 (1 3 5 7)) How is the name of this type of list ? Best !
  10. Dear friends, Is there a way to use the rnd-beat-order function but specifying a list of beats ? The get-beats is the way in this case ? Or there is such a function like beat-order ? or maybe a space for determining the order inside the rnd-beat-order function ? In negative case, I´ll use the get-beats for doing this. All the best ! Julio
  11. Dear Friends , I have this question regarding Get-Beats Function. All the best ! Julio ;;; THIS WORKS ! (setf omn-forum '((h b4 s d5 mf ord g5 ord c5 ord e. a5 ord s b5 ord e5 ord fs5 ord d5 ord e g5 f stacc c5 stacc a5 stacc - b5 stacc q e5 mf ord)(h bb4 s d5 mf ord gb5 ord c5 ord e. ab5 ord s b5 ord e5 ord fs5 ord d5 ord e g5 f stacc c5 stacc a5 stacc - b5 stacc q eb5 mf ord)) (get-beats '( (1 1 (1 2 4 7 5 8 6 3)) (1 2 (1 2 4 4 4 7 6 3))) omn-forum) ;;; But THIS WON´T WORK - Why ? (setf bts (rnd-unique 8 '(4 7 5 8 3 6 1 2))) (get-beats '( (list 1 1 bts) (1 2 (1 2 4 4 4 7 6 3))) omn-forum)
  12. Thanks, Janusz ! All the best ! The alias is a great idea !
  13. I noticed some differences in the new interface of the workspaces, specially in the way ver 3 deals with the files pinned at the workspace. You can drag your .opmo files onto the workspace from finder but beware of doing it ! The new workspace will create a special folder and the opmo files will be moved to this new workspace folder and no longer appear in a previous workspace. Seems like you can´t share the same .opmo file in two different workspaces. This makes sense but is different from what occurred before. I also deleted a file because I just wanted to remove / unpin it from the workspace, but it ended being removed from hard disk !! So, be careful when reorganizing your new workspaces. I can´t make folders anymore in the workspace (but in the older version, the folders weren´t searchables) . It was difficult to locate something under a folder. Maybe could be interesting to sort the files of the workspace not only in alphabetical order, but also by date of creation / modification. This automatic management of folders and workspaces is very nice but the user must have this behavior in mind while working the files. All the best ! Happy 2023 !
  14. Yes. Sometimes, pdf files are arranged in some way it jumps the lines in a strange way, due to the presence of diferent elements, such as images. It happens in other files, like LIPS tutorials, etc. But probably there is a workaround for the next set of documentation, since it not happens in all the files. All the best ! Thank you.
  15. Dear Friends, In many PDF documentation items I found some trouble when copying it from assistant to composer section. Probably due to line breaking formatting, the code sometimes is copied with incomplete lines mixing with complete lines. When copying this: I get this: (setf omn '(e g6 f stacc e ab5 (omn-replace :length 'q omn) => (q g6 f stacc ab5 mp ten c4 (omn-replace :pitch 'c5 omn) => (e c5 f stacc mp ten mf ten (omn-replace :velocity 'p omn) mp ten e c4 mf ten e cs5 ff)) mf ten cs5 ff) ff) => (e g6 p stacc ab5 ten c4 ten cs5) (omn-replace :articulation 'tasto omn) => (e g6 f tasto ab5 mp tasto c4 mf tasto cs5 ff tasto) with different line breaks. All the best ! Julio
  16. It works with or without SSD. The proper installation, RAM and Virtualization settings are very important. I sent my letter to Santa now !
  17. I use with VMware running Catalina now (before it was the old El Capitan), but looking forward to get rid of all that and use it directly in Windows. Since it´s all Lispworks, I think it will look identical or very similar in Windows. Best !
  18. Opusmodus new version is SO MUCH FASTER !!! It processes the code very fast ! Congratulations ! Best !
  19. Opusmodus new version is SO MUCH FASTER !!! It processes the code very fast ! Congratulations ! Best !
  20. Opusmodus new version is SO MUCH FASTER !!! It processes the code very fast ! Congratulations ! Best !
  21. Marvellous !! Congratulations ! The windows version will be released in 2022 ? Santa Claus is coming to town ! All the best !
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy