Story by
Jenn Wagaman
UAF student Quinton Harris demonstrates his work on VRcussion™ to ARSC staff and interns. As a student employee at the center, Harris assisted in the design of the sound generation feature of VRcussion™.
A view of VRcussion™ as seen in ARSC’s Discovery Lab. The grided spheres provide users with the ability to manipulate sound with the program.
|
From early in the life of the center, ARSC has invested in virtual reality development. A core group of artists, performers and programmers have contributed to these efforts and helped the center’s VR program grow from experimental to one that is a serious contributor in the field of virtual reality development. The latest emergence of this effort lies in the center’s recent development of VRcussion™, unveiled at the 2005 SIGGRAPH conference.
VRcussion™ is a natural outgrowth of the BLUI™ project. BLUI™ began about eight years ago when ARSC Visualization Specialist Bill Brody became interested in creating a 3D painting program that would run in virtual reality. He teamed up with UAF Computer Science Professor Chris Hartman, who was interested in new kinds of computer-user interfaces that would be beneficial in a virtual reality environment. Three years later, UAF Computer Science Professor Glenn Chappell joined the team. The research evolved into a sculpture program, BLUISculpt™, which has since been released on SourceForge.net as an open source resource. The BLUI™ project was a natural first step in exploring computer and user interfaces that could read human body language and interpret certain body movements as input. For example, the researchers used two cameras to track the user’s pointing finger, head shakes for yes and no and dropping of the hands to the side to quit (with a head shake to confirm).
During BLUI™’s development, many students contributed to the project as ARSC student employees, or as summer interns at the center. One of these students, Jesse Niles, contributed his expertise in music and sound development to the BLUI™ project by adding audio features to the sculpture program. At the same time, Niles began developing an audio application for virtual reality. Now, as a full-time user consultant and programmer at ARSC, Niles has joined forces with Brody and UAF Music Professor Scott Deal to create a virtual reality instrument.
At the same time, ARSC’s virtual reality activities have grown from one single-screen ImmersaDesk™ in a classroom during the early days of BLUI™ to a four-screen Fakespace Flying Flex system and two image generators in the ARSC Discovery Lab of today. The addition of Dolby™ Surround Sound with the 13 speakers located throughout the lab gives ARSC researchers the ability to integrate spatialized sound into virtual reality programs adding an extra dimension to the virtual experience. Using these tools, the researchers have created VRcussion™, a program that allows users to play a virtual instrument in a virtual reality environment.
VRcussion™ puts users inside a panorama scene of Pika Pass on the Pika Glacier in the Alaska Range. The scene was photographed by Brody while on a May 2005 expedition to the area. Inside the scene are several spheres that act as the controls for the audio environment. Users can manipulate sounds and create sequences of sounds using the controls.
“It’s like a virtual percussion instrument,” says Brody. “The controls are responsive so you can hit something and, depending on how hard you hit the object, you create a different sound.”
VRcussion™ is written in C++ and uses the VR Juggler API and OpenGL to generate graphics and handle the information produced by the wand and head tracker. VR Juggler uses run-time configuration files to accommodate different hardware configurations so that VRcussion™ can run on the different platforms in the ARSC Discovery Lab, and be used by researchers in other environments.
VRcussion™’s program design uses common object-oriented design patterns to achieve an extensible and easily-maintainable framework. Singleton classes are employed to handle texture mapping, display list generation, and to manage the device input and output, which allows for both global access by the objects and class encapsulation. Singleton classes allow the program control over how an object is used. The object design provides serialization functionality that allows users to capture an entire scene, store it and recall it at a later time.
To produce audio, the program maintains a TCP/IP socket connection to any host that can run Max/MSP. The Max/MSP uses a “Net Receive” object to accept the connection from VRcussion™. During the program’s execution, the wand and head tracking information, as well as the event data from within the application, are sent to Max/MSP. Max/MSP is then used to interpret what is happening in the scene in order to produce audio.
Students Contribute to VRcussion
In the spirit of BLUI™, VRcussion™ is also providing opportunities for students to get involved in the design of the program and to work with the programmers. UAF senior Quinton Harris spent the summer of 2005 working on the audio portion of VRcussion™ and assisting Niles in getting the program ready for its unveiling at SIGGRAPH. While Niles worked on the virtual reality programming and Brody worked on the graphics portion of the program, Harris developed the sound generation side of the project.
Harris’ interest in glitch music was a natural lead into his interest in the VRcussion™ program. The glitch technique involves playing a sound loop and typically changing a parameter of that loop, such as sample start, sample length, sample playback speed, or delay between each repetition of the loop.
Harris designed the sound generation part of VRcussion™ such that messages are sent from the Image Generator, or virtual reality computer, to another computer running Max/MSP. Max/MSP then interprets those messages and plays a sound out. Eventually, Harris designed a virtual synthesizer tool through which users can tweak sounds using knobs that turn on an x,y and z axis. The result is three controllers for users, which control the playback speed, start point and loop length.
“This project has allowed me the freedom to explore many different sides of sound generation,” says Harris. “VRcussion™ now has a solid base for building lots of neat objects. In time, I would like to see a whole playpen of objects available to the performer.”
The Future of VRcussion
Currently, graduate music student Dave Kranavec is working to add a spatialized sound feature to VRcussion™ so that it can be used in conjunction with the tools created by Niles and Harris. Spatialized sound creates a Doppler effect in the lab that moves the sound between the various speakers according to the position of the user. Such an effect adds an additional element of reality to the program, and this experience will allow ARSC researchers to add Doppler effects to other applications in the lab, both artistic and scientific.
Additionally, Niles and Brody are experimenting with the Machine Vision software, which allows the computer to read the shape of the user’s body in real time and to interpret that shape as input. The researcher’s experience with BLUI™ is helping them in their hopes to supplement or ultimately get rid of the wand.
“Machine Vision will augment our knowledge of the user in their environment,” says Brody. “We will use this knowledge to improve user interaction. For example, we will be able to distinguish the two hands and use the spacing between them to mold form and sound—we will be able to grab a sound and juggle with it.”
The Machine Vision software will also let Deal work towards his goal of playing a virtual instrument. Much like Brody’s original goal with BLUI™, to sculpt in virtual reality, Deal may one day present a concert using an instrument that doesn’t really exist.
|