30 juillet 2015

I just finished this cheesy track, enjoy. I know this needs mastering but it's really hard to do it for your own track. If you'd like to collaborate with me here is the splice project: https://splice.com/djcrontab/i-see-dead-code

This is the first track I release since I seriously learn about music theory in general and electronic music production in particular. The more you know, the more you feel stuck. Your theoretical knowledge totally surpasses your actual skill and creativity. I started at least 20 tracks before dropping them and starting a new one. I felt finally unblocked after reading Making Music: A Book of Creative Strategies, which is a bit like a Martin Fowler book for EDM producers.

The key here is to get yourself to actually sit down and get something done, while you have no idea what you'll end up with. Finishing something really matters, otherwise you'll never improve at actually finishing a project. So I picked up another advice in the book, which is to choose constraints and work within those constraints. The projects I started were really too complex, too open to many different directions, and after many hours and many days I find myself with three times 30 seconds sequences that totally don't match, I'm fed up so I drop it and start something new. So I picked up a constrained genre which is really a baseline and a very wide pad, then concentrated on just chord progressions. Then I figured it was becoming pleasantly epic&cheesy, especially the part when I switch from major to minor, so I added some FX. It became totally obvious were it should go, and could still afford some creativity such as the glitchy part near the end of the track.

So thanks to this, now I can receive some feedback, and even if it's not really the style I'd like to end up with, I improved on how to keep a track busy, transitions, and put in practice chord progression.

17 juillet 2015

I've been quite busy learning music theory and electronic music production these last weeks.

Learning something totally new, or worse, something you thought you knew a bit until you realize how clueless you are, is at the same time an enlightening and dreadful experience. The more you learn, the more you realize the extent at which you're an ignorant. The map of knowledge unrolls before your eyes, replacing that comforting and uniform darkness of ignorance by a myriad of paths, each leading to a different unknown. The worse kind of ignorance is to be mistaken : you think you know, hence you don't know that you don't know. As you learn, unknown unknowns become known unknowns, revealing new paths that you didn't see or dismissed, and that you have yet to explore. Acknowledging ignorance is freedom ; certainty is a prison made of dullness.

Now, on creativity. Let's just illustrate how electronic music production happens.

One might think, at some point you have a melody idea, then pick an instrument, play the notes, in a purely forward process ; that's it. Super wrong. Pure top down approach is bullshit. There is no such thing as pure ideas not connected to memories, devices, practical or theoretical knowledge.

What we do all the time is mashing up what we know to produce a new artefact ; using a tool, or imagining using one. You can't create something if you don't know what is possible. New ideas continue to flow as you are producing, finding a path between constraints and possibilities.

So indeed you start with an original idea, or just lay down a standard beat, pick an existing chord sequence, whatever. You try something, adding new instruments or starting a variation. Then you listen, again and again, letting your judgement come up with the next task.

Let's say, you realize the rhythm sounds too robotic. You'd think, it sounds strange, with no clue about what's wrong until you heard about syncopation, that is, moving a bit the notes to create rythmic asynchronism. Naming the problem, or knowing something that must be done, is really what makes action possible instead of just vague impressions. When you know the solution, you pay more attention to the problem when it happens.

Then, maybe you tried putting a melody on top of an existing sample for a remix, and it seems out of tune. You can't solve this without knowing about musical scales. The kickdrum can't be nicely heard like in commercial music ? You know you have to use a compressor and sidechain with the kick ; whenever the kick volume comes up, your instrument volume goes down ; no need to manually program the volume for the whole tune.

That's a perpetual feedback loop between you, the tools you're using, your memories such as education and experience, and the artifact in its current state. Listen again, then you know what has to come next, maybe a section is missing, maybe some part doesn't fit the rest, is too boring ; you fix or drop what is wrong, make perfect what was unsatisfactory, continue building new parts that fit the rest and create the special moments in the tune, as you move along.Refining and dismissing is as important as adding and expanding.

There is no such thing as a single great idea coming out of nowhere. You must have tons of them, all the time, and they all appear because of context. A virtually infinite amount of ideas float unconsciously in your mind, and at this stage this is just biology, not creativity. Creativity is that process that starts with the ability to pick the idea because it fits with one detail in the real world, then being able to keep it in your short term memory by imagining its materiality: you can hear, see, manipulate or verbalize the idea. Just trying to keep it in mind is already refining it, its clarity increases by bending it into a context, giving more and more clues that your judgement can grab to decide whether to keep it or dismiss it. I suspect forgetting a floating idea can really be a preconscious judgement : if it cannot be materialized, hence it's not worth the effort. The ability to judge, dismiss and move on to the next thing is part of the creative process, which would be otherwise just pure randomness.

Judging the fitness of new ideas is part of the creative preconscious process. If discarding existing crappy material is not an option, then naturally only new ideas that fit the crappy legacy will come to mind.Better ideas cannot even be imagined if you force yourself to keep bad ideas. Bad ideas are not just lowering the average quality, it provides an upper bound to whatever new comes to mind. That crappy stuff becomes the best thing you can even think of, because your mind won't bother grabbing ideas that obviously won't fit the reality.

Cultural, educational and practical background sharpens your judgement, which in turn dictates that one idea must be tried. This comes as a sudden realization, but it won't float there forever in your mind, you have to capture that vague impression. That's why many tutorials tell you to keep stuff tidy, name your clips and your instruments, use color schemes, review the layout ; when that idea or judgement kicks in, you must act quickly before it evaporates. Maybe you know the exact words describing your feeling, and you'll be able to take note. Maybe you'll know where to look at without needing to verbally express that intuition, and for that the manipulation must be as flawless as possible, without any surprise. If you stumble on something, the inspiration will just disappear, because unexpected events interrupted your cognitive process ; the idea you had in your short term memory is gone.

In conclusion, the key concept is that we are assessing the situation all the time.

As you are listening, you spot something to do, and you know it because you know it's a problem, and you know it's a problem because you know there is a better way. You don't see the problem unless you know something better exists or is possible.

That is my interpretation of that proverb coming from "Les shadoks", an absurd french cartoon from the 70s : if there is no solution, then there is no problem.

Knowledge, skill and creativity in the business world

More than one might think, all of this is totally applicable to any work, cooperation, organization ; and yet I've seen, throughout all my career as a developer, things running upside down.

People don't realize the importance of simply describing what they experience; it's like their judgement is shut down. A business is a human artefact, and as such we should look at it, and let our judgement come up with what is missing, what could be improved, what is wrong. More than often, solutions are expressed without any situational context, like they should stand by themselves as a self-sufficient reality, not needing the real world to exist, being their own purpose.

A story about the Excel-minded zombie.
I could come up with plenty of similar situations: one guy comes to my desk with a post-it note in his hand : "add column xyz. rename column abc to def".

I spend my time reverse-engineering humans that think like machines, and yet I'm the developer.

At some point he managed an excel-based timesheet, up to a mess one can expect. Every end of the month, 80 people waited for the file to be unlocked in a Sharepoint folder, and sometimes people overwrote the file with an older version, losing other people's entries. I was in charge of replacing this by a web application. Roughly, in the excel file people appeared as rows, activities in columns, and time spent at intersections. Time to time, some activity became obsolete, or new budget rules needed separate entries, or a brand new activity was created.

But I had to guess it all by asking around, no one just came up with a general description of the situation. It seems than when it comes to work some people are used to talk like a command line interface. Hi, sudo add a column, thanks in advance.

While one can argue about all the possibilities of excel files, most people just use it like a 2D grid in all its glorious rigidity and disposability. If you don't need a column and need a new one, you pick the old one and rename it. But that's not how you make it in a persistent database ; you have to keep archives of older entries ; those activities being a bit dynamic, they can't be just columns in a table. An entry is really a reference to one person and one activity, with a timestamp and a duration.

So, when that excel-minded zombie comes and asks to "rename a column", I put my therapist hat and try to make him reconnect his column-renaming fetichism to a collectively shared material existence. What I expected to hear, instead, is just a short story about the new situation : say, we have a new team of specialists with two new kind of activities, and another activity is dropped because we never use it. As boring as it seems, that story is more human and real than "renaming a column". And with that shared story we can then discuss the extent of the required changes using the power of two brains to decide what is possible and what should be done in order to make the existing tools fit the new reality.

And that's why the problem-solving mindset is the plague in the IT world: we don't communicate by assessing the situation, people are just used to talk to IT people in terms of what they would do themselves. While, precisely, they require the help of skilled IT professionals because they don't know what is possible, and how ; the worst among them being people thinking they know what they don't really know.