Jump to content

Jorgalad

Members
  • Posts

    51
  • Joined

  • Last visited

Everything posted by Jorgalad

  1. 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!
  2. 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 meander. Thanks in advance for the advice!
  3. 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 '(127.0.0.1 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-thread-trigger function, would I need that as well? On a separate note, I noticed a few inconsistencies in the OSC documentation, including a mixture of "OSC-STOP-THREADS" and "STOP-OSC-THREADS" Also, n the osc-threads help file it gives an example: (self thread1 (osc-thread '(127.0.0.1 10000) '((1/2 0.5) (1/4 0.3) (1/2 0.0)))) I assume "self" should be "setf" but even then the example gives me an error: > Error: Too few arguments in call to #<Compiled-function osc-thread #x3000013E4A5F>: Lastly, is the osc-examples.lisp file something I should look into, or is that not necessary to get this working? Thanks very much in advance! - Jor
  4. 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/introduction/toc.html
  5. 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!
  6. 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
  7. 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?
  8. 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:
  9. 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 imports for that matter. The supplied Readme file says I need to: But the first options redirect me to the same files already inside the OM App and asdf install seems to be very out of date. I'm guessing it's something really simple but I've never installed Lisp packages or dealt with this stuff before, so any help would be very welcome! Thanks, - Jor
  10. 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
  11. 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) (ppppp ppp ppppp pppp ppp) (mp p mp p p) (p ppp p pp ppp) (pp fff ppp p ffff) (ppp f pppp pp ff) (pp p pp p p))
  12. 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 making one list to insert into Vector-Range, which results to: > Error: The value (gen-white-noise 5 :seed 12) is not of the expected type real. Could anyone point me into the right direction? Thank you! - Jor
  13. Can't believe I didn't see that one, my syntax was also a bit off though. This works, Thanks a lot!
  14. I'm guessing this is a simple one but it has me stuck for almost an hour now. I have two different velocity vectors: (setf dynamic-rh (vector-to-velocity 0.55 0.62 (gen-white-noise 10 :seed 122) :type :midi)) (setf dynamic-lh (vector-to-velocity 0.33 0.41 (gen-white-noise 10 :seed 67) :type :midi)) Which I want to combine/merge and plot, I've tried all sorts of stuff like this: (velocity-list-plot '(dynamic-lh dynamics-rh) :point-radius 2) (velocity-list-plot '((dynamic-lh) (dynamics-rh)) :point-radius 2) (velocity-list-plot (list(dynamic-lh dynamics-rh)) :point-radius 2) It's probably quite obvious, but I couldn't write Lisp to save my life.. Thank you in advance!
  15. I'm guessing that means there are too many answers to this question, I'll give that another go :)
  16. Please excuse the slightly misleading terminology in the title of this post, but I am looking for a straightforward method to experiment with different chord rhythms and patterns for the left hand in a keyboard style arrangement. As an example, I have this simple arrangement: (setf lh-chords '( #|1|# (c2 c3e3g3 c3e3g3 c3e3g3) #|2|# (f2 c3f3a3 c3f3a3 c3f3a3) #|3|# (e2 e3g3c4 e3g3c4 e3g3c4) #|4|# (gs2 e3b3 e3b3 e3b3 g2 d3g3b3 d3g3b3 d3g3b3) )) (setf lh-lengths '( #|1|# (e e e e e e e e) ;i #|2|# (e e e e e e e e) ;i #|3|# (e e e e e e e e) ;i #|4|# (e e e e e e e e) ;i )) (def-score Simple-Period (:title "Simple-Period" :key-signature '((c maj)) :rewrite-lengths 't :time-signature '((4 4 8)) :tempo '(60) ) (lh :length lh-lengths :pitch lh-chords :port "FROM Sibelius I" :channel 1 :volume 100 :pan 64 :controllers (91 '((48)) 64 '((0)))) ) Which results into: I'm pretty sure there are much easier ways to write something like this, are there any functions I can look into that make it easier to experiment with different chord inversions, arpeggio's, etc. ? It would be great if I could just write the chords first and then later in the score experiment with them, including the ability to subtract notes and alternate between bass notes and other chord tones. I've learned about gen-repeat already, which seems like it could be useful for this specific example, are any other functions I should check out? Thank you once again! - Jor
  17. Yes! thanks so much, this is what I was looking for! I'm going to need a bit of time to figure out exactly what is happening in the function, but this seems like a very straightforward method. There are actually a couple of handy thing to learn from this example for me (didn't even know about get-time-signature yet, that's amazing!)
  18. Hi Everyone, I was just wondering what the easiest way would be to audition my score with a click track, something I've found to be helpful for slower scores with long note values/slurs. I'm guessing I should make a function for that using setf, any recommendations or best approaches? - Jor
  19. That's great news! So that basically means Logic get's the signature and the tempo from the MIDI file right? I'm officially sold on OM now! As for the automation, it has to be CC's for Scom as well :)
  20. You have to sort of see it to believe it but in SCOM you can create your complete score and then set the Playback Device to Logic Pro (for example) After which SCOM will open Logic, create a new project, put all the MIDI tracks in there, write automation data, a tempo tempo map, time &key signatures and load all the right instrument patches and effects, so you can start mixing straight away. It's pretty amazing.. However there are also a lot of things that I'm not completely happy with in Symbolic Composer, so if this feature could be implemented in OM I would make the switch today, the IDE in OM is so much better, as is the window management and the documentation.
  21. Hello Stephane, thank you for the reply and the links! I'm familiar with how to setup MIDI routing however, does this mean building a project from source is not possible in OM? In SCOM I can set the Playback mode to Logic Pro (or most other DAW's), which will actually compile the script and build the project for me, which is a huge time saver! Are there any similar alternatives in OM or is there something like this planned for a future release? I've planned some time today to look into the different functions, thank you Janusz! Kind Regards, Jor
  22. Hi Everyone, I've been testing Opusmodus a few hours today and so far I really love it, I feel pretty comfortable with the language due to my background with SCOM and I've already found a lot of improvements, such as the excellent IDE, the docs and the window management. I do have a few questions though that I couldn't find an immediate answer to; - Can Opusmodus compile a project to a DAW, say Logic or Reaper? (I really hope so! This one is pretty essential for me) - Can OM send MIDI CC data and is there/will there be support for OSC data? Are CC messages set per note or are they truly separate events? - How many simultaneous MIDI channels can OM send? And lastly (this might be a bigger topic) how does Opusmodus deal with Symbols? I'm used to C being the third note of the selected scale but in OM it seems like C is always C, does that mean I have to re-write things if I want to transpose to a new key or is there a different trick for that? Thank you in advance for the reply! - Jor added 1 minute later Sorry, I just saw that some of my question are already answered! Please feel free to discard those :)
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy