Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by Jorvd

  1. Hi Stoney, It took some time to look into the issue this morning, but I can't find a clear answer for you as well. It might be the result from an earlier evaluation although I really doubt that since the video was recorded in one take, either way, sublists are the way to go! - Jor
  2. Thanks a lot, some great resources! I've started with just the very basics and working my way through
  3. Thanks Stephane, I see what I was doing wrong now. I was specifying the bar number in the :method, which of course isn't necessary for the Counterpoint function.
  4. Thanks André, this is still on my list, I definitely see the benefits in learning LISP. If you have specific sources (books/links/videos) that you think are good places to start, please feel free to share - Jor
  5. Hi everyone, Today I've been learning about the Counterpoint function in v2, I decided to start simple: (setf p01 '((-e e4 stacc g4 stacc b4 stacc s e4 fs4 leg e g4 leg fs4 b3 leg))) (setf p02 '(((leg -e b5 b5 a5 a5 eb5 q eb5 leg)))) (setf voices (counterpoint (list p01 p02) '( ((1 -) :methods (- -) :polyphony (7 o)) ((2 1) :methods (t-12 -) :polyphony (7 o)) ((2 1) :methods (t-5 r) :polyphony (7 ?)) ))) (ps 'gm :fl (list (assemble-voices 1 voices)) :cl (list (assemble-voices 2 voices)) :tempo '(80) :time-signature '(4 4) :start
  6. Wow that's amazing, I've looked at this for 15 minutes now and I think I gained a few braincells. Learning a lot from these examples, exactly what I needed as well, thanks so much!
  7. Hi Everyone, I'm looking for a method/function which changes the velocity only for notes that are repeating. In other words, if I have a sequence like this: '(c4 eb4 g4 ab4 ab4 ab4 d4 eb4) I would like to be able to create a crescendo/decrescendo or set a custom velocity for just the Ab notes. In the past I've customised a Pattern Matching function from Stephane to change the velocity for specific note lengths: (defun velocity-map-omn (map omn &key (otherwise '-)) (do-verbose ("velocity-map-omn") (let ((plist (disassemble-omn omn))) (setf (getf plist :ve
  8. Parametric Composition allows you to interact with musical parameters derived from a near infinite amount of sources, process them, and combine them together in a full score. This score can be outputted to any DAW or plugin, which then serves as a playback device.
  9. Those examples are very helpful, thank you! Right now my output (SC input) is this: [ [ /thread1, 3, 1 ], 666.1542108, a NetAddr(, 57796), 57120 ] Which I believe is, [[ ThreadName, Note Number, Gate], Time, Address, Port] Ideally what I want to be able to do is to send the Pitch/Gate and some other values (Filter Modulation, Pitchbend, etc.) to the same thread. So for example [[/thread1, NoteNumber, 1, val1, val2, val3] etc.]] In a perfect world they would also have independent Time values, they just should end up at the same Thread in SC. Probably this
  10. Yes but for this project I would love to use native SC language, and not write everything in Lisp. CL-Collider only uses the server side (synths & FX)of SC but not the language side, which has a lot of good stuff as well. Following up on my previous question: Is there a way to send multiple messages to one Thread? In SC it's great to be able to filter out messages like so [1], [2]. Wich will get the first and the second message send to a specific thread. Is this possible with the current OSC implementation? I tried sending multiple messages with send-osc-data but I can't figure out how
  11. Hi everyone, For the past two days I've been messing around with SuperCollider and OM. I want to be able to write my score in OMN format and send it via OSC to SuperCollider. So far I have this in OM: (defparameter to-sc '( 57120)) (setf thd1 (create-osc-thread "thread1" to-sc)) (send-osc-data thd1 '( (12 1/2) (2 1/2) (0 1/2) (3 1/2) (14 1/2) (2 1/2) (0 1/2) (3 1/2) (8 1/2) (2 1/2) (0 1/2) (3 1/2) (7 1/2) (2 1/2) (0 1/2) (3 1/2) )) And this in SuperCollider
  12. Hi Everyone, This should be an easy one, yet I can't seem to figure it out: How do I remove double notes from a chord? I'm starting with this: (setf chords '(gs3gs4ds5ds5 ab3ab3ab3gs4)) And I would like the output to be this: '(gs3gs4ds5 ab3gs4) Thanks!
  13. Since the tempo slot in DefScore only takes integers, what would be the best way to get a more natural playback tempo? I'm using this method now but it doesn't sound very smooth. (setf tempo-4 (make-tempo (vector-round 58 61 (gen-white-noise 12)) left :type :length)) ;Left is the output of an assemble-seq I've also tried things like this: (setf tempo-2 '(("Mixed Tempi" q :accel 60 62 1/32 2) ("Mixed Tempi" q :accel 62 60 1/32 2) (:rit 60 64 1/32 12))) But most of it sounds either too intentional or too clunky, I just want the tempo to very slightly mean
  14. Sorry I didn't realise I needed to do that again, that was an easy fix, thanks!
  15. Hi Janusz, thank you for implementing this, very cool stuff! I followed the instructions carefully but I am getting this warning now on startup or when trying to compile setup-ins directly from the "Load CLM Instruments" file. > Error: Undefined function SETUP-INS called with arguments ("add" "addflt" "addsnd" "anoi" "arith" "arith1" "arith2" "autoc" "backandforth" "badd" "bandedwg" "bell" "bigbird" "bird" "bowl" "btest" "canter" "cellon" "circular-scanned" "cnv" ...) . > While executing: CCL::TOPLEVEL-EVAL, in process Listener-2(22). > Type cmd-/ to continue, cmd-. to abort
  16. Dear Janusz, today I tried to get OSC working (I'm on 1.3 now) but I couldn't get any messages to send out of OM. I've tried a lot of different methods, ports, receivers etc. but nothing seems to work so far, this is the basic layout I'm using: (defparameter reaktor '( 10000)) (setf data (gen-osc-data 4 (gen-sine 40 4 1) :time '(1/2 1/4 1/12 1/12 1/12))) (setf test1 (osc-thread reaktor "param1" data)) I do have a fair amount of experience with OSC but the OMN side of things is a bit confusing to me. I'm also trying to understand the Reaktor OSC video which uses an osc-threa
  17. Wow that is some stellar work, I do play guitar but I mainly compose on piano will send this along to my guitar playing friends, seems like a very valuable source. I already had some new things to learn in the first few lines of your provided example so I had a productive day yesterday. I have no doubt that you're familiar with these, but for others that might be interested, I found some useful tools for PCS analysis as well as a nice explanation on the subject. https://www.fransabsil.nl/htm/toneset.htm#toneset_userguidelines https://www.mta.ca/pc-set/pc-set_new/pages/
  18. Thanks Janusz for the very straightforward example! @Julio, looks like I'm in for an educational weekend! It seems like there's a lot of useful ideas in there. I am currently building a library of functional progressions, I think the ideas you're showing will be incredibly valuable for that, thanks a lot!
  19. Hi everyone, this one should be pretty simple but I can't seem to figure it out yet. I am trying to notate this (see attachment) first bar in OM. So far I have this: (h e3c4g4e5 f3f4a4d5 z^q g4 f4 h g3d4b4 c3c4e4c5 ) Which doesn't work yet, although it's close. Additionally, I would love to use the same figured bass notation (with the brackets and everything). I know how to use the text attribute for Instruments but it seems to map everything based on white-space between the text, maybe I'm missing something? Thanks! - Jor
  20. Ah yes this seems to work well, however I am using a lot of different instruments (MIDI Channels) which differ per score section. So for example in the intro the chords might go to channel 1 and in section 2 they go to channel 7. The provided example uses 3 different instruments that don't change channels, making the assemble-seq a lot more useful. I was hoping to find a more convenient way to manage this without having to re-write my scores, are there other alternatives to this approach?
  21. Hi, I've been following this thread in an attempt to build one score from multiple projects: https://opusmodus.com/forums/topic/415-working-with-large-pieces-in-multiple-sections/?tab=comments#comment-1014 I've tried both the approach from Stephane and Janusz but I can't seem to play back the scores after each other. Instead when I compile the three different scores it plays them all back at the same time/on top of each other. I'm probably doing something stupid somewhere but I can't figure out what, here's a screenshot of my project:
  22. So today I finally got my licence for OM, and I'm extremely happy with it! I am really looking forward to control my OpenGL libraries and SuperCollider via OSC but I've been having some troubles trying to figure out how to set it up. I did find the OSC folder in the "third-party" party directory inside the OM App but other than that there doesn't seem to be any documentation. My main question is, what do I need to do in order to get OSC running? I thought I wouldn't need the OSC packages because they're already inside the App but OM doesn't recognise the "sb-bsd-sockets", or any other im
  23. Hi, Is it still possible to upgrade/crossgrade from Symbolic Composer to Opusmodus? I finally saved me up some funds to get my official OM licence, but I don't see the upgrade/discount option anymore. I fear the worst, but thought I might ask anyway! Thanks in advance for the reply - Jor
  24. Thank you Janusz, will look into INIT-SEED, I have seen it being used in a couple of examples already (including one massively impressive score by yourself) I also noticed that the code snippet from above gives me values outside of the defined range as well. I'm guessing that's because the vector-to-velocity gets evaluated after the vector-range? (setf rh-a-dynamics (gen-eval 8 '(vector-to-velocity (random* 0.7) (random* 0.9) (vector-range 0.55 0.69 (gen-white-noise 5 :seed 12))))) >> ((ppppp pppp ppppp ppppp pppp) (mp ff mp mf fff)
  25. I'm probably over-complicating things but I'm trying to find the best approach to create 8 bars of random velocity values scaled to a certain range. This is what I have so far, I hope it makes sense: (setf rh-a-dynamics (gen-eval 8 (vector-range 0.55 0.69 '(vector-to-velocity (random* 0.7) (random* 0.9)) (gen-white-noise 5 :seed 12)))) Result: > Error: Too many arguments in call to #<Compiled-function vector-range #x30000113FC4F>: > 4 arguments provided, at most 3 accepted. I also tried
  • Create New...

Important Information

Terms of Use Privacy Policy