Jump to content

Wim Dijkgraaf

Members
  • Posts

    68
  • Joined

  • Last visited

Everything posted by Wim Dijkgraaf

  1. I'm working on that bug ... still some refactoring to do too. Will keep you informed.
  2. Just updated github -> did some refactoring today. Still far from what it should be though :-)
  3. Hi all, I've had some excellent classes with Stephane related to Parametric Composition using Opusmodus. I had hoped that with my professional background as a programmer I would be able to get up-and-running quickly but I find myself struggling too much. Not so much with the Common Lisp language itself (have found some books that really help me a lot) but more with the workflow and Common Lisp technical issues that prevent me from using the main part of my time studying Lisp. Those issues are: - TDD (Test Driven Development). I'm used to do TDD and continuous testing on the .NET platform using NCrunch. I'm also used to do testing on unit, integration and functional level. Would like to get some help choosing the right Common Lisp testing framework as well as on setting it up. - Package Management: I'm used to Nuget based package management (.NET platform). Need help to have a good understanding of Quicklisp/ASDF as well as how to integrate libraries that are not available through package managers. - Guidance in creating own functions. Good understanding of Opusmodus specific types and wether to use them or to avoid them. What I mean is related to the basic fundamental question: is it wise to "lock in" to the Opusmodus product when writing my own functions and using the Opusmodus function library. Or should I consider Opusmodus more like a rich Common Lisp IDE (MIDI playback and music score integration) but base my own function as much as possible on standard Common Lisp functions. - Good understanding of OMN "under the hood". What is it exactly that I'm using when I write OMN pitches, velocities etc. - When to use a functional approach and when to use an object oriented approach - How to structure your project I would also like to find someone to do some periodic reviewing and refactoring of my own code in order to learn to write good Common Lisp code. Please let me know who is able to help me on this wonderful journey! Big hug, Wim Dijkgraaf p.s. the books I'm using right now are: - Practical Common Lisp (Peter Seibel) - Let over Lambda (Doug Hoyte) - On Lisp (Paul Graham)
  4. Thanks! Following the extact steps gives me the following output: > Error: System "scheduler" not found > While executing: (:internal quicklisp-client::recurse quicklisp-client::compute-load-strategy), in process Opusmodus Extension Initialization(5). Help is welcome! Will search myself too :-)
  5. Anyone using this or similar library to do 'Extempore-like' With Time Programming in Opusmodus? https://github.com/byulparan/scheduler Big hug
  6. Have published the initial Tonnetz implementation (really bad code, has to be refactored and has some bugs): This is my first attempt ... still completely novice in Common Lisp. https://github.com/willemdijkgraaf/ClTonnetz Big hug Thanks Torsten! Will check it out. I'm fluent in C#, Typescript and Javascript but will check it out anyway.
  7. Have published the initial Tonnetz implementation (really bad code, has to be refactored and has some bugs): https://github.com/willemdijkgraaf/ClTonnetz Big hug
  8. Hi AM, I'll share the code this weekend. Is written in a horrible way ... I'm really a beginner with Lisp and getting the concept to work is currently more important then writing the best Lisp code possible :-) But hope that sharing will decrease the learning curve a bit. Big hug
  9. When editing my files they get an extension ending with ~ When will the ~ go away? What does it mean? What is the infuence on version control? Big hug, Wim Dijkgraaf
  10. I would like to be able to convert a major or minor triad in any inversion and any octave position of it's notes to the intervals of its root position. Can't use pitch classes for this since major and minor triads are concidered the same pitch class. Can't find the right approach. For example: '(e3 g4 c5) -> '(4 3) '(eb3 g4 c5) -> '(3 4) '(g1 e7 c8) -> '(4 3) (g1 eb7 c9) -> '(3 4) The Tonnetz functions are almost working but this is the missing link to get it working. Many thanks in advance. Wim Dijkgraaf
  11. Funny, I do have that book in my Kindle ... never had the time to give it a read. Thanks for the tip!
  12. Hi Stephane, Thanks, will have a look at this. I'm thinking of creating a Tonnetz object in Lisp that can be P R and L moved and potentially also polarized Tonnetz movements (feed it with a list of movements and it will return a list of triad harmonies with proper voice leading) as well as a modulation method to modulate to every other root of a triad. I'm trying to figure out the most elegant API for this right now ... implementation comes after that ;-) Just a thought in the back of my mind right now. If anyone has ideas ... please let me/all of us know. Anyhow looks like a great Common Lisp kata. Big hug, Wim Dijkgraaf
  13. I'm not an expert in Neo-Riemannian Theory at all but as a consequence of my Common Lisp study and writing of some functions to do Diatonic Neigbour Tones and Leading Tones, I bumped into this and it's kind of what I'm trying to accomplish musically. Does Opusmodus have functions for this (implicitly or explicitly) or does anyone know of a Common Lisp library that is already specialized in Neo-Riemannian transformation? Basically the ability to do P R and L motions using elegant functions and calculating the shortest modulation (shortest Tonnetz steps) from any triad to any other triad. One of the many explanations on youtube:
  14. My first impression is yes it is. The eLicenser that Vienna software needs doesn't work under VMWare. But since Vienna can work with any MIDI input device I created a setup using MIDI over ethernet. VMWare's network settings can be set to Bridged so that the host and the slave have their own IP addresses on the same network. Works perfectly :-)
  15. Can't find the Opusmodus function to do the following: input: '(c4 e4 g4 bb4 c5) input: '(0 127) -> from - to range in midi note numbers output:'(c-1 e-1 g-1 bb-1 c0 e0 g0 bb0 c1 e1 g1 bb1 c2 e2 g2 bb2 ... c9 e9 g9) Many thanks in advance :-)
  16. I've been working on running OSX on a windows machine using VMWare; works really well! Simple procedure if you follow these steps: https://www.pcsteps.com/2157-mac-os-x-virtual-machine-vmware-player/ Wouldn't recommend this setup for OSX applications that really need high performance graphics (using Quartz for example) but for using Opusmodus on a Windows machine this could be a nice option for those not able/wanting to invest in Apple hardware. If you install rtpMIDI on the windows machine you'll also be able to run your audio software under Windows and connect Opusmodus using MIDI over a virtual network connection. Big hug, Wim Dijkgraaf
  17. Anyone using Emacs or LispBox for Opusmodus specific development or any other environment that might be more productive for a professional developer to work in than the standard Opusmodus environment? Big hug, Wim Dijkgraaf
  18. Hi opmo, As a developer I can understand the complexity of Opusmodus. My question arose just out of curiosity while studying Common Lisp and trying to understand how the OMN pitch notation is implemented under the hoods. That's all :-) But anyway, as AM stated, working with pure Lisp types will already enable a lot of Opusmodus hacking to keep me of the street for a while.
  19. Yes, that approach is clear to me. I'm just curious how OMN works under the hood / how OMN is implemented in Common Lisp. Big hug
  20. I'm studying Common Lisp and the more I'm learning, the more curious I am about how OMN is implemented. E.g. the pitch system (melody as well as chords). Any hints, references, articles what so ever would be more than welcome :-) Big hug
  21. Thanks both of you for the interesting approaches. Unfortunately I'm too busy at the moment finalising a project for a client but will have a closer look at this soon. I'm also heavily studying Lisp hand hope to be able to come-up with a couple of functions that does the job AND looks sufficiently elegant to reflect the musical idea. Will be continued soon I hope :-)
  22. Some examples: Source material (think a C major triad with chromatic lower neighbors) c4 ds4 e4 fs4 g4 b4 c5. tonality set to D dorian or aeolian: Outcome should be: d4 e4 f4 gs4 a4 cs5 d5 tonality set to D locrian: Outcome should be: d4 e4 f4 g4 gs4 cs5 d5. tonality set to D augmented/whole tone: Outcome should be: d4 f4 fs4 a4 as4 cs5 d5 I think the requirement I have is something like this: When setting the source material, the tonality of the source material is also specified. OM interprets all pitches that are not part of the source tonality as chromatics. When the source material is mapped on another tonality, those chromatics are not changed but will be transposed according to the diatonic pitch 'it is related to'. For chromatic leading tones, the "pitch it is related to" will be the next pitch that is part of the source tonality. For chromatic upper neighbors, the "pitch it is related to"will be the previous pitch that is part of the source tonality. I'm sorry if this requirement isn't described very clearly. If needed, can do a new attempt :-) Kind regards, Wim Dijkgraaf
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy