listening to theory

Live blogging the sc symposium

panel: listening to theory

Soumd in film makes film Real and amchors it to the real world. People infer sources of sound with visual cues.

causation – synchresis is synchronization and synthesis. Does sound exist in a vacuum? This a philosophical question. A realed question is where does sound come from?

is an echo one sound or two? Depending on what you think, your perception changes.

what about form and matter? Is it just a medium, or is it the very stuff of sound?

now we are watching a film of car traffic which looks like it might have been filmed in germany. It’s got sounds of cars and wind and birds.

but all the sounds were made in supercollider!

so what was before intentions or agency is now about algorithms and effects.

now renate wieser will speak. She did an installation called the phaedrus machine. This is related to a socratic dialog, which she is describing. Good people are reincarnated as philosphers, bad people as george bush. (These are my words, not hers.)

to practice good life and avoid a bad reincarnation, she has a video game you can play to practice looking for truth. There are sound cues if you reach truth or if you fall from it. The game is audio only and uses a verticle speaker arrangement. You do get feedback in the form of a spreadsheet at the end which described your reincarnation level.

she has another installation called ‘survival of the cutest.’ It’s a play with voices coming out of different speakers. Sc sends them to whatever channel, semi-randomly.

the excell thing with the speadsheet works because sc writes to a tab dilineated file and excell look at it from time to time.

tom hall will speak now. He’s talking about 20th century stuff. Legacy of musical modernism. What is a muscal object? Instruments vs sounds.

20th century had more math stuff in music than any time since the renaissance. Schoenburg came up with twelve tone almost a hundred yaers ago. Stravinsky took it up after schoennburg died.

stravinsky said when he composed with intervals, he was aware of them as objects. Babbitt took up the 12tone. He was up in the maximum diversity of permutations.

set class theory is an american thing. There’s some set class stuff in supercollider, though.

a set can be represented by an array. Tones are integers in equal temperament, much like midi.

he has a pitchcircle class to visualize sets.

powersets are all permutations of elements. A n size powerset will have size 2**n.

tom johnson wrote a piece called ‘chord catalog’ which sounds cool. Http://www.editions75 . . .

break for 5

platform independence

live blogging the sc symposium

Marije baalman is talking about cross platform implementation in supercollider.

sc runs on osx, linux, qindows and freenbsd. It has a language, the synth, the editor, the graphical server. There arr 10 editors. SCapp is os x only. There’s scel for emacs. Scvim is a vi plugin. Sced runs on gedit on linux only. Psychollider is in python, originally just for windows. Jsceclipse is in java. Textmate is osx only. Then there’s scfront, qcollider, squeak, etc.

os x doesn’t always mean SCapp. So we must be aware of editor issues. Scapp and psycollider have sclang inside, so documents run in the same apllication and don’t rely on pipes.

insert snarky comment about sc on linux here: it’s too hard!

the gui abstraction layer solves most of the compatibility issues. These also help with accessibility issues.

you can stick in extra menu items.

HIDs are another compatibility issue. MouseX is now cross platform. Wacom tablets are handled in an os specific way on osx, bur used as an hid by limux.

helpfiles are in html. Scel has an issue because emacs sucks and doesn’t support css with w3m and let’s be clear, this is a violation of the tsandard. The others handle html in different ways, including with a browser.

i am becoming grumpy from lack of food.

scapp uses webkit for html editing, but this creates crap html code. It’s wysiwyg, but not for other viewers. Helper and AutoHelper might be the answer to this. Or perhaps a helpfile template.

compilation issues – there are some preprocessor tags which are platform specific. Unix uses scons, which might be a good idea for os x.

audio drivers are obviously very different. Then there’s hid stuff and wii code. The wii code works on linux but not on os x, alas.

some stuff, like text to speech is os x only.

what about for end users? Audio is the same. Midi is spotty. Hids have different class interfaces, so there’s an abstraction layer. Wiis use the same class interface. I’ve been looking at fixing this btw. I’m sure somebody else will get it first though.

hid stuff has platform specifity in how hids work. Anyway. . .

there’s different installation locations for some default directories. There’s a Platform class which is good for abstraction.

if you need to check for an os, thisProcess.platform.name , gui use GUI.id , emacs use thisProcess.platform.hasFeature(emacs)

my batteries are running low. To check os specifity, look at the helpfile or source file and the location.

if you’re going to distribute, do it cross platform. Remember that key combos are different when writing helpfiles. Make your example code platform independent.

windows support for sc still sucks. But windows sucks.

machine learning panel

Panel discussion on neural stuff. Jan is speaking about self organizing maps, which is a talk he gave at brum last term.
He’s making snapshots for presets. It can be used to find similar presets. That are like ones he likes.
It creates a meta controller, which is more high level.
He can use it to make sound objects.
And it’s bewtween top down and bottom up appraoches.
He’s got a graph on how he uses it. He plays with it to make snapshots. The snapshots are fed into the som which generates simlar material, which he can use for a meta controller. He can make a map of material amd then make a path to traverse the map andthen control where he is on the the path with a slider.
Soms can be used to control anything, including each other.
A snapshot can be an array or an event. His examples use ron’s preset library.
it is an unsupervised neural network.
SynthDescLib lets you make a gui with preset. Or maybe this is jan’s code lib. There is a button to generate a som from presets in the gui. And a matrix comes up. Some of them are green, which are the ones he picked. The others are related. As you click on them it saves your path. There is a slider at the top that moves through the path. You can save your state.

now dan stowell is recapping and he has made soms as a ugen. He is showing the thng he did at the london sc meetup. It runs on the server and gets trained in advance by ana;yzing samples.

it imposes the eq of one sample onto another sample. Which works and is impressive. The som has a visua;izer. Pretty. It is not for download. I find his gui is set up kind of in reverse of how i’d think about it.

too much coffee for me. Pee break now. Ok back.

david has a flickr feed live from here

now nick collins is showing his work on the topic. He’s got an som implementation too. With a helpfile. He analyzes midi files. He breaks them up into little bits. He will release his files shortly.

now he’s talking of reenforcement learning, which is a way of considering an agent acting in the world. (See david’s photo of the slide) a state leads to an action, which in turn effects tje world which changes the state. Reenforcement learning looks at how effective actions are. So the program must have an idea of the world. This must also have a way of grading the reward of how good the world is. So you need to decide if something sounds good.

he has sc code to deal with this. LGDsarsa is on his website.

because machine learning is computationally expensive, it’s often farmed out to an external batch process. Or you can run in non rt mode. Dan has a nice ugen for this called Logger. Thete’s code examples on the mailing list. It creates data files which can then be used for machine learning.

he’s got a self similarities table for a pixies track.

ok, on to the more panelly part

how do you get the reward state in sarsa? Physiological monitoring is one way. Or you can ask the audience which has a delay, but propgate backwards. Or you can do it in a model.

jan is doing a project with thom which is similar but will generate full pieces. Nick reccomends tom mitchells book on machine learning.

why is a reward better than a rule? Why is it more interesting to train a net vs creating rules? Answer is that they can be used for different applications. Ron notes that rules are implicitly present in selection of training material and assumptions. Nick is talking about flexibility and creative machines. Dan says that ron is correct, but the number of possibi;itites in even a small data set is huge. Ron says constraints are cool. Te panel says that supercollider is cool

james, or leader, is talking about intent. What if we inverted rewards to make the audience unhappy? Nick points out it’s still hard to gauge cultural preferences.

there’s a question about specificity vs building an overly large tool. Jan agrees this is a trap. Nick says that specificity is more musically effective. He talks about hard coding. There’s too much variation sometimes.

performances with live evoluion. Using a human as a fitness fnction is slow. Nck talks abut a cmputer as an impovisor. His phd does this, whch you can download. He’s switced to midi becaus featurewards extraction is hard. Jan s talking abut having few slders.

neural network and machine learning

Live blogging the sc symposium
i showed up late for the talk on neural networks, which sucks, but i needed my coffee.
Tje speaker is demonstarting using a neural network to process gestural input from a wiimote. It makes 64 vectors describing the motion of the wimotes. He can train the neural net by making the same gesture over and over.
The auditorium speakers are making a high pitched squeal.
Now he’s talking about continious time recurrent nueral networks. These are used in robotics. They evolve instead of being trained. (Trained ones are called feet forward)
Ollie Brown did some code for this. He sugges that the smoothibg function be rep;aces with hyperbolic tans and become excitation functions and it does not reach equilibrium. You can use this for interactive evolution.
Squeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeazle.
The 60 hz hum has just caused a problem with the demo. The power to the av thing has cut out. Ron is cursing. People in the audience are whistling difference tones to go with the squeal. Somebody od making multiphonics. Now somebody is playing a sine tone on their laptop. Somebody is sampling and granularizing the feedback. The talk has paused. I wish i’d been here for the start because it’s awesome, but without coffee, i’d still have missed it.
A grad student has just come sprinting in with a cable. And the squal has ceased! Applause!
And the source of the squeal was an uniterruptible power supply. Which is why the av input died. Ohhhhhh! We are nearly back online. I wish this disaster had been at the start so i could have seem the whole thing.
The presenter, by the way is Chris Kiefer. Who is now resuming.
He is using a ctrnn to control a synth. And it can be reinitialized and mutated. This sounds cool, but i don’t under stand how it differs from random numbers. Oh, you pick ones you like and evolve from there.
Http://bit.ly/SC-NNs
http://bit.ly/SC-CTRNNS
HTTP://www.olliebrown.com/files/papers/ . . .

Twitter Supercollider App

There are some people twittering supercollider code. They do sound generating apps in 140 characters or less! I’ve just created some code to fetch and play these. It uses a yahoo pipe which looks for tweets tagged with and which seem to contain a playable piece of code. It also does some sanitizing to ignore potentially evil content.
This is a first draft, so it requires a helper script, written in bash, which is called fetch.sh:

#!/bin/bash

curl http://pipes.yahoo.com/pipes/pipe.run?_id=sqg4I0kl3hGkoIu9dPQQIA&_render=r
ss  >   /tmp/rss.xml

The SC code is:


(
r = { 


 Routine.new({
 
  var code, new_code, syn, doc, elements;
  
  inf.do({
  
   "fetching".postln;
  
   "/path/to/fetch.sh".unixCmd;
   
   doc = DOMDocument.new("/tmp/rss.xml");
   doc.read(File.new("/tmp/rss.xml", "r"));
   elements = doc.getElementsByTagName("description");
   
   
   elements.notNil.if ({
   
    new_code = elements.last.getText;
   
    ((new_code == code).not).if ({
   
     code = new_code;
   
     code.postln;
      
     (syn.notNil).if ({ syn.free; s.freeAll; });
     syn = code.interpret;
    });
   });
   60.yield;
  });
 });
 
};

)

r.play;

Replace the path information with the correct one, start the server, select all the code and hit enter. If you find a bug or a way to be evil, please leave a comment.

sc3 keynote

Live blogging sc symposium

keynote

as an aside, david has a tiny sc logo on his badge. Ha ha.

Ron has given an intro and now scott wilson and nick collins are talking about tje supercollider book, coming from mit press. It’s like the c sound book, but for supercollider.

The book is cool. You should buy it.

James McCartney is giving a keynote about single sample code synthesis. He did a 1 sample at a time server in 2001. Synthdefs were c functions. The code is lying around on his website. It doesn’t work and there are missing pieces and is not the same version that he’s talking about.

The current version does block processing. It does a bunch of samples at once. ChucK does single sample, but most do block.

The single sample version of sc has lower performance. And compiling synths took too long. This might not be the case today. It had the same architecture as the current version. There was no distinction between audio rate and control rate, since everything gets evaluated on every sample. You could do one sample feedback.

The whole thing was written in sc. It made c++ code for synthdefs, which was then compiled. He’s showing us what the code looks lile. It looks like c++. Actually, it looks like source for ugens now.

The sc code for ugens returns strings for code generation. This doesn’t need primatives, because the c code is in the sc class. But it’s still c code. This would really not be easier to write, since you wou;d need to know tje structure of the generated code. It would have been beyter to have meta code to describe how the ugen should work.

He’s showing us the source code for his project and now going to tell us why this is a bad idea. This is an unusual keynote. Now he’s telling us about memory issues and registers. Now he’s talking about vectorization and optimation. Now there’s a slid called ‘code pointer swapping.’ Now ‘instruction cacahe’

It might be ok to do single samples once in a while despite performance issues.

There’s a question about faust. He says its interesting and good.

Q: demand ugens can do single sample feedback as a hack, but its inefficient. Te solution is to write your own ugens in c because non block stuff is slow.

Another faust question. Functional programs parallelize better. But faust has no variable names but prefer not to. It makes me a bit dizzy, faust does.

Ron is asking a question about demand rate and jit code and other things that i don’t know how to use. Now ron is asking about synths that change rate on the fly. It’s hard.

Can you set the block size to 1 on sc now? Yes, but then you have chuck.

Confronting the difficukties of learning from the open source for contemporary social movements

live blogging the oekonox conference

social movements and the internet and how ngos use open source.

The internet is chaning political communication. There isa lot of research around these issues, for example: facebook and the obama campaugn. The impact includes previously excluded people. While the means have changed, goals have not.

Floss projects have tried to remain politically neutral. Even as social movemebts try to change the world. They represent a challenge to existing authority.

Social movement theory is explained very quickly by the speaker. One talks about social structures. Others talk about individuals. In the us, people talk about resources.

How new are new social movements? Where do they get their inspiration or resources? Are they product of post industrial economies? Are the participants all middle class? Are they intwrested in post material values? No, especially not in latin america where they engage things like access to clean water.

Resource mobilization theory
it’s good because you can talk about some other vocabulary words that are not meaningful to me.

There are different conflicts like ethnic or religious issues. But people work in more non-heirarchal structures. Maybe.

You’ve got you hacktivists. And then you’ve got your protest announcemebts or usibg email or whatever to progoate political messages.

What are the political unintended consequences of foss?

This theory does not talk of why, just how.

Mobilization structures include ideology. Activists may distrust foss organization may not have goals in common. There has only once been a foss physical protest. Tactics are more about production. Other movements are more about protest, generally.

Are all foss people white male and middle class? This has become more diverse recently. Private companies also participate in foss.

Recruitment is easier because onlibe causes don’t take much time, but the network is weaker.

Some argue that political ideology would reduce participation in open source. For example, the ron paul pitch on ardour certainly alientated me.

Who and how is the master frame defined. There are different ideologies arund the meaning of foss. In some culture, it’s about liberation. But in western europe, not as much.

Strategy and identity. This talk is over my head.

Greenpeace tried to migrate to foss, but had trouble. Indymedia has a principle of unity which includes dedication to foss. People new to technology may have problems with foss.

Dotcauses glue movements together. They are purely virtual. The symbols of actual protest are lost. But information can be widely distributed.

Are hack attacks ethical?

Why invest in social movements? Why do companies invest in foss? To look good! Why social movements use foss? Ngos generally only have one it person who may have a lot of trouble with foss. Do you give real support to your dotcauses? Which of your many ones do you help?

The world social forum will have a panel on foss, but foss may not want to be tied to the wsf. Some wsf folks want to use a foss organizational model.

Foss promotes liberation despite it’s apolitcal veneer.

Question: What about a conflict between openness in foss vs a need for privacy and protection in grups like indymedia? Their enemies will try to spy or disrupt.

Answer: Transparency is ideologically important to indymedia, so they compromise by using human moderation. You cannot impose ideology with technology.

Should they take money from the Ford Foundation?

Queston: If you subscribe to idelogy x, you must use foss. If you subscribe to ideology y, you must use foss. Does it apply to every ideology?

Answer: Human rights and social justice are not the goals of every ideology. If you don’t say what you stand for, somebody else will.

David Cameron says he likes open source. Does that mean it’s apolitical. Or is he a lying bastard who says he’s for lgbt rights but voted against lgbt rights legislation last week.

Question can old ideologies really apply to our shiny new product in which the rules of physics and banking no longer apply? Answer: if you don’t want to be labelled as a marxist, then name yourself as something.

Freedom can stand in conflict with the goals of equality. So how do we frame or name foss? This is still a contest. Is this actually a movement? All of this has happened before and will happen again.

Political agnosticism is dangerous. You must define yourself or else there will be a struggle to define you.

The word meritocracy is certainly a loaded term.

Incidentally, the presenter is using windows on her laptop.

Technlogy is changng our brains. Multitasking comes at the expense of memory.

The internet may be like the printing press. Ideolgies will expand rather than contract.

Key signing parties

live blogging oekonux

i came late, alas. Government ids are used. Language barriers are an issue. Names can become factors of exoticism. This can be meant to be friendly, but people are are asked about their name again and again. Foreigness is empahsized.

Ids are an issue. People may doubt the validity of foreign documents. This can also be framed as a joke. Expired documments may also be an issue.

Gender is an issue, but, the speaker claims, less of an issue than foreign. There is a roll call. Everyone turns to look at women.

Key signing parties provide no extra information. You must know ahead what’s going on. This is mainly an issue for experts.

You can rank keys by degrees of separation. This also creates a gap for noobs. Key signing thus becomes a source of othering.

The key signing party logs create data that can be used to reconstruct social networks. Also, ids come from the state.

Why are id cards worthy of trust?

Untrustworthy people have invalid paperwork, ergo only citizzens are trustworthy.

People who are foreign or exoticized are trust worthy, but their non-normativeness is emphasized.

Small talk can come from projects, but more likely about exoticism.

Processes of otherings impact the community. What is the difference between friendly jokes and the subtle exclusion methods used t perpetuate discrimination?

Which power relations are reproduced in floss?

Question: what should be used instead of id?

Answer: people who actually know each other could sign ids.

Question: is there really a risk of impersonation?

Answer: they say yes, but it’s never actually occured.

Some participants view key signing as a form of public demonstration.

People may gain rank in projects by having a lot of key signing connections. It’s like being golfing buddies.

Key signing parties do not sound like parties. There is no social interaction, especially at conferences.

How does a government identity card enhance trust?

Key signing becomes a social networking tool, which does not further security and may decrease it.

How do you talk to participants about these issues?

A comic book has been suggested. It is non-threatening and can show the other’s experience at being othered.

Personally, i would not even consider going to one of these events. The constant comments i would get around my id would be difficult, to say the least.

Women in foss

live blogging the oekonox conference.

gender gap in technology. Starts from childhood socialization. Leads to life long work division.

There is unequal access to tchnology and imbalance in participation in development.

The number of women in computer science falls every year. Researchers in belgium interviewed girls, who mostly thought that cs sounds boring. Men control the production and distribution of nachines, and thus hey contain a male logic, said the researchers.

Foss is both a social and technical phenomenon.

Researcers mostly look at core developers and less at co-developers or users. Gender is rarely investigated.

The context of foss includes inequsl participation in core development. Andd foss projects tend to be homogenous and masculibe. 1.1% of women are in foss, but do we mean cire, co-dev or active users?

Foss participation has a steeper learning curve. Also hacker culture is male normative. Jargon can be exclusive. Beginner questions are met with irritation. Time is volunteered. Finally, sexual harassment is a problem.

The same forces that exclude women from cs are intensified in foss.

Women are less likely to have help / friends working with them to learn or use foss.

There is a false concept that programmers are the entire story. Not all developers are programmers. There is product management, i18n, testing, documentation, etc.

Discussion of foss must include social activities. The over valuation of coding discourages many people.

What is the specific contribution of women in foss?

Research example in Quebec:

All respondents considered themselves part of a foss community. 15.5% of partcipanrs were women. Half were from the most remote regions of Quebec. Women tended to rank activities: training or promotion, users, community participation, then finally, development.

Half were trainers. A third went to conferences. Only 1 self ided as a coder, but when interviewed, several more spoke of writing code. One, for example set up networks and installs ubuntu in community centers. Is she a ‘user?’

Question from the audience – are the catagories any more suited to men? Answer seems to talk about men having more confidence and possbly overstating their participation vs women understating.

Important conclusion: reduce the emphasis of programming.

Non technical tasks are a gateway drug to more techincal participation and a way to do outreach.

Death Penalty

Amnesty International, UK is currently focusing on the death penalty. They’ve got a column in the London Times on it right now. Some points in it are valid, some are less compelling.
There’s a few different arguments people have about the morality of judicial killing. Some, as the author notes, are pragmatic: what if you’ve got the wrong person? As he notes, DNA evidence has a context in which it was collected and can be contaminated or inapplicable. There’s also the contexts around the trials themselves, like, are the lawyers sober and awake? And then there’s the way that class and race play into trials. People of color are way more likely to get death sentences. And people who have public defenders. And people who have incompetent lawyers. If the death sentence was fairly applied, it would fall with equal likely hood on the rich and the poor, the white and the non-white, etc. It doesn’t and this seems to imply a system where people who are sentences to death are more likely to be people who might not have even been found guilty if they had proper legal representation and a anti-racist jury.
I had an argument with a friend several months ago about the death penalty. As it happened, we had both just heard of the Birmingham pub bombings. This was the most deadly bomb attack from the IRA. My friend argued that certainly that case was one that would have deserved the death penalty. Indeed, the sentencing judge agreed and lamented that he couldn’t administer it. However, later it turned out that the police more or less randomly grabbed a group of Irishmen and tried them. Because the IRA, and by extension all of the Irish, were guilty by nature of all being the same alien other. The actual guilt or innocence of individuals is less important than stamping down on the other as a whole. And the way to stamp down is to give the most harsh penalty we can administer.
I don’t happen to think it’s moral to kill people (except in self-defense) and I’m not keen on it being done in my name, and that’s why I’m against the death penalty. If you think killing people is ok, then you’ve got to be ok with the amount of error which will creep into any system and especially something as fraught with error as the court system. What percentage of “oops, wrong guy” are you willing to tolerate? Because a perfect system is impossible, there will always be some percentage. How much is too much?
And this leads to the strongest pragmatic argument against the death penalty. Do you trust your government with the right to kill you? Maybe you’re not poor or a person of color or otherwise at exceptionally high risk for being accused in error, but it could happen. Would you trust the justice system with your life?