Everything posted by Wim Dijkgraaf
-
Using a scheduler to do With Time Programming in Opusmodus
Hi AM, See attached document "Programming With Time". It's something I'm looking forward to to be able to do within Opusmodus. Although it would mean that we should have the ability to generate MIDI without working with a score. sorensen_ow_2010.pdf
-
Neo-Riemannian approach (Tonnetz, etc.)
I think it's working now. Have also removed workspace from source control. Guess that those paths to my file system are of no help to others :-)
-
Neo-Riemannian approach (Tonnetz, etc.)
I'm working on that bug ... still some refactoring to do too. Will keep you informed.
-
Neo-Riemannian approach (Tonnetz, etc.)
Just updated github -> did some refactoring today. Still far from what it should be though :-)
-
Using a scheduler to do With Time Programming in Opusmodus
It works now. Thanks!
-
Looking for teacher / coach in Lisp Programming with Opusmodus
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)
-
Using a scheduler to do With Time Programming in Opusmodus
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 :-)
-
Using a scheduler to do With Time Programming in Opusmodus
Anyone using this or similar library to do 'Extempore-like' With Time Programming in Opusmodus? https://github.com/byulparan/scheduler Big hug
-
Neo-Riemannian approach (Tonnetz, etc.)
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.
-
Triad inversion to root position intervals
Have published the initial Tonnetz implementation (really bad code, has to be refactored and has some bugs): https://github.com/willemdijkgraaf/ClTonnetz Big hug
-
Triad inversion to root position intervals
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
-
Files with ~ ?
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
-
Triad inversion to root position intervals
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
-
Neo-Riemannian approach (Tonnetz, etc.)
Funny, I do have that book in my Kindle ... never had the time to give it a read. Thanks for the tip!
-
Neo-Riemannian approach (Tonnetz, etc.)
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
-
Neo-Riemannian approach (Tonnetz, etc.)
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:
-
Opusmodus on a Windows Machine (using VMWare)
-
Expand pitches within range
Thanks for the inspiring answers!!!!
-
Opusmodus on a Windows Machine (using VMWare)
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 :-)
-
Expand pitches within range
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 :-)
-
Opusmodus on a Windows Machine (using VMWare)
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
-
Development Environment / IDE / Editor
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
-
OMN - how implemented in Common Lisp?
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.
-
OMN - how implemented in Common Lisp?
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
-
OMN - how implemented in Common Lisp?
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