09
Jun 11

iOS

It has been way to long since the last post, so here is a brief notification about what’s going on at work (FourMs):

I am currently working on an app for iOS-devices that spits out data from any sensor available via Apples API. This is nothing new since we already has TouchOSC and many others, but I am doing it for a couple of reasons:

  • GDIF – All sensor devices of the same species are created equal, or not. With a common namespace for similar observations (sensor data about the world) we wouldn’t have to care so much about hardware variations and I think GDIF can come to the rescue.
  • Analysis – Some analysis is already available via Apple’s API, but there is more to analysis than pinch and rotate. To get control over these things it makes sense to make an app that can serve as a framework for testing of new ideas.
  • Communication – I’ll come back to the whys on this in an official article
  • Visuals – We need control over the screen. This is not a button/slider app.

So this is for sure a brief post about something that deserve something a lot longer, but first things first! There is more in the pipeline.

cheers
Arve


19
Nov 10

MoCap -> streamViewer

Yesterday we (Kristian, Ståle, Mariusz and me) did some testing of fourMs MoCap equipment, and I had a chance to check how the streamViewer handled things in real life. Below is a screenshot showing graphs from both systems, and it seems like the streamViewer is on the right track to be something useful!

The streamViewer displays everything coming in its inlet automatically. No configuration is needed, but it has become clear that an ignore function for irrelevant data is needed. Then you can filter out any unwanted data streams without having to write code or tweak your data files/sender.

screenshot_streamViewer_Xsens_Qualisys

This image is a screenshot of the streamViewer displaying marker positions from Qualisys and Xsens.

I have added a new mode to the lister as well: Now it has got an adaption flag that works in boundless mode. Basically it allows the lister to update it’s input range while maintaining the output range, i.e. it does adaptive autoscaling of numerical values in incoming lists.

Cheers
Arve


17
Nov 10

streamViewer

In the fourMs-lab at the UiO we have various sensor devices and MoCap-systems that puts out a lot of data. In order to have a straightforward method of evaluating these data, I made the streamViewer (mxj-external), which takes an OSC-stream and displays numerical values in a graph and the OSC-message as a string. StreamViewer can also do analysis on the data, and I am going to implement more features for analysis of data during the next few days. In the image below, only QoM (quantity of motion) is displayed.

streamViewer displaying data sent via UDP from Qualisys QTM.

streamViewer displaying data sent via UDP from Qualisys QTM.

Image of a maxpat with both lister and streamViewer in it.

Image of a maxpat with both lister and streamViewer in it.

In addition to streamViewer I made the lister (mxj-external) which formats message content for the streamViewer (or whatever you might want to format anything for). Lister takes any list of numbers and semantics and scales the numericals in the  entire list according to your preferences. If you put in e.g. an OSC-message with an adress and a lot of integers and floats the message comes out of lister exactly as it went in: the semantics are left untouched and the numbers are scaled to the range you have specified in lister’s arguments. So if you say that any values between 0 and 1000 shall come out as values between 0. and 1. in a strict manner, lister will clip its input range to at 0 and 1000, and values outside this range will be ignored. If you set it to be boundless it will continue scaling values outside the input range as if the input range did not exist. I.e. in boundless mode lister uses the input range to calculate the scaling factor, and ignores the input range.

Cheers
Arve.


01
Oct 10

Location graphics

This week I had two days putting graphics on buildings and things in Oslo, for a new NRK documentary series. We had a trolley with our own mini petrol power plant, a projector and everything else needed for such a happening.

For the animations and statements I made software that allowed us to zoom, position, rotate, scale and flip through the animation with shortcuts on the computer keyboard. The live tags are created with video analysis/transformation software made by me. We did particles steered by a flocking algorithm as well, but I have no photos of it. The software was made with a combination of Xcode with openFrameworks and Max/MSP/Jitter.

The animations comes from NRK.

Here are some mediocre photos taken on an iPhone 3g… Sorry about that, but you’ll get the point.

Live tagging of people passing by. The white (human) body tags are projected on the wall.

Live tagging of people passing by. The white (human) body tags are projected on the wall.

The projector trolley! It is quite nice to have a power plant at hand.

The projector trolley! It is quite nice to have a power plant at hand.

Statements on a tunnel wall.

Statements on a tunnel wall.

Flowers on buildings in Rosenkrantzgate

Flowers on buildings in Rosenkrantzgate

Flowers on trees. Very poor photo of a beautiful projection.

Flowers on trees. Very poor photo of a beautiful projection.

More flowers on trees, and a slightly better photo.

More flowers on trees, and a slightly better photo.


04
Jun 10

I link therefore I am.

I found this over at sparkfun, liked it and want to share what I found:

Four Letter Words from Rob Seward on Vimeo.

cheers Arve.


01
Jun 10

Max JavaScript for LCD-multislider

LCDSlider

LCDSlider

A couple of years ago I posted this, and I quite like how it came out back then. Now I have updated the LCDSlider a bit, made it scalable and added a rename function on slider names. I also think it looks a bit better as it has got a more structured look than the previous version.

The picture is grayscale, but it doesn’t have to be like that. It can be any color you want, and basically anything can be changed inside one JavaScript file. This approach also makes it easy to add new functions and make the LCDSlider something of your own.

Cheers Arve!


29
May 10

aVoon

This post is about aVoon, a software interface for  artistic expression.

Background

The first thing that inspired me to make aVoon was mind maps. When I make mind maps I tend to rely on circles, squares and other basic geometric forms, connect them with lines and add words to explain something that isn’t obvious from symbolic meaning, i.e. being a certain geometric form, the forms position and connections.

In aVoon basic geometric forms, connections and movement resemble an animated version of those mind maps.

Another case that made me want to do aVoon is the traditional container approach to software development, e.g. in a DAW each track is self contained and has certain parameters that can be adjusted. Those parameters are often represented by a knobs position or a discrete number, which is totally fine for a lot of things, but now I want something more flexible and easy on the eyes.

I want something that convey more meaning about the overall state of the app, not limited to discrete info like track one has a gain setting of 1.2 and is panned -1.00001. I want info that in a glimpse tells me how everything relates to everything else without getting vague or blunt.

aVoon

In short aVoon is an attempt to make a generic interface for anything that fits. Like a pair of pants for work. It is not a suit, dress, shirt or whatever. It is work pants with circles, words and lines on it.

The prototype looks like this:

aVoon resembles a mind map with circles that are connected or not, and that move around by themselves or not. (The text at the bottom of the images are debug info, and will change appearance as aVoon matures.)

I want to keep aVoon as simple as possible, and allow users to bring their own semantics to the circles to help convey meaning about something specific. I will use aVoon as front end to granulation, as a spatial controller and as a map for Stompstock (look in the blog archives for more info about Stompstock [guitar effects on screen]).

Currently aVoon knows how to move the circles around, how to respond when circles collide with a window edge, how to connect the circles, how to let you drag circles around, how to send OSC-messages and bundles, how to add and remove circles, how to stop motion and get it going again. It also knows how to load a soundfile and chop it up, but that is just for debugging. It is written in C/C++ and is currently Mac-only.

Hope you like the looks of it. I do.

It will be out in a beta version soon.

cheers Arve.


16
Apr 10

Short post: Just sharing some exiting MIT sensor news

This came in via the MIT-feed today:

“The CBA researchers’ device can do the work of at least six different micromechanical sensors. It can measure linear motion in three dimensions, which would ordinarily require three accelerometers. But it can also gauge its orientation — whether it’s tipped sideways or forward, or it’s been rotated — which would usually require an additional three gyroscopes.” (source: MIT)


20
Jan 10

Just for fun


11
Dec 09

New Stompstock module

BlowStop module

BlowStop module

This is the BlowStop module. It is a simple gate, and the point is that when you put this in your signal chain it will attenuate signal below the threshold. So what is new? Nothing. But by using it after a long reverb or delay you will get a wonderful effect. Big complex sound while playing, and no decay when you stop playing. The old gate, still a tool for unusual noises and choices.