Swirl: The Sonic World
A Collaborative Music Environment

Swirl Motivation

The idea is a sonic and 3D graphical virtual shared environent so that different users can interact through some avatars involved in a collaborative music composition. This is based on a client-server architecture, and both the client and server can run on either OS X or Linux. Different human interface devices, including a smart phone with an accelorometer (like iPhone running TouchOSC), mouse and keybaord can be used to control the avatars.

There is a virtual human interaction lab on campus that served as inspiration to our project, (VHIL). A study conducted at VHIL looked at 2,000 children across the country, ages 8-18 years old, and found that they spend 2 hours per day wearing avatars. This is greater than time spent on print media and movies combined.

It's a growing field in terms of relevance and applicability, and many studies are being conducted to determine how people act in such virtual reality environments.

We were inspired by three findings by the Stanford VHIL:

1) Digital anonymity: avatars have made it increasingly easy for users to interact anonymously

2) Out-of-body experience: if your virtual self could "feel" in a virtual world the same way your physical self can feel in the physical world, then acting in a virtual environment would become second-nature

3) Transformed social interaction: when you watch behaviors that take place in collaborative virtual environments, interactions and performance between people are enhanced.

Through Swirl, we hope to set up such a virtual reality in which to exhibit these researcher's findings, and provide a space in which people can engage in enhanced social interactions to create meaningful and collaborative compositions.

Swirl Design

Swirl Manual

Running the server: "swirl s server-address server-port"

(e.g. swirl s 5000)

Running the client: "swirl c client-address client-port server-address server-port avatar-type"

(e.g. swirl c 6000 5000 2)


0: sphere-avatar

1: cone-avatar

2: cube-avatar


'w': move forward

'x': move backward

'[': Turn left

']': Turn right

'a': strafe left

'd': strafe right

's': toggle full-screen

'm': toggle mouse control

'i': toggle smart phone accelorometer control

'1': Drop cube - '2' :Drop sphere (Droppong objects to generate notes when there is a collision)

'q': Quit'