The BOEUF conceptual framework

BOEUF is a conceptual framework for modeling and building orchestras of digital musical instruments. It consists of a classification of modes of collaboration, and a set of components which can be used to enable these modes in digital instruments. We developed this classification after conducting interviews with digital musicians who work in ensembles, as well as literature review of work on digital ensembles and collaborative instruments. The word “boeuf” is french slang for a jam session.

Modes of Collaboration

The modes of collaboration are a categorization which is intended to describe all the ways that musicians collaborate and communicate during performance. This includes interactions which are mediated (i.e. take place through some technology) as well as unmediated interactions (which can occur through being in the same space together.)

We propose that there are three modes of collaboration: Cooperation, Communication, and Organisation

Cooperation Modes

Cooperation describes the ways that musicians coordinate their actions with respect to their instruments. This cooperation can be:

Communication Modes

Communication describes how musicians exchange information which may then influence their actions.

Organisation Modes

Organisation describes the relationships between musicians. Organisation does not directly affect the sound production, but it impacts how the communication and cooperation modes operate.

The Boeuf Components

The Boeuf Components are intended as a generic set of components that would be needed to implement the Cooperation and Communication modes described above. Most, but not all, of these are implemented as objects in the bf-pd library. And there are some differences between these conceptual components and their actual implementation in bf-pd.

In bf-pd the bf-session object is used to join a session.

In bf-pd the bf-instrument object is used to instantiate an instrument.

These actions are always accessible to the instrument that owns the parameter, but permission may be needed for other instruments to access another instrument’s parameter. Concurrent access can be managed in different ways. For example, by grabbing a parameter so that only one instrument can access it at a time.

In bf-pd the bf-param object is used to instantiate a parameter. bf-param enables most of these actions, however grabbing is not currently possible.

In bf-pd the bf-output object can be used.

In bf-pd each instrument has an activity monitor that displays a simplified spectrum of the instrument’s output. In the collab window a musician can see this meter for all other instruments in the session. (Note: In bf-pd’s collab window, the view of other instruments’ parameters can effectively function as meters.)

Note: Groups are not explicitly enabled in the current version of the bf-pd library.

Note: Modules are not explicitly implemented in the current version of the bf-pd library.

Note: While many messages are sent between objects in bf-pd, bf-pd does not currently enable arbitrary or user-defined messages.

For more information :