Soundflower 1.4.1 Released

Fri Nov 14 18:06:00 +0000 2008 (Posted by Tim)

Development Activities
0 Comments

Soundflower 1.4.1 has been released. It can be downloaded over at http://soundflower.googlecode.com.

We ironed most of the bugs out of it. There is one more hiccup still there for users of MaxMSP, where you have to manually set your IO Vector Size after choosing the soundflower input. This problem has been fixed, however, in the upcoming Max 5.0.6 update.

Sensors, Gadgets, and Electrode Fun

Mon Nov 10 21:41:00 +0000 2008 (Posted by Tim)

Misc
0 Comments

Here are a few fun things I’ve run across recently. They’ve either come in though various RSS feeds (a few through http://CreateDigitalMusic.com) and others from friends and co-workers. http://hcgilje.wordpress.com/2008/09/04/wind-up-birds/

  • Thee first is an outdoor installation from HC Gilje. He says “The wind-up birds are a flock of mechanical woodpeckers, having found their first home in a forest in Lillehammer, Norway. Later they fly to Oslo Airport before they migrate to Morocco (as part of the Brussels biennale) for the autumn”
  • And just for fun, Max/MSP (and Tap.Tools) user Daito Manabe has had a video making its way around the web for the last few weeks that is exactly the opposite of using sensors. Instead it’s using music to stimulate muscle movements in his face—great fun!
    http://www.youtube.com/watch?v=YxdlYFCp5Ic

Planning an MVC version of Jamoma

Mon Nov 03 16:04:00 +0000 2008 (Posted by Tim)

Jamoma
0 Comments

While it’s true that we are still working to finish the 0.5 release of Jamoma, we are also planning for the future. Some of the more dramatic plans for the future of Jamoma we are lumping into what we call ‘Jamoma 0.6’.

Jamoma 0.5 is largely about compatibility with Max 5 (though there have been a lot of other improvements as well). Upon the release of 0.5 we are going to become more concerned with maintaining backwards compatibility. This is possible due to the extensive amount of work (and rework) we’ve done, and our confidence in the architecture we now have in place. It is desirable so that our patches won’t break and so that Jamoma can become more widely adopted.

This means we are approaching Jamoma 0.6 with caution, but also with optimism. One of the main goals of 0.6, as we currently see it, is a better separation of the ‘model’ and the ‘view’ layers that comprise a module. The essential functionality will be encapsulated as the model (the so-called ‘fat’ model), and the multiple views will then attach themselves to the model. With some careful planning, we believe that we can do this internally with modules while making no visible changes to patchers that use a module.

The benefits are many:
  • easier code for maintenance and debugging
  • clearer structure
  • more flexible—can make additional views (textual or graphical) without changing the model at all
  • ramping happens in the model, meaning that we can have audio-rate ramping directly implemented by parameters
  • reduced complexity
The approach we are taking is to first finish with stabilizing version 0.5. Then we have a series of prerequisites to address:
  • multichannel audio
  • addressing nodes and attaching to nodes (jcom.send and jcom.receive)
  • multichannel audio

So needless to say, this is a long-term project…

Multichannel Audio Signals in Max

Thu Oct 30 15:44:00 +0000 2008 (Posted by Tim)

Jamoma
0 Comments

A sub-project within the overall Jamoma development has been on working with multichannel systems in a flexible and dynamic way. Doing this with static single-channel MSP signals has been one area that is particularly challenging. To this point we have been using a very clever hack by Trond Lossius to ease the patching of multichannel and ambisonic modules in Jamoma.

At the workshop in Oslo last week we began work on the ‘lydbær’ (soundberry) project within Jamoma. This is a proper implementation of a multichannel, 64-bit, flexible vector size, and dynamically re-patchable signal processing chain based on TTBlue.

While we just began, and we have not yet completed a specification, the proof of concept shown above is actually functioning. The example below shows that you can split the outputs to multiple destinations (fanning patchcords) as well as combining patchcords at an inlet to have them automatically summed.

Designing the DataspaceLib

Wed Oct 29 15:23:00 +0000 2008 (Posted by Tim)

Jamoma
0 Comments

At the Jamoma workshop last December (at iMal in Brussels) we began work on a library of dataspaces. The dataspaces define a set of ‘units’ that can be used to represent a value of a particular class. For example, the value of a volume control can be expressed as linear gain, in MIDI units, using deciBels, etc. Over the past year we have been integrating more and more of this initial work on the ‘DataspaceLib’ into Jamoma’s parameter and messaging system.

Now that we have been working with it for a while we were able to diagram a way to make it work that will be usable and convenient. The implementation of this diagram should hopefully happen by the end of the year. The main ingredients are:

  • A ‘native’ unit: this is what the internal algorithm uses (linear gain, for example). This unit is static, and does not change dynamically.
  • An ‘active’ unit: this is the unit in which the user is specifying the value, and this unit can change dynamically as the user sees fit.
  • A ‘display’ unit: this is what the user interface displays. This potentially can also can be changed on-the-fly by the user.

Using Jamoma

Tue Oct 28 15:11:00 +0000 2008 (Posted by Tim)

Jamoma
0 Comments

Last week we began our Jamoma workshop with an open presentation about Jamoma in the FourMs lab at the University of Oslo. The 3 hour mini-workshop introduced Jamoma, why we created it, and why we believe it is significant. Trond Lossius did most of the heavy lifting for demonstrating how to use the existing modules in Max and create relationships among them.

Toward the end we gave a quick introduction how to create your own custom modules, again led by Trond.

The biggest hurdle for Jamoma right now is for people trying to understand it. The workshops we’ve given have been very effective at communicating about Jamoma and people (including skeptics) are generally quite positive after seeing what we’ve had to say. In the coming weeks and months it is a big priority to improve the written documentation (primarily the tutorials) so that it will be easier for others to leverage the facilities we’ve been work so hard to implement.

Skål

Mon Oct 27 14:53:00 +0000 2008 (Posted by Tim)

Jamoma
0 Comments

Last week The University of Oslo hosted a workshop focused on the development of Jamoma. The workshop was organized by Alexander Refsum Jensenius and sponsored by the FourMs lab. More blog posts will be coming later in the week about some of the topics we discussed, including multichannel audio connections in Max, the dataspace implementation, Open Sound Control nodes, and the plans for the future Jamoma 0.6 where we intend to implement a proper MVC pattern.

In addition to cooking up lots of interesting ideas and discussion, Alexander also cooked up a fantastic traditional Norwegian meal for everyone called fålikål.

Together with some really nice wine (thanks to Pascal) from Southern France, we experienced a nice evening of cultural exchange. Many thanks to Alexander, FourMs, the University of Oslo, and the entire Jamoma team for a fantastic workshop!

Jamoma Workshop

Thu Oct 23 14:52:00 +0000 2008 (Posted by Tim)

Jamoma
0 Comments

Alexander has put together a blog post about this week’s Jamoma workshop: http://www.arj.no/2008/10/23/some-thoughts-on-data-signal-processing-in-max/

It has been very productive, not only in the bug fixing and brainstorming departments, but also for optimization. We have a large MSP/Jamoma patch that was running over 100% CPU early in the week, cut down to 80% a couple of days ago, and now is down to 30%.

It now actually seems possible to have the 0.5 release by the end of the year. Keep your fingers crossed…

Kernel Extensions

Mon Oct 20 16:04:00 +0000 2008 (Posted by Tim)

Development Activities
0 Comments

I’ve been doing some work on Soundflower in the past week. This is my first foray into the world of Apple’s kernel extensions (kexts). There are a couple of things that are a bit finicky about them, but fortunately it is all very well documented. There is an excellent tutorial at http://developer.apple.com/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptIntro/KEXTIntro.html.

It’s nice that Soundflower is getting a little attention now. It’s a really handy utility!

Jamoma 0.5 Beta 4

Sat Oct 18 16:10:00 +0000 2008 (Posted by Tim)

Jamoma
0 Comments

Jamoma 0.5 beta 4 has been released on the Jamoma web site.

This is a significant improvement over the previous betas, and it plays much better with others (like Tap.Tools). This version will be the basis of an upcoming Jamoma presentation and Workshop in Oslo (more details coming soon).

The goal for both Jamoma 0.5 and Tap.Tools 3 is to have these packages properly released by the end of the year.

Next page