Recent Changes - Search:

Home

Is the Laser up?

People

Publications

Calendar

Projects

Spring 2012

Older Courses

Fall 2011

Spring 2011

Fall 2010

Spring 2010

Fall 2009

Spring 2009

Fall 2008

Spring 2008

Fall 2007

HOWTOs

edit SideBar

LiveImprovMusicEntity

Eric Fairbanks
December 10, 2009

Overview

LIME is a highly customizable environment for live musical arrangement and improvisation. It allows for real time manipulation of pre-existing and streaming audio data.

Screenshot

Concepts Demonstrated

  • The sequence data is a semi-recursive data structure.
  • Data abstraction is used in accessing elements in the sequence and in designing custom keybindings and commands.
  • Symbolic language processing is used by the command system.

External Technology

Impromptu, the Scheme-based multimedia environment that is the foundation of LIME, includes a variety of interfaces to external systems. LIME primarily takes advantage of its Objective C interface (for data manipulation and graphics) and its Audio Unit interface.

Innovation

LIME is innovative in that it strives to provide an extremely modular and customizable, sample-based, live musical improvisation environment. It does this by allowing the user to customize the system to fit his/her needs, and provides a simple toolset for doing so.

Technology Used Block Diagram

A simple block diagram of my software system that illustrates the major technical components and how they interact.

Additional Remarks

Due to the nature of sometimes dealing with lists iteratively and other times processing them recursively, the sequencer ended up being less stable and predictable than I might have liked. Also, all of the basic frameworks that the project is based on are more or less complete, but I didn't have as much time for customization as I had hoped.

Due to the obscurity and incompleteness of the impromptu graphics examples, there are some flickering issues with the graphics. Given time this can be remedied.

Edit - History - Print - Recent Changes - Search
Page last modified on December 10, 2009, at 08:30 AM