Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Rangarajan last won the day on June 29 2016

Rangarajan had the most liked content!

1 Follower

About Rangarajan

  • Rank



  • Gender
  • Location
    Chennai, India

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Rangarajan


  2. Rangarajan

    Opusmodus version 1.2

    Congratulations to the whole Opusmodus team for the great work! - Rangarajan
  3. Rangarajan

    Using Optima in Opusmodus

    Hi, A few weeks ago, I wrote about the Optima Pattern Matching library. In today's post, I have given a simple example of using the library to post-process a score, after reading a MIDI file. Regards, Rangarajan
  4. Rangarajan

    Rock It !! for Piano from Piano suite No.1

    Sounds nice! Thanks for sharing the code. Regards, Rangarajan
  5. Rangarajan

    Optima Pattern Matching Library

    I hope to share some examples of use with OM in the next few posts. -Rangarajan
  6. As part of my research into other tools that can be used along with Opusmodus, in today's post I have given a basic introduction to the Optima Lisp library for pattern matching. I hope to continue the discussion in the next couple of posts as well. I think this library will be useful if we want to do any operations in Opusmodus involving pattern matching, for example, reading a score and looking for specific patterns in it. Regards, Rangarajan
  7. Rangarajan

    Score post processing

    OK, thanks. -Rangarajan
  8. Rangarajan

    Score post processing

    Seems like an interesting idea. When should we consider/prefer such a post-processing idiom? Any suggestions? Regards, Rangarajan
  9. Rangarajan


    Thanks a lot, SB, for sharing the code. -Rangarajan
  10. Rangarajan

    Just a Crazy Idea

    At the moment, I am blank on this. My limitation is that I do not have a music background, but I am reading a lot these days, so I am confident something will come up soon (hopefully). It would certainly help if people like you (both s/w and music expertise) and other musicians in our forum start to "introspect" on the creative process each goes through when composing, and then jot down notes, ideas, or whatever that comes to mind at that time. To me these are valuable artefacts that could be formalised eventually. When I get some inspiration, I will share in this forum. -Rangarajan
  11. Rangarajan

    Just a Crazy Idea

    For software development, we have requirement gathering tools, UML-like modelling tools, Design Patterns, IDEs for programming, and even software Testing tools. When it comes to music composition, if you are manually composing music, there are tools such as "Finale" for notating, or you can fall back on the ubiquitous "paper" for expressing your composition. On the other hand, if you use algorithmic composition, we have many tools such as Opusmodus, Open Music, SuperCollider, Max/MSP, and so on. I think what is missing, and what I feel is important, is a way to represent intermediate stages of composition, which is really the creative part. Just as in software development we say the design is more important than the final code, we should be able to independently study, understand and critique the compositional design of a musician. In fact, it might even be possible to automatically generate executable code from this intermediate design representation (just as in simple cases, UML design can be converted to code in any language). So what I am really proposing is to come up with a "Music Design Notation" for algorithmic composition. When I listen to some of Stephane's pieces, they sound good, but when I look at his code, his "design" insight is not obvious. This is true for any non-trivial program. On the other hand, if there was a MDN representation of his work, it might be easier to understand what is going on. Whether your final piece is rendered on paper, or Finale, or in Opusmodus, there is a great benefit to documenting the "higher" level design of the composition. Then we can even talk about "Design Patterns" in musical composition in a programming language-neutral way. For those of you who do not come from software background, I encourage you to read the works of Christopher Alexander, especially, "The Timeless Way of Building" (Oxford University Press, 1979). I have had this on my mind for a long time, so thought I will post it to see what others think. Regards, Rangarajan
  12. Rangarajan


    Nice and very realistic! Do you have a video of this session, and if you do, is it possible to share it? -Rangarajan
  13. Rangarajan

    "gen-stacc" -> question

    Yes, I have also experienced this difficulty, for example, can't distinguish between 4/4 and 2/2 because both reduce to 1! As JP points out, this is a Lisp issue, nothing to do with OM. If we are adventurous, we could implement our own "data type", for example keeping numerator and denominator separately as a cons pair (numerator . denominator) or something similar. We can write a set of functions that operate on this, and then apply reduction when actually needed. More work, of course, but Lisp gives you control. Regards, Rangarajan
  14. Rangarajan

    Interacting with Picat from Opusmodus

    Janus, Thanks a lot! Rangarajan
  15. Hi, Picat is a Prolog-derived language with good support for Constraint Programming. In today's blog, I have shown how to implement a simple CP-based function in Picat for chord/non-chord tone generation, and more interestingly, how we can interact with Picat from Opusmodus to get the results of the computation. To me, this opens up new possibilities for expanding what you can do from Opusmodus! Regards, Rangarajan