software

Not All Binary!

Humans are a complex species. Some of us want to find patterns in everything, others perhaps want to elude these patterns at every chance they get. But we ALL find a pattern sooner or later, don't we? I like to keep things random in my general day-to-day life. I think a part of it stems from trying to be creative. I have this idea that if you keep doing the same things at the same times and inside the same cycles, you eventually stop getting new ideas. I'm not sure how strong a holding that idea has in actual psychology or social science but I'm sure there is some merit to it.

I recently picked up a book on Game Design, a field that I feel is going to matter more and more to people from different fields as gaming as a medium gets more prominent with the passing of years (Apparently Spotify just started an entire section exclusively dealing with game music). How does a music composer / sound designer get all mixed up with game design, you shall probably ask. I think music and games have historically and perception-wise a lot more things common to them, than you can imagine, so in a way I feel that it's natural. The real reason, though is that last year when I went to Indiecade, I was inspired by a variety of different talks that touched on the topic of game design. That eventually led me to an online game design book club, where people read a book on game design every month, and speak on their views about it.

Long things short, a friend gave me an interesting idea for a possible app / game which fed into me seeing many parallels between musical development and how games are developed. All of this happened reading this month's book on that discussion group which happened to be A Theory of Fun by Raph Koster.

 
 

It was a fun read, as it mostly dissects the idea of fun, what constitutes activities that are fun and aren't. Some of it could probably be interesting literature for algorithmic music creation. What I liked about the book was that it gives a lot of different perspectives - psychologically, socially and at times talking on even evolutionary terms in the sense of how games started out and how they've evolved over the past few decades.

There's quite a lot of points that actually mention music-making. Now, there are different levels of controls and restrictions players have in games but it pits that against how different kinds of music-creation could be classified under the same table. There are definitely are some fascinating thought collisions that happened to me while I was reading it. In the spirit of keeping this blog post shorter, I shall refrain from discussing it further. (you can join the club here). You could probably go here and here to learn more about game design and it's various intricacies (in case that's your thing)

 
 

Moving on, I'm going to harp once more on the concept of curation and how integral it is going to become in the larger scheme of things. A friend started using this new platform that goes by the name of Soundgood. I decided to follow suit and convert an old playlist to a Soundgood playlist. You shall find all kinds of experimental / electronic / chill music if that's what you're into. Another thought experiment with curation - I've lately noticed that people that do more reposts on Soundcloud tend to get more active plays, listens and follows. Having started my Soundcloud originally just to keep my own tunes there, I'm considering breaking that rule and going crazy with reposts.

Soundcloud closed down Groups recently, which probably was one of the first horns of collapse that I sense coming to the music industry as a whole. I might be wrong, I might be right. If there's one thing I don't understand it's why they closed Groups. They were probably great for getting your music across, but I definitely could think of better ways to get music out there. If anything, I've realised platforms evolve and so does music distribution and the several other cogs in the "machine" so to speak. Anarchy rules everything, eventually. (Open-sourcing of media and hacking culture might have to do something to do with all of this 'disruption')

 
 

Between dabbling with playlists and their curation, trying to understand more about game design and going off on tangents about hacking, music work has been slow but steady. Lots of track reveals are scheduled for September, and I look forward to them. In the meanwhile, I have been scoping out more work for short films and video games. I might start working on a new video game soon, but that news is probably still far off in the distance (maybe another 2 weeks?)

Creativity takes time, folks. It is what it is. It's a risky business. Sometimes you end up at the right place, at the right time. At other times, everything might be exactly where you expected it to be but things would still not work out. It's not at all binary. Sometimes you make a huge mistake and fuck up things. Most of the times, it leads to a torrential shit-storm. At other times, a spark you didn't quite expect. I have found myself working on music related to time, twice this year and it's a fascinating coincidence. The first time, I knew exactly what the client wanted and it didn't quite turn out the way I expected it to. The second time, the opposite happened. I think creativity is not an easy bird to catch. It takes a lot of time, patience, perseverance and self-control and very rarely do all the variables work exactly as planned, So the gist of it - I made a mistake while I was sequencing some music, and I stuck with it. Why? Because strangely, it stuck and went well with what was needed.

Moral of story - make more mistakes, fail a bunch of times and you actually learn more than you realise. With the extremely large amount of focus placed these days on music, art and aesthetics to be somehow "perfect". I think artists need to fail more frequently at what they do. We learn more about things when we fail, as opposed to when we do them perfectly. Not to say that one should intentionally fail. But learn with mistakes every time we make them. The learning slope is exponentially increasing while the grasping power of people - not as much. Eventually the machines will kick in. Knowing how to code and program will take an even stronger front-seat than what has been felt so far.

Hence, I dug into some code the past week or two. (write a poem. Type enter once to go to the next line, and type enter twice to end the poem and voila! something happens)

 
 

So, some time back a strange request was pulled up by a person I knew. They wanted to convert a poem to binary, and wanted me to help them do it. For a while, I thought hard and went back to my old engineering books to try and figure out how that was possible. Eventually, I came to the point where I felt that converting entire poems to binary would take a lot of time, manually. So, I wrote a program. While this could have been just doable in C++, I decided to take the opportunity to dive into the mighty Python programming language and gain some street cred, or in other words "coding cred". Turns out, it's probably a lot more easier to do many things in Python as compared to doing them in C++. The more you know, I guess. While I seemed to have grasped the basics fast enough. There still remains the problem of turning boring python code into something more eye-catching and visual on the front-end. That led me to things like Django and Flask, which so far seems to be a bit confusing to navigate. But more on that later. More bots, HTML and web scripting incoming too, hopefully. A lot of different things, and then there's always the music.

ow, let's see if I can reverse-engineer this binary code extract. (there's a hint somewhere, I'm sure of it!)

01010000 01100001 01110011 01110011 01101001 01101111 01101110 00100000 01100111 01101111 01100101 01110011 00101100 00100000 01100010 01101111 01110010 01100101 01100100 01101111 01101101 00100000 01110010 01100101 01101101 01100001 01101001 01101110 01110011 00001010 01000011 01101111 01100011 01101111 00100000 01000011 01101000 01100001 01101110 01100101 01101100
 
 

Number Games

May has been quite the oxymoron as months go - Busy and not-so-busy at the same time. I have found myself drifting back and forth from my music composition work and shifting more towards the black art of programming. And so, like Foucault's Pendulum, it continues. I have been diving through more and more conspiracy theories when I get the time. Being in Delhi, perhaps gives me that luxury - to really delve into where my interests lie. It is a difficult game. To try and figure yourself out. Life is so much easier when you have it all mapped out for you - a 9 to 5 or maybe a year in school. But perhaps, that is not where my future lies.

Once in a while you need a kickstart to really snap out of a period of low creativity. Watching this, perhaps did that for me. But clearly that didn't last long either. Seeing that I am stuck somewhere between doing creative things like making music and writing code, I decided to make light of my situation and start a Github. Follow me there, to find some pretty interesting code that I'll be working on in the few coming months. Of all things, perhaps that is the only thing I have to show for now. There is a lot of code I've been working on, and work on that will probably continue. Some of it might make it there, some of it might not.

I've always been skeptical about things that are fairly open source in nature. It's one of those things where it contradicts so hard with your inner belief system, it becomes pretty hard to reconcile. You think about questions like 'what about copyright?' and 'is it safe?' among other fairly darker questions. Some of my apprehensions were fuelled when I stumbled upon this article. But seeing how things are, I figured there was no other way to perhaps demonstrate my coding chops.

Having finished working on a WAV format audio player using C++ right before June came knocking, I feel that I have embarked reasonably well on my journey through coding and audio and all the wonderful, interesting and headache-inducing goodness of it all. The question is, there are so many formats and approaches to implementing audio with code, one really is spoilt for choice. Having first started by taking a jab using SFML and trying to implement audio, I had several problematic things going on. But I'm getting way ahead of myself here, you would probably ask 'why work with audio and code in the first place?!'

Well, that is probably because, these days I have found this slight itch. An itch to 'solve problems' so to speak. There really are no two other ways about it. What do you do if you don't have a problem to solve? Well, you create one. But even before that, perhaps you seek problems. It is that pursuit that actually proved to be fruitful. After a fair amount of tweeting, DM'ing and Facebook'ing people, I came across a developer that wanted to build a cross-platform game that could play audio. It was not supposed to be something very complicated or complex. But it turned out to be quite the same. Seeing that things were not working that well with implementing audio using SFML, my initial approach was to try and seek out a fairly simple framework dependent on C++ that could play audio.

Methodically and carefully, I have been chipping at Processing the past few months, and I quite saw similarities between using something like Processing that already had a lot of functionality built-in and creating a simple audio player. My next obvious response was to seek out a framework that could provide all this functionality and then delve into how it managed to work. A reverse-engineering process so to speak. The first framework that seemed to be usable (from what I could see) was openFrameworks. However, I eventually gave up on using that, owing to its huge size. What I needed was something smaller and simple. Which is how I ended up at using SDL for my audio player. And that's pretty much what it still uses. The next question to dabble with is whether I should try other frameworks or continue forward developing more functionality into the current audio player. I've found that the latter would perhaps be the best way to move forward.

Moving on to creative things, work continues on music for a video game as well as short film. There should probably be a demo for the game by the end of the month, while I am yet to start on music for the film. There are another couple of tracks in the works as well. While the current situation means that I have my hands full, financially perhaps - maybe things could have been better. But I suppose that is something you have to sacrifice trying to build a career on your own. One of the major issues going forward seems to be, more people asking for work and lesser people willing to afford the cost. This is a sad situation for any creative person. But, perhaps there is a silver lining in all of this - I just don't totally see it yet. Sadly, this also sometimes leads to projects unfinished or abandoned in pursuit of greener pastures so to speak. Staying in a creative field can become quite the challenge as years pass by and things get progressively harder. All the numbers - they add up or they don't. But I always told myself I would never abandon my creative pursuits - and so that remains.

Back to my cup of coffee and looking at planes for now.

Elementary Mathematics

It's been a couple of months since I last posted here. There are a large number of reasons that has been the case. Some of them, you might find out soon, while others not. Having moved to Los Angeles about a month ago, I have been exploring avenues and possible paths of a future career in music technology or video games or interactive media or if possible, all three. I recently started doing an internship in Sound Design at Native Instruments and it has been quite the wonderful journey so far, full of broad learning curves, dynamically shifting perspective and one filled with opening up of new horizons for me.

Having just concluded with my master's course at Berklee Valencia in film scoring, Most people would call it a drastic jump to shift into a music technology company. I wouldn't call it so, primarily because in some ways, I always felt affinity towards music technology and how it fuels creativity was always a part of how I think about music. Even though I may or may not see myself composing and creating music in the more traditional vein music composers and orchestrators usually approach such fields, I believe that at heart if you've ever been a creator, you always stay one.

Methods change, approaches differ. There is conflict in how you perceive art and music with perhaps someone else, but I believe that's the beauty of art, music and life in general. Harmony in dissonance. Often walking down the street at Hollywood Boulevard on a warm weekday morning, I hear the distant honk of a car or the morning chatter of high school kids discussing there weekend adventures. and I tell myself 'ah, that sounds like music'. How, you may ask. If you're reading, you may already know the answer.

We all maybe artists, or accountants. Engineers or software whiz-kids. But in certain ways, we're all echoing off each other. Some artists, take what they have - the raw material. Throw it down on a canvas. Jumbled colours, an abstract idea. Software engineers? They use native data types and already existing functions to shape their ideas. Not sounding that different any more, I hope?

A flash of an idea late at night, or a sudden spark at lunch. That's usually how it always begins. A grand idea for the next path-breaking album or the next software revolution that could shift perceptions. We're all curators. Taking the idea off that graffiti wall we saw on our way to work or maybe using that flute solo we heard on an old Indian devotional song. You never know where it's gonna come from. And that excitement about the creative process is what always excites me. The inspiration, the journey. Rather than just the destination.

But that might not be what this blog post maybe about. It's about something a bit more subtle and something a lot less prominent in the normal daily life of an individual. Elementary mathematics. Technological process has been steady and slowly accelerating. A lot more in the last twenty years than the last hundred. But do we really see the process? How a new computer has seemingly faster speeds and more memory than the last one? What could have possibly made that a reality? Of course it's all coming out of mathematics. The universe creates problems and barriers, and creators find clever ways around it.

I have found myself wondering more and more about the mathematical nature of problems and how their solutions can sometimes seem to be counter-intuitive at first, but as the solution is developed in parts, the way the parts are then later combined to interact with each other can also prove to be quite mind-boggling. I would call it much like playing a game of chess. You might have absolutely no idea what's going to happen five moves later, but you make your best move and adapt your solution as the pieces change. It's all very dynamic and unpredictable. This brings me to the idea that perhaps programmatically devising and creating music as solutions to particular mathematical problems could bring about interesting kinds of musical experiences to the forefront. Perhaps, it's already being done as I write this.