Jump to main navigation

Category: Whole-Play

Reboot Whole-Play

In the last months the development of Whole-Play has slowed down a lot. Partly because of the lack of time, but mostly because the code has been getting messier and I've been feeling more and more stuck as I tried to fix bugs and implement new behavior. So as I knew I would have to do, it's now time to stop, rethink and restructure Whole-Play.

A friend recommended a book that should help a lot with some of the issues I've been dealing with: "Interactive Music Systems", by Robert Rowe. I think it's out of print, I got it second hand from Amazon. It's really interesting, and it does address many of the problems I've faced (so far) with Whole-Play. Perfect timing then: this book will definitely help with the redesig of Whole-Play, and hopefully will allow me to move faster through the technical issues, and get sooner to the creative phase of Whole-Play. Thanks Lorien for all the help and advice!

Whole-Play update

Still working on Milestone 2. The more I work on Whole-Play, the more I see the need to 'redesign': stop and re-plan the whole thing, and improve the code a lot. Because it keeps growing and growing, and in a rather disorganized fashion, which in turn causes lots of bugs to pop up all over the place.

But sometimes I'm Mr.Stubborn: I have to finish this milestone, and I will! Today I've continued to work on the Harmonizer - the name sounds cool! :) Now W-P can harmonize melodies using different harmonies (e.g. diatonic, pentatonic, whole-tone...). At this stage the harmonizations are rather simple, but I believe they establish a good basis for more sophisticated ones in the future.

Anyway, I'm definitely realizing that either I find much more time to work on W-P or I relax a lot about my expectations to get it ready soon. Or both!

Whole-Play bugs

I'm still working on milestone 2, and it's taking much longer than I thought, because I'm finding quite a few bugs, which often are not easy to fix. The problem is that the code is getting longer and longer, and even though I'm trying to keep things well organized it's still getting complex and parts of it are a bit messy. Logic errors are quite tricky, because they manifest in very abstract ways, like an unexpected chord happening. Then tracking the errors down to the bit of code that's triggering them is a long (but somehow exciting!) process.

So at this stage, what I need to continue developing is: i) Patience, ii) Focus, iii) Enjoy! Just keep going, I'll get there. :)

Whole-Play update

I seem to be a bit stuck on the harmony analysis task, it's been a long time since I started it, and there's still a lot to do. Well, I didn't expect teaching Chuck some harmony would be particularly easy... Read the full text...

Whole-Play update

I haven't updated for a while, partly because I've been too busy with web work. That doesn't mean Whole-Play development has stopped. It's been a bit slower than I would have wanted, but regular nevertheless.

I keep on working on the Harmony Analyser, which is looking better every week. I think I've been trying too hard to be too precise with it - two too's are too many ;) - and I'm not sure that's a good strategy. It might not be possible, and even if it is, I'd better get something practical going, and leave refinement (or re-designing) for further stages of the project. So today I went to have a cappuccino and a lemon & coconut muffin at the Surf Beach cafe (sounds relaxing for a Sunday morning, doesn't it?), and did some brainstorming, trying to get more specific on what I'm trying to achieve in terms of harmony. I think I've got a better direction now, and I'm ready to start trying out its posssibilities. My aim is to meet the deadline for Milestone 2, which is May 13th.

Also I managed to find a very annoying bug I had introduced a few weeks ago that was driving me crazy, so I'm happy. :)

Whole-Play: Milestone 1

I've finally completed milestone 1, which brings a feeling of progress, acomplishment and excitement about what's to come. At the same time it's been a bit frustrating, because the results were much better in my mind than what they've actually turned out to be. But then, that makes sense, Whole-Play development is still in its very early stages, so there's no reson to worry and many to be positive and excited! Read the full text...

Whole-Play update

I've been a bit slack lately with Whole-Play, but that's going to be an exception, W-P can't wait!

Today I've closed drumGenerator2, and left it as a test program. Now I'm moving on to something much more exciting and challenging: teaching Chuck some harmony! The new test program I'm working on is called harmonyDetector, and I'm not sure how good it will be, but I'm hoping VERY good. This is forcing me to do two things: find ways to process note/chord data to infer harmony properties, but also think about what harmony is. It's easy to collect the data, but what's a key? What's a root? What's a scale? Believe me, when you put that into a programming language, it's quite tricky!

I'm also going to be working on the first milestone, wich is scheduled for Feb 27th, and will be a more interesting version of drumGenerator2. Did I talk about milestones? Well, because the development of Whole-Play is a long term project, I've set up a few milestones along the way, so I can both keep track of the progress made and enjoy the project. This means that whatever the state of the project, at certain points I'll write a commited program trying to make the most of the current possibilities. I ask myself something in the lines of "If I stopped the Whole-Play development now, what would be the best I coud do with it?". I'll post the results of these milestones here, so it's not all words.

Whole-Play update

Not a very good week this time. I got stuck on some stupid configuration issues (I won't detail them because they are stupid). So not much progress in the end. The drumGenerator2 has improved a bit anyway, that's what counts.

Whole-Play update

This week I've started working on a new program, simpleDrumGenerator2, which is a more refined and powerful version of simpleDrumGenerator. It's quite exciting, since now the computer analyses the impro every X seconds, and can respond on a per-beat basis, which makes it much more responsive. Still some work to go on simpleDrumGenerator2, but it's looking very promising.

Also I've been working on a way to record the impros at the same time they are being played. I've managed to record all midi data to Sonar LE, which then can be listened to through Reason via Rewire, and mixed down to .wav if desired. I still would like to learn a bit about how to route audio signals virtually, since it might be very usefull/necessary in the future.

Can't wait to continue...

What is Whole-Play?

And why is there a whole category in the blog for it? Whole-Play was born on 18 Nov 07, but the seed were planted way before, probably around 1990. But WHAT is it?

It's a project, an experiment and an adventure. It's a journey to create a music project that combines programming, composing and improvising. Read the full text...

Additional content and navigation


Main navigation menu