Penne ai Funghi Porcini A Delicious Meal Described Using OSC Messages

This was the unusually festive atmosphere for a mid-term examination I took in 2010 inĀ Professor Sha Xin Wei's "Matter and Media" class in the Design and Computational Arts program of Concordia University in Montreal, Canada.

The exam problem started with the creation of a recipe for a dish or drink without using traditional verbal/written language. For example, for a cocktail drink, one team colored segments along a string to represent the relative amounts of each liquid required. The test required other members of the class to make the recipe and evaluate the result.

I chose to create a recipe for one of my favorite italian dishes describing it using the OSC (Open Sound Control) Encoding.

OSC is a popular digital encoding for media control including DAWs, sound synthesizers, lighting controllers, mixing consoles and spatial sound systems.

OSC messages were designed for efficient processing by computers. The specification of OSC largely concerns itself with an unambiguous punctuation with comparable goals to western language punctuation conventions which evolved from the need to guide people in the reading of latin texts written without any.

Alexis Emelianoff was kind enough to cook the dish in the busy kitchen of our teacher's apartment.

We quickly ran out of clean cutlery, so here you see that the dish was enjoyed with chopsticks

I chose Penne ai Funghi Porcini because it involves the unusual process of toasting pasta requiring description of something the cook may not have seen beforeā€“fried and burned pasta.

It is also delicious and easy to modify to satisfy most vegetarians by substituting mushroom stock for chicken stock and using a renet-free cheese alternative to Permesan.

Traditional recipes describe ingredients and prescribed processes. The following recipe with OSC explores a different approach: a sequence of time-stamped messages that describe relationally the state of the kitchen and its contents. The cook has the responsibility and freedom to explore how to achieve the desired states by the given times.

Types are abbreviated:

  • T tool
  • C container
  • F food

Time stamps are abbreviated

M or M:S Minutes, Minutes/Seconds

The OSC messages for the recipe follow this brief guide to the notation:

In english we might say "the box contains chicken stock".

This recipe is expressed inOSC using an entity/relation interpretation of messages with "prefix" name and type-tagged literal values:

/contains C F box, stock

Italian Oregano, Bay Leaves and Tomatoes are all good optional additions. If fresh Porcini's are ready to harvest where you live, you may be able to pick a few fresh Bay leaves too. Dice a few tomatoes or cut a few baby tomatoes in half. The idea is to complement the mushrooms not bury them in a tomato sauce.

This challenge revealed a lot about OSC. I hadn't anticipated how busy the kitchen was going to be so the time stamps should not be thought of as deadlines. They are also not clock time as in the OSC 1.0 specification. This need to be able to represent multiple temporalities is why we introduced a type for time stamps in OSC 1.1

If you have used OSC in a computer application you will know that I break with the usual application of type tags which is to represent primitive data types in digital computers. The openness of OSC was intended to allow for different sorts of types. In entity/relation modeling, type tags are just predicates with the "is a kind of" relation.

The OSC 1.0 specification of messages implies an interpretation of messages as prescriptive calls to change parameter values. This food application uses an interpretation that describes state and reminds us, as we said defining OSC 1.1, that OSC is just an encoding and its success lies in a broad range of ways it can be interpreted in your applications.

Created By
Adrian Freed