Archive for the ‘Project’ Category

Commotion

Monday, August 22nd, 2005

Commotion is a realtime graphics system that I have been working on for
a while.  It’s Objective-C, OpenGL, and some Cocoa.  I had
started work on it in 2003 for Sha Xin Wei at Georgia Tech‘s New Media
Center
(in the LCC) as a text animation system.  We were working
on the next generation of Hubbub, and Commotion was meant to be a
replacement for ActiveText, a Windows / DirectX animation system by Jason Lewis.
Commotion has still not become as mature as ActiveText, and since Xin
Wei’s move to Canada, it has strayed from the original goal of text
animation to a more broad goal of realtime dynamic object management.

If I were to describe what Commotion does in 30 seconds or less, it would go something like this:

  • Provides a framework of bodies, properties, and services. 
    • Properties can contain any type of value, and will try to coalesce one
      value type into the type you request (obviously, this works better in
      some cases than in others) – very similar to an untyped programming
      language like JavaScript, basic, or python.
    • Bodies contain named properties, ie asking for its "color" property returns a property object.  They can also subscribe to services.
    • Services are bodies that have a list of consumers.  They tend to execute code when sent a message, like doEvent: nil named: @"update" generally does some type of iteration.
  • Organizes properties and bodies using a catalog service.  Catalogs can be nested, and know how to write themselves out to disk (in Apple’s Property List format, an XML schema)
  • Dynamically instantiates classes at run-time, based on an input catalog Property List.  Classes must be subclasses of ComService, since they’re going to be sent events.  Classes can be written in Objective-C or Python.
  • Provides a user interface for setting property values as well as organizing bodies, properties, and services

Survey What is the best for hacking

Tuesday, August 16th, 2005

Which is the best hacking tool?

Choices:

  1. a processor
  2. a Mac
  3. a llama
  4. a musical track
  5. your mom

Discuss, or add your own.

Atlhack User’s Projects

Monday, August 15th, 2005

We joined atlhack to discuss and collaborate on creative code projects. Many interesting projects follow!

Music Editor

Monday, August 15th, 2005

Based the influence of:

Zils and PachetMusaicing (DAFX 01) (results)
Tristan JehanCreating Music by Listening (PhD thesis)

Make a better tool for editing recorded music.

Incorporating more of the musical structure will benefit both novices and experts at making collage and adding samples to works. For example, when "mashing up" existing recordings, one must first establish a tempo grid (source: Boot Camp – Mashing for Beginners). Since many people are working on Machine Listening problems now, we should be able to find a few algorithms good enough to establish a decent tempo grid.

Our overall strategy is to apply the positive results found in machine listening (note segmentation, beat segmentation, timbre similarity, rhythm similarity) in a way that presents a rich but facile interface for making new music out of old music.

We can find additional sources of expertise to apply to our editor. For instance, we can frame our problem of finding a sample out of a huge library as an information visualization problem.