Update: Some of my numbers were out by an order of magnitude, I’ve fixed them below, striking out the old ones and adding in the new ones. It’s a factor of 10 better than I thought it was, w00t!

Update 2: I’ve started talking technical details, starting with the Job Processing Engine, on EmlynTech, my tech blog.

I’ve been wanting to upload some mp3 files to youtube for a while, starting with pretty much everything from my website. I want to be able to put music on youtube because it’s a more easily shareable format; you can embed a youtube video, you can share youtube vids on facebook easily, etc. Plain audio formats aren’t shareable in quite as frictionless a way.

It turns out that this is a bit tricky to do. Youtube is for videos, not for music files per se. To be able to upload music you need to make a video file out of them, which means you need to have some visuals to go with the audio, and some software to combine them.

Now what to use as a visual can be simple or complex. The simplest is a single image shown throughout the entire video, no effects, nothing. Of course the most complex is some giant music video with synchronised dancers, claymation, and transforming robots, but I’m not trying to go there. Other options are multiple full screen still images, swapped in at various intervals, and possibly including effects and such (like spinning or sliding onto the screen, etc etc).

If we rule out giant killer robot bollywood and just stick with the still image approach (quite popular for music on youtube), the way to achieve this is to grab some video editting software. Windows Movie Maker on windows is fine, I’m ignorant of macs but know they have some really good software. Linux is a bit painful for this (it’s what I use), lots of alternatives but all a bit difficult or buggy, I got some mileage out of avidemux. Modern phones even seem to have some limited video editting software, which might work, or be a world of hurt.

What I actually managed to make work on Ubuntu for this specific task was a command line utility called mencoder. I recorded the audio and mastered is with Audacity, made a title page image using the Gimp, created the movie (mpeg) file using mencoder, and uploaded the result to youtube. If you allow for handwaving around the proprietary mp3 format, and youtube itself, then it was free software all the way. Lovely! Here’s the result.

But you know, the whole thing is still a bit too hard, even with decent gui video editing software. Why? Because what you want to do is take an mp3, an image, stick them together, and put it on youtube. What you actually have to do is open a video editor, import your images and audio in, author the video probably using a timeline, export the video in a format appropriate for youtube to your hard drive somewhere, find and upload that video to youtube, and either delete the file from your harddrive or leave it lying around as one more piece of kruft weighing down a life already weighed down with a surfeit of digital crap.

I’m thinking what I’d like to see is a web site for doing this. It would be specifically targeted at uploading audio files to youtube. It would allow you to choose the audio file, choose an image(s), and probably it would need to know your youtube login details. It would then upload the audio and image files, create the movie file for you, and upload it to youtube, all without your intervention, and without you needing to know a lot of detail about file formats and file sizes and whatnot.

I figure that if you were to do this at any reasonable scale, you’d need a master website, but you’d also need video processing machines to do the work. Very simply, a linux box with mencoder to do the work would fill this role nicely. Add a daemon to notice video processing jobs that need doing, invoke mencoder, upload the results to youtube, inform the master website as it goes. Add a webservice for the master website to use to create jobs and monitor their progress.

For the master website, anything with some server side processing and some kind of data store would do nicely.

A feasible cheap implementation would use Google App Engine for the master website, and Amazon Elastic Compute cloud to run the linux boxes. I did some calcs on this, I think the basic linux boxes (“small” in ECC terms) would cost a bit less than US$600 per year to run 24×7, including enough traffic to handle say 20,000 200000 jobs (the maximum that I estimate one “small” linux box would manage in a year, at 60o jobs / day). In fact I think it’s processing bound, and going to a “medium” high-cpu box would give 5x the performance, so you’d get to 100,000 1,000,000 jobs per year, at a bit over double the cost. Note that traffic is negligible in these calculations; transfering 100,000 mp3s, assuming 5mb average size, being transferred in from the user’s machine, and out to youtube, would cost $135, and 1,000,000 jobs is $1,350! Also note the storage here is transitory, so we only need working space, it doesn’t grow with total number of jobs (although it does grow with concurrent load).

So 200,000 jobs running on the “small” machine would cost about $600. 1,000,000 jobs running on the high cpu “medium” box would cost roughly $2000.

What really blew me away about these calcs is that I can probably afford to run one server like this and just fund it gratis (ie: my gift to the world). We are talking say $US1200 $US2000, or in the vicinity of $1500 $2500 Aussie dollars per year for 100,000 1,000,000 jobs. I probably spend near that on lunch at work each year, and I often take a packed lunch.

More sensibly, there’s a freemium model in there somewhere that’d work. From google adsense, to paid user accounts with some extra features, to a paypal begging bowl or stickers for sale, it’s just not a lot of cost to recoup.

I’m feeling quite post-abundance anarchistic these days. If there’s a mission for my life at the moment, it’s this:

  • Find something, even if it’s trivial. Make it free for everyone forever. Repeat.

This is one of those. It’s trivial, but I could make it exist and make it free. It’s low hanging fruit (it’s just not hard), and I’d learn a heap from doing it. So, it’s on!

Other ideas to add later: You could allow more complex tools for video creation, including a general timeline approach. You could allow pure audio editing, allowing people to compose an audio track out of other pieces, including effects etc. You could allow people to download results in whatever format they desire (ie: do conversions for them). You could provide a long upload service for youtube, automating chopping long videos into 10 minute lengths and uploading them all appropriately. etc.

Two grandstanding posts I did on the OpenManufacturing list.

First:

2009/8/4 Bryan Bishop :
>
> On Mon, Aug 3, 2009 at 5:48 PM, Paul D. Fernhout wrote:
>> Philippe Van Nedervelde wrote:
>>> Why would future-Apple and future-BMW still go to the trouble and expense of
>>> designing products? How would they be appropriately (by their
>>> standards) rewarded for their efforts and investments?
>>
>> Why would we need such companies anymore in such an abundant future? What is
>> really their primary purpose even now? What is their justification? Maybe
>> there is one, but please be clear about it.
>
> Have you noticed how futurism has kind of stagnated, Paul? To the
> point that there are so many typical assumptions that have been kept
> around, but yet here I am thinking that these issues were solved
> decades ago, but yet they still seem to be coming up. What’s gone
> wrong? It would be exceedingly helpful to write a ridiculously concise
> document that lists “common woes and common problems”, and then lists
> the solutions that are more or less not wacky that happen to solve
> those problems .. for instance, “well what if the robots put me out of
> the job? Good news! You need to reconsider the need for a job in the
> first place.” And so on.

About futurism stagnating – yes! I’ve particularly noticed it in the
transhumanist arena (wta/humanity+, extropians, etc). The future
they’re cheering for increasingly looks retro, meanwhile they seem to
be missing the awesome strangeness of the present. (eg: Humanity+
releases a glossy paper magazine, wtf?)

Unfortunately, the brave new future in many of these circles is bound
up in obsolete economic assumptions, reifying the government (wta talk
lefties) or the market (extropian libertopians). So for instance in
the discussions of nanotech recently, there are lefties talking about
the importance of control of nanotech, and market types wondering
about approaches to artificially maintain scarcity and thus save the
economy. All these people have stopped paying attention.

Meanwhile, this beautiful, undesigned flower of abundant anarchy
unfolds before our eyes, springing up out of the manure of capitalism.
What a time to be alive!

Second:

2009/8/4 Philippe Van Nedervelde <philipvn@gmail.com>:
>
> On Tue, Aug 4, 2009 at 2:34 AM, Bryan Bishop <kanzure@gmail.com> wrote:
>>
>> On Mon, Aug 3, 2009 at 7:26 PM, Philippe Van Nedervelde wrote:
>> > On Tue, Aug 4, 2009 at 12:48 AM, Paul D. Fernhout wrote:
>> >>
>> >> Philippe Van Nedervelde wrote:
>> >> > Why would future-Apple and future-BMW still go to the trouble and
>> >> > expense of
>> >> > designing products? How would they be appropriately (by their
>> >> > standards) rewarded for their efforts and investments?
>> >>
>> >> Why would we need such companies anymore in such an abundant future?
>> >
>> > Why bring up *need*?  These companies create products millions of people
>> > *want*. There’s a difference.
>> >
>> > Future people will only nanofacture objects they really *need*?
>>
>> No, they would have their tools build what they want for them.
>
> Where will their tools get the design for the product designed by a group of
> people who rightfully expect to be rewarded for their creative /
> innovative design efforts?  An unauthorized copy of that design?

Wrong question. You should first ask “Where will their tools get the
design for the product?” The answer is very likely they will get it
from what we today would call an amateur. Expect mass amateurization
(see Clay Shirky’s “Here Comes Everybody”) to eat most or all of
professional work like the Nothing eating Fantasia in the Neverending
Story.

Today we are used to getting our interesting complex
information/physical products from large hierarchically structured
groups of people, motivated by financial reward. The real minds behind
these products are people who work inside these groups, for a few
reasons:
- Money to live
- It’s where the action is

- It’s where the action is: Ignoring payment for the moment, many
creative people have traditionally worked in industry because it’s
where you could reach the pinacle of achievement. If you dream to
design real cars, you must work for a car company, because they have
the plant, the finances, the reach. Also, your peers, the people you
desperately want to mix with, learn from, create with, work in the car
companies. Similarly with computers and software and music and
appliances and etc etc etc.

But this is becoming less true. The internet has dropped not only the
cost of collaboration, but the cost of casual collaboration, down
toward zero (and it races closer by the day). So in industries where
there is no plant and financial and distribution barrier (packaged
software, photography, newspapers and magazines, encyclopedias, …)
an alternative model has emerged where you can do significant, world
changing creative work without all that commercial world
infrastructure to support you, because your peers have also recognised
that fact, so real creative buzz is happening in the “amateur” space
online.

(Speaking as an old school software professional, the “amateur”
alternative, viewed from the mixing-with-great-people angle, is vastly
superior to anything you can now find in the workplace, excepting
maybe if you work for google or something like that, but I’m sceptical
even there)

Plant and finances generally are still an issue in physical
manufacturing, but the reach problem is partly solved, the marketing
part. Distribution remains an issue, but less and less.

- Money to live: Currently most of us depend on traditional jobs or
other means of support while this stuff bootstraps. But I feel more
and more that this is temporary. The price of anything that lives
largely in the digital domain crashes toward zero. Why? Because of the
“where the action is” effect, combined with billions of souls. With
the amount of people in the game, anyone who tries to do anything
mostly informational, and hold out for profits, gets undercut by
excellent alternatives created by “amateurs” (ie: highly skilled
people collaborating for love), or by new businesses who understand
that the digital realm doesn’t mean new opportunities for massive
profit, it actually means replacing the outputs of giant corporations
with the mind children of a couple of guys in a garage living off
google ads and t-shirt sales.

This process will continue, and the digital realm’s race-to-the-bottom
economics will bleed out into the rest of our reality. The main
contributors on this list are a great example of people trying hard to
make this happen.

Now above you are talking about MNT, but it’s a long and relatively
textured path from here to there, and the path contains many interim
stages. We have the home fabbing people now, we’ll have consumer 3d
printing in the near future. Not long after that, the race to really
make 3d printers that can make more 3d printers, to make open source
feedstocks, to break out of the corporate shackles in a way that we
haven’t been able to do with 2d printers, will be well and truly on.
You can see that from “consumer” behaviour now; “consumer” is just a
really derogatory synonym for “person”, and those people are aware of
the contempt inherent in the consumer-corporate relationship.

It’s this process which will see, for the physical goods industries,
the “plant” dropping into the consumer price range on the way to zero,
and the distribution costs disappearing (because you fab it yourself).
Physical things start behaving like digital things at this point.

Also during this process, we should see real material benefits
accruing to everyone. It will just be a lot cheaper to have a decent
standard of living, with the things you want. This feeds back into the
“money to live” component of how people create for free – it’ll become
a lot cheaper to support your habit of free creation. This in turn
feeds back into even more downward pressure on the prices of the
products of minds, which increasingly are everything.

In fact, well before MNT, I’m betting that we’ll see this current
society, structured around payed labour and consumption, well and
truly broken, and replaced by something else. Whatever that is, it’s
probably not going to contain much of an IP protection regime. Why?
Because if it’s not explicitly dismantled, it’ll just get routed
around by the efforts of “amateurs” (all of us), to replace protection
laden corporate product with free licensed alternatives, exactly as is
happening (in its early stages) now. In each industry, the closed IP
will first look superior to the open alternative, then roughly
equivalent, then a tipping point will be reached where the drawbacks
of closed IP outweigh the benefits for all players, and it’ll die.

So, by the time we reach MNT, the context will have changed so much
that your original question will be semantically empty. To the extent
that organised groups of professionals will still be working for
profit, it’s far less likely they’ll be trying to charge for designs
than it is that they’ll be giving out free designs and hoping they
impress you enough that you’ll buy a t-shirt.

I posted this on Open Manufacturing recently, in response to someone discussing how he might make money from client side packaged software (he wanted to use a delayed-release gpl, so he’d be open source, but no one could compete with him for the initial period).

My two cents: Don’t do it.

1 – You are violating your own ethics. You clearly don’t want to close
your code in this way, even for a short time. If you really wanted to
close it, you’d keep it hidden.
2 – I assume you want this non-gpl period because you want a lock of
some kind; a way to give yourself a monopoly for a period of time. I
don’t think it’ll really help much though. If people want to pirate
it, they will. The small sliver of law abiding people who will pay you
if you are the only supplier, but might not if there were other
options, how many of those people are there really?
3 – Meanwhile, in the free software arena, you’ll lose credibility for
this odd approach.

Do you have a copy of “Here Comes Everybody”, by Clay Shirky? He
describes the mass amateurization of some professions in the modern
connected world (journalists and photographers are the two examples he
gives). I think packaged client side software is slowly being eaten by
mass amateurization (hooray! what an amazing development for the
world!), and is a bad place to be looking for commercial income at the
moment. One of the best indicators of this is that you’ll find
yourself having to do all kinds of nasty protectionist things in order
to make any money, and I suspect they only work for the big incumbents
in any case, and even there probably not for all that much longer.

Remember when there used to be Shareware? Ah, the 90s. I don’t really
miss it though :-)

All the software I see these days that has a hope of making money has
a server based component. Server side gives you control, which is good
for you. It also means extra options for the users, which is good for
them.

Some software lends itself to this better than others. Facebook, yes.
Image editing software, not so much. Your project, maybe it closer to
a client side thing than a server side thing? I’m not sure.

A problem with server based solutions is they don’t feel very open,
but this needn’t be the case. You can make entirely open solutions
here, keep your integrity intact and also service your wallet. Here’s
my plan for how:

I’m assuming a client-side type of application. Let’s say yours is
largely about designing 3D objects, which end up saved to files, and
is in this class.

1 – Make the client side app. Make it do everything you currently want
it to do. Make it entirely free, release the code under the GPL. Give
it away.
2 – Look at how you can add value by providing a server side. The most
obvious way is to provide sharing capabilities for whatever “files”
your program produces. Think social network. Lots of social tools.
Make this side of things entirely optional, but damned useful. You can
charge for this.
3 – Release your server side code for free, GPL it. Make it possible
for people to set up their own private (or public!) server if they
want to.

So you end up releasing an excellent, 21st century product, entirely
free, and value add by providing a hosted server side service.
Maintain your reputation and I think customers will follow.

Really work hard on making sure people can use your entire solution
for free on their own infrastructure if they want to, never hobble it.
You don’t need any artificial lock in here. Just the fact that you are
clearly trustworthy and competent and committed to openness means that
when people see and like the server side stuff, they’ll be most likely
to use your service, even if there are other free alternatives. Oh and
I imagine integration with your servers would probably be very
slightly easier than with any others people set up, even if it’s just
because the menu options go “Use Official Server | Configure a private
server”.

btw, you get excellent trust by making the server side free, because
you address the “what if this commercial service folds?” problem.
People know that at worst they can always host it themselves, so they
feel safe using your commercial service (oh remember to provide import
and export functions).

Tomorrow (Sunday 28, 2009) at 3pm, Jodie and I are giving a concert at St John’s Anglican Church, Halifax St, Adelaide City. It includes two voice a capella, jazz, art songs, gospel, early music, full choir (Prospect Singers), piano & cello (Tony Lillywhite & Claire Oremland), and some giant oratorio with organ. It’ll be awesome!

Here’s a recording we made a couple of hours ago. It’s surprisingly cool, have a listen.

Update: Direct link to mp3.

I don’t have a well formed idea for what I want to write in this post, but there’s something. This one’s going to be an interrupted kind of stream of consciousness I guess, what will be will be.

Interrupted because I’m typing on this tiny little asus netbook, which really has far too small a keyboard. Damn it’s so frustrating to use for this! But I’m sitting in bed next to my darling wife, so I’m not going to switch to another machine. I’ll just put up with the annoyance.

And, you know, this little machine has brought me a deal of happiness, even though it is irritating. Not because I needed another machine, far from it, it’s the ninth in the house, I have a giant beast of a notebook just in the other room to use whenever I like. But I’ve really wanted this thing for a while, because i had a vision of a tiny machine for reading books on and generally treating like a book, and going away from commercial tomes and toward free material, and I’ve realised it with this thing.

But otoh it’s just more stuff, isn’t it? Stuff is just a collection of anchors.

Rambling. What I’m trying to say is getting closer to beginning to come out. I’m getting a glimpse of the themes. They’re something about love, and about meaning, and how you can live inside this arbitrary thing we find ourselves in.

But it’s no clearer than that.

Ok, love. What’s that all about?

Ever since I can first remember thinking about anything, I’ve found myself in a meaningless universe. Most things are inconclusive to me, many possibilities, no clear lines. With meaning though, I’ve never been able to escape the clear absolute truth that there is none, at least in an absolute sense. There just can’t be, all arguments for it are circular. Absolute meaning can only come from outside the system, and as soon as it tries to intrude, it’s sucked into the milleau, losing its special status.

Related to this, is the problem of relative morality, the thing believers criticise us Atheists for. If morality is ungrounded, then you can just be for anything, can’t you? There’s no reason to hold one moral code or another, no reason not to go smashing stuff, and all the nihilistic crazy talk.

Actually, the sophisticated atheist will say, hey, wait, we evolved to do all this social stuff, and you know, evolution gives us our moral code. Which is the naturalistic fallacy. You can’t fall back on evolution, because you can’t get to aught from is.

And so I get lost in that stuff. There really is no ground. Why get up in the morning?

And yet I do. I live a moral life, and a happy one, and it’s a pretty standard one. Family is at the heart of things for me. How can that work?

I think what is central is that, when I think nothing matters, I just have to remember the people that I love, and who love me. Jodie, and my beautiful kids, primarily. Try as I might, there is no way for me to feel that they don’t matter, they just always do. And then from there everything else falls out, there’s my moral floor. For instance, it’s from reasoning based on these close relationships that I can see that each individual matters, is important, embedded as we all are in the web of social networks. So I come to my clearest basic universal moral tenet; it’s all about the people. People are a good, in and of themselves. That is my guide in all things.

I know this is still deep in the naturalistic fallacy, that, to quote a famous toon, it’s just the way I’m drawn. But I don’t think I can reason myself around it. I’m glad about that.

So I’ve been thinking about why I blog. Who the hell am I writing to? It’s not like anyone much really reads it after all (well, a few awesome people do, you guys rock, of course, but it’s no mass media publication is what I’m saying).

I’ve realised that it’s from a sense of deterioration with age. I look back on 37 years of life, and it’s hazy. What things have happened? When did they happen, and with whom, and it what sequence. I’ve noticed that I can’t answer that stuff anymore. Much of my childhood is just gone, I think, and my adult life too. I know I must have lived it, must have done stuff, but I couldn’t tell you what. Moreover, the things I do recall I often don’t trust. We make up most of our memories I think.

I lost a lot of those memories through lack of rehearsal. A lot of the past is painful, and I figured out at some point that it’s best not to keep on going over it. But, if you don’t take the old tapes out and play them once in a while, they degrade. I also think that the very requirement for rehearsing memory makes it suspect in any case. Iterative biases and reinvention must dominate over time. What’s left is barely a memory, it’s a fictional narrative of how each of us, as the main character of the universe, takes fates gifts and punishments.

So I’m really writing for me, and for those close to me maybe.

I guess I’m writing into the future. I’m writing to future Emlyn. Hey there future me, I hope that brain hasn’t gotten too much shakier, and I hope you got that neural internet interface we always wanted. I’m not editing this, so it’s real, you didn’t fabricate it. For what that’s worth.

Also, maybe my kids will read it one day? Hi you guys. I hope we’re still on speaking terms, families do fall out. More often than not, if my statistically insignificant experience is anything to go by (which it probably isn’t). Maybe I’m dead by the time you see this? Man, well, that’s a bit suck. I hope the future is working out. Maybe I screw shit up royally sometime between writing this and you reading it, I hope not. But I tell you what, I love you guys more than I can say. I can’t work out how I get the  privellege of being your Dad, it’s a hell of a good trick. I’m so damned proud of you.

(I can’t really write anything like this to my wife in the future because I know she reads this, but hey there love, you’re beautiful and you blow my mind every day, I love you!)

Anyway, how sooky! holy crap.

What I’m trying to say is, the meaning of life is other people, the people that you love. Everything else is bullshit.

That’s it, I’m really moving into the Cloud.

What am I moving from?

Currently, I have my website at emlynoregan.com . I rewrote it a year or two ago, after an earlier effort some years before that. It’s in C#, asp.net, database is SQL Server 2005. It’s hosted in a virtual host environment at webhost4life.com.

When I built it, it was to be my online home. I have 1 gb of online space, into which went all music and software I wanted to make available. The site has blogging type functionality (lists lists lists), which is used in various ways. Also, it has a secure part allowing me to admin the site, write articles, etc etc. It’s not very web 2.0 though, there’s nowhere for user comments and such. I did build a rudimentary user profile system, and users can sign up to it, but being a logged in user achieves nothing unless you are me.

Since then, the world has changed.

I think the most profound changes of the web 2.0 era are that you can do a lot more on the web, and the free services are no longer crappy substitutes for paid services. Ubiquitous streaming video blows my mind, google’s alleged ongoing losses from youtube notwithstanding. On the topic of video, who would you trust to retain your online videos safely into the future? Some paid service? Or youtube? The same goes for documents (google docs), email (gmail, yahoo), photos (flickr, picasa), blogs (wordpress.org, blogger.com), etc.

So, the purpose of my site is now no longer relevant. The point was to give me a place to present myself, to blog, to put music and software, to organise music and software properly, and to write web apps where appropriate. Now, though, I’m better off blogging in wordpress.org, much better tools, much more comprehensively set up, probably a lot more reliable than my payed my web host. Music can go in the internet archive, or in youtube, or both, and is much more likely to survive in the long term. Distributable software is better hosted in sourceforge (where the code is usually hosted anyway).

I also have email, documents, photos, and social networking requirements, but they are in the cloud already (gmail, google docs, picasa, facebook, twitter).

All that leaves is “presenting myself” (ie: having emlynoregan.com point at some coherent starting point), organising the various music, software, and blogs, and hosting web apps.

All the presenting and organising would be easily managed with a simplistic site structure. I could almost do it with static pages (and v1 might be just that), although there is enough music, and enough versions of software, that some basic data driven functionality would help (ie: a little catalog).

As to webapps, I never did a lot of that in the past, but I really want to in the future. I’ve been learning Python, and really want to work with it. Also, I’m keen to write some facebook apps, particularly games.

There is another reason that I want to replace my existing site, which is that it is written in c#. I love the language, but the whole Microsoft stack comes with it, and I really want to move away from it. I’ve been solely in that world for most of my professional career, and it’s time to broaden my horizons, especially since I suspect we could see a wholesale shift away from MS in the next five to ten years, a collapse of their network effect. Best to be ready for that.

Where I want to go to is a google app engine based site, written in Python, storing data in the app engine’s data store. All my big distributable content can go into free services as above. The site can use google authentication where auth is necessary, and I can just have simplistic code to let me maintain a catalog of that stuff, and keep basic pages up to date.

With google app engine I can also do web apps, and I can do facebook apps apparently.

The code can all go into a free subversion (svn) service (google code looks like a good contender, or else maybe sourceforge or one of the others). I’m using Ubuntu on my laptop these days, and I’d like to develop directly in it (not in a windows based VM as I have done in the past), but I think that’s easily manageable. I already have Eclipse with PyDev running on it, and I have the google app engine developer sdk going with that, and I’ve managed to get a hello world level of site going, so that stuff all seems to work well.

I think my plan then is:
- Get an extremely basic site going (probably a one page “hello world” site), with my local dev environment sorted out
- Get that into svn somewhere
- Get a workable first site going
- Get all my software and music off my existing site and into free services as above
- Redirect emlynoregan.com to the new site
- Turn off the existing site
- Cheer!

It occurs to me that if I were to design a robot to do all the things a human does, it’d have a control panel, or administration interface. This is the equivalent of the Settings menu or Properties page in various software. That control panel would likely be internal, operated by the robot’s mind, but it would be there.

I would do this because a general intelligence, being able to think about and plan for the future, can know in advance what capabilities it needs. For example, sometimes it’s good to store fat (because there could be food shortages ahead), so a “Store Fat Mode” would be nice. On the other hand, in modern western society, calories are abundant, and it would be better to stay at a particular desired weight / body shape / etc, so “Maintain Weight Mode” would be more appropriate. Or “Add Muscle mode”, or “Overclocked Metabolism mode”, etc etc. The possibilities are endless.

But humans don’t work that way. Watching “The Biggest Loser” a bit recently (yes that makes me the loser), it strikes me that we have made weight loss into a moral endeavour. “No pain no gain”. We invoke purity/sanctity, the message is “you have sinned, now you must do penance, and only then shall you be rewarded with weight loss”. It’s easy to just accept that, because it plays to our fundamental moral systems, but if you think about it rationally, it’s nuts. What’s really happening with weight gain is that we have a system (our bodies) with a regulatory mechanism adapted to calorie shortage, and no administrative override, no calibration features.

Separately, there’s this idea that we need to “burn off” those calories. It assumes this dumb system where calories go in, get used or stored, and the only way to remove stored calories is to use more than you consume, like we have all the systemic complexity of a bucket. If that were true, then seriously fat people could just not eat for a few weeks, and lose big weight, but it doesn’t work like that. I think what’s really going on is a little of this, but more important is that extreme exercise is communicating to the body “The new normal is massive amounts of physical work, so go into a mode where we can do this”. So the body drops the kilos, adds muscle, etc etc, to adapt to what it is being made to do.

And I guess it follows that the purity/sanctity morality is invoked as motivation to keep up the otherwise very unlikely behaviour of high level exercise.

The corollary of this is, I expect, that if you stop the penitential flagelation of the flesh, the body will change back into its “store fat” mode and you’ll be back to weight gain again.

That’s all by way of example. The point I want to make is that it shouldn’t be this hard. Exercise for weight loss is a hack, it’s tricking the body into doing what you want in an indirect way. If you were designing a human from scratch, it wouldn’t be necessary, you’d just go into Settings, and change metabolic modes.

However, if you were designing (or, heaven forbid, evolving) a body to be inhabited by a non-generally intelligent mind, one that can’t plan forward and can’t do meta analysis on its own goal system, you’d build something exactly like what we humans current are. There would be no possibility of intelligent control, so instead you’d have the body have a range of possible behaviours, and move between them in response to its activity and cues from the environment. Also, you’d have the same thing with the brain itself; emotions/moods/cognitive states would all change, not at the behest of the mind, but according to a pre-programmed regime based on physical and environmental cues.

For all the amazing abilities of our bodies, they are a fundamental mismatch for our minds. Even our mental architecture is a fundamental mismatch for the task of being a general intelligence; most of what we are is targetted at coping with a control system totally unlike what we actually possess.

No wonder it’s so weird being human.

This was a comment on Russell Blackford’s blog, Metamagician and the Hellfire Club. He was rather irritated about the internet censorship trial underway in Australia, and particularly about the minister responsible and his performance on an episode of the ABC’s Q&A program. I watched it and wrote the following:

I just watched that Q&A episode, and found it illuminating.

I think Steven Conroy believes in what he is doing, and not for weird right wing / religious reasons. If you listen carefully to what he says, you’ll notice that he is starting with different axioms than most of the rest of us are.

He was defending the filtering trials as just being the same as what we have for books, movies, etc, and pointed out that this blacklist is a pre-existing thing, part of our regular censorship process (previously unenforced/unenforceable).

Imagine you believed in the current censorship regime. Your premise is something like “there are bad things out there that decent people shouldn’t have to see, and it is part of the government’s job to sort that out”. It’s feels anachronistic now, but it’s a mainstream conservative position, that comes out of mainstream conservative values. It also relies on some related unspoken assumptions (part of that value system) relating to the importance of hierarchies, respecting authority, maintaining order, that kind of stuff. Jonathan Haidt explains this better than I ever will: http://www.edge.org/3rd_culture/haidt08/haidt08_index.html .

Saying that this is attacking free speech will not impress someone with this value system. You have to hold a politically small-l liberal set of values to care about freedom more than order. He will hear people saying “free speech” and just think “this person doesn’t know what is good for them”.

What no one articulated in that program were these things:

1. The problem that the government is trying to solve with censorship is indeed a problem, that is not disputed. Things like child pornography are truly bad and wouldn’t exist in a perfect world.

2. However, the only way the censorship solution can work is via an unaccountable body doing the censorship on everyone else’s behalf (Conroy: “If we published the list, it would defeat the purpose of the list”). We do not trust them to do that job. It’s not that we don’t trust Steven Conroy, or the current government bodies in this area in particular, it’s that no one can be trusted with that job in general. That is the fundamental premise of free speech; not that we want child porn, but that there is no way that we can guarantee censorship without abuse.

3. This censorship push is being partly justified by saying “it’s just more of the same, same as with movies, books, games”. What needs to be clearly articulated here is that we don’t believe in that, either. There is no more reason to trust censors with books and movies than with the internet.

So this, I believe, is an old-school liberal vs conservative clash. They believe we need to be protected from ourselves, we say no one can be trusted with that job, particularly anyone who volunteers for it! All the stuff about slowing down the internet, we’ll just be able to circumvent it anyway, etc etc, is a sideshow.

I’d like to see opposition to the filtering grow, knock out the filtering push, then roll on into knocking out censorship in this country altogether.

Esteso Voce Interface #1

I am in the process of inventing a new musical instrument, called the Esteso Voce.

In my previous post I talked about the conceptual path leading to the Esteso Voce. In this post, I detail my first concrete concept for the instrument. To the left is the first shot at the interface (think touchscreen), which I will explain below.

What I didn’t make clear in my previous post was the original inspiration for this instrument. My idea was to be able to extend the voice, using external equipment, such that a single singer could sing a motet or madrigal by themselves.

Now obviously this is not easily possible, in that the different lines generally have different rhythm and words. What I think is achievable via the Esteso Voce is singing homophonic pieces (eg: Taverner’s The Lamb) and pieces in strict canon, also allowing harmonic variation (eg: Byrd’s Non Nobis Domine, which includes canon-style repetition, with some lines in parallel organum fifth). Also a combination of canon and intricate harmonic transposition in realtime is achievable, but I don’t know of any existing music that does this.

(Incidentally, I just listened for the first time to that recording of The Lamb linked above, it’s the best choral singing I’ve ever heard.)

Esteso Voce Flow Diagram

Architectural Overview

The Esteso Voce is in essence a vocal harmoniser combined with delay functionality appropriate for singing in canon. It takes a single vocal input, copies it up to 3 times, delays those copies as desired by the player, and then transposes the copied voices up or down in pitch, as controlled in real-time by the player. The original voice signal and the copies are then recombined and output.

(I intend the singer and the player to be the same person, but they could of course be two different people.)

In the interface, sets of four vertical lines represent these voices. The bolded, or red line, indicates the source vocal (which is being sung by the singer directly).

Wherever there are three sets of controls in a row, these refer to the three copied vocal lines, not to the source vocal. Wherever the source vocal is, the control from such a set of three is affecting the voice on the opposite side of it from the source vocal. Where this effect is relative (eg: in the main harmoniser controls) the effect affects the voice on the opposite side from the source vocal, creating an effect relative the the voice on the same side as the source vocal (which may be the source vocal itself).

Primary Harmonizer Controls

Primary Harmonizer Controls

Primary Harmonizer Controls

The Primary Harmonizer Controls are the main controls for the player to control the transposition of the other vocal lines.

In the diagram, the source voice is the voice 2, the second vertical line (the red one). The line to its left is voice 1 and represents a vocal line which will sit below it in pitch. The two lines to its right (voices 3 and 4) represent two vocal lines; the leftmost of these sits above the source line in pitch, and the rightmost sits above that.

How far the lines are transposed is determined in real time by the circle touched by the player in the appropriate column. Voice 1 is controlled by the column of circles between it and the source voice (each represents a number of semitones to transpose the source down by). Voice 3 is controlled by the column of circles between it and the source voice (each represents a number of semitones to transpose the source up by).

Voice 4 is controlled by the column of circles between it and Voice 3, and the circles represent the amount to transpose Voice 3 by, in order to create Voice 4. This is the same as adding together the transposition amounts for the middle and right hand columns (for Voice 3 and Voice 4), and transposing the source voice by that many semitones.

These controls are intended to be realtime. So, the circle touched in any column has effect while it is touched, and ceases that effect as soon as it is no longer touched. If multiple circles in any column are touched simultaneously, only one is used (the most recently touched? the least recently touched? something else?). If no circle is touched in the column, then the assumed value to transpose by is zero semitones (as if there was a top most row of circles for zero, one of which was being touched).

Next blog, I’ll talk about the rest of the interface, including the Secondary Harmonizer Controls, the Auxilary Controls, and the Delay Controls.

I was having trouble at the start of the year figuring out what projects I’d do this year. So I just rambled back and forth amongst the ideas I had (I’ve posted about them previously here). Finally, obsession emerges from ennui, and I know what it is that I’m going to do.

The project is codenamed Esteso Voce (“Extended Voice”, italian speakers please correct me and I’ll fix it). The intent is to create an instrument which extends what a highly trained singing voice can do, allowing the singer (me!) to achieve sounds and music which could not be achieved unaided, but only including sounds which would be judged by an expert in voice as “authentic acoustic sounds”.

Some explanations to come, but first a little rundown of the history of this idea.

A few years ago (2006 it turns out) I had this idea for making the “poly voce”. I really didn’t know much about digital audio, so I conceptualized it from whole cloth.

Here’s the original document where I laid out the vision/requirements as I saw them.

Realtime Vocal Ensemble Instrument

I sent this to Tyrell Blackburn (a classmate of Jodie’s at the time at Adelaide Uni), and he gave me very interesting feedback, the most important of which was to point me at Max/MSP.

I was just going over the email exchange from 2006 (thank you gmail for remembering everything), and noticed that the day after he told me about Max/MSP, I sent him the first prototype working patches for the concept. It was a manic period.

Tyrell also warned me about the concept of using a midi keyboard for relative pitches, (I talk about it in Realtime Vocal Ensemble Instrument), that it would confuse people who were used to the keyboard mapping to absolute pitches (ie: everyone). It turns out that was absolutely true!

Where I managed to get to was that I made successive prototypes (thank you to Christian Haynes from the Adelaide Con Electronic Music Unit for introducing me to the poly~ object), but they had a lot of lag, and weren’t really ever going to be reliable. I didn’t have a decent laptop and audio equipment for the job at the time, so I was using an underpowered PC, which didn’t help (this stuff is CPU intensive).

I wish I’d made a recording of it in action, but I never did. What I have found are the first prototype patches that I sent to Tyrell, I probably have the others lying around.

Now, the main thing I found out from this process was that this has already been done, this kind of effect is called a Vocal Harmonizer. Christian sent me a link to this, for example. Really amazing stuff. So, I lost my head of steam a bit, thought about buying some off the shelf effects, but never got around to it.

What I also learned in the process was about the PSOLA algorithm (well, I learned only that it exists, and that it requires real-time pitch detection, so all my ranting about no pitch detection is somewhat nullified, but I’ll live). I used a free PSOLA implementation.

Some years passed. During that time I’ve done a few other related things. The most relevant has been a bunch of work with Ableton Live, which I used to make polyphonic music with only my voice, via recording samples in realtime and looping them. Some examples are here, here and here.

The Ableton Live thing shows promise, but honestly I just don’t like that software. It’s just not flexible. There is no user scripting or macros, not much customization for live performance. It has this crappy facility to map keystrokes to actions for using it live, and people go to town with midi->keystroke mapping software, and all kinds of funny stuff, to tie it to foot pedals and the like (and get great results, no doubt about it, eg: this).

And then, I moved to Ubuntu for my main notebook. No more windows only software like Ableton. I really want to embrace the free software scene anyway, and there’s a lot of stuff available for linux, so it’s all good.

And we come to the present. It grabbed me recently that what I want is more than a vocal harmonizer. A vocal harmonizer is an effect, a gimmick.  What it does is good, but the context is wrong.

What I want to build is an instrument, not a piece of software, not a set of effects, not a sound module. The aesthetic is that of a violin or a trumpet or a bassoon. Something acoustically rich, simple in concept. Something which you have to learn to play. Something you don’t particularly customize, rather you master it. An instrument is a musical paradigm in itself.

What does all that high faluting stuff mean though? Well, it means that it can be limited, not endlessly accomodating. So, if I want vocal harmonizer functions, I can have a limited number of voices (I’m thinking of 4). Also, an instrument should have its own unique control system, and I think I’ve invented something a little bit weird but cool for this (for next blog post). Finally, an instrument should sound excellent, and define its own sound, not try to sound like something else. In this, I’m bending things a little, in that the sound is the human voice, but I want to stick to the following principle. This instrument is not for making a mediocre voice sound better. It is for taking a great voice further than the human voice could otherwise go. If being easy to use and sounding beautiful conflict, then beauty wins.

The short list of functions this instrument will have are:

  1. A vocal harmoniser, optimising for excellent sound (they should sound like a plausible, unaltered human voice).
  2. Harmonised voices might support gender changes and other timbral modifications, probably this will involve fun with formants.
  3. Voices can be delayed by a multiple of a player chosen fixed interval (think roughly a “bar”).  This allows the player to sing in canon with themselves.
  4. Harmoniser functions and delay functions can be combined.
  5. May want support for just intonation or other non-even tempered tunings.

The devil will be in the details, but the core idea is combining a vocal harmoniser and a simple delay mechanism.

That’s all I’ve got the energy to write tonight. This will be continued.

Oh, the other important thing: I found the free software successor to Max/MSP, called Pd. Miller Puckette is a genius. It looks as though my first versions will be built in Pd.

« Previous PageNext Page »