Extensions:Uni-Verse/UVAS

提供: wiki
移動先: 案内検索

Introduction

The purpose of this document is to provide user's guide for Uni-Verse Acoustic Simulation (UVAS), which is a computer software for room acoustic simulation. The UVAS can be used with other Uni-Verse tools for creating acoustic simulations and interactive spatial audio environments from dynamic 3D geometries.

The UVAS is closely related to the Uni-Verse Sound Renderer. UVAS does the modelling of sound propagation in the given geometry. The instructions how to render the audio environment is sent through Uni-Verse Sound Rendering Protocol (UVSRP) to the Uni-Verse Sound Renderer. The renderer is the back end for a chain of acoustic simulation modules and reproduces the sound for the listener using loudspeakers or headphones.

Installation

The installation procedure is depending on the operating system, but the general requirements and building instruction are given in this section is valid on the Linux platform.

Supported operating systems

UVAS currently only works in Linux. It should be relativly easy to build UVAS on Windows using Cygwin as earlier versions of UVAS has been running on this platform.

Requirements

Some other software libraries are required to build the Acoustic Simulation module. On most operating systems, most of these libraries are shared or dynamic libraries which must be installed at proper locations.

The dependencies are:

Pthread
POSIX thread libraries are native in Unix and Linux distributions, but not in Windows. However, they can be found as open source.
Verse
Of course, the Verse library is required to build the Acoustic Simulation module. More information can be found at the Verse main site.
OpenGL
This library is needed for the graphical display. It is commonly used on many operating systems and might be already installed. More information can be found at OpenGL's official site.
GLU
This is a third party utility library for OpenGL which is used to simplify some tasks related to graphics. More information can be found at OpenGL's official site.
GLUT
This is OpenGL Utility Toolkit by Mark Kilgard. More information can be found at OpenGL's official site.
CppUnit
CppUnit is a unit testing framework for C++. More information and the sources can be found at: the CppUnit homepage.
TNT
The Template Numerical Toolkit (TNT) is a collection of interfaces and reference implementations of numerical objects useful for scientific computing in C++. More information and the sources can be found at: the TNT homepage.
JAMA/C++
JAMA/C++: a translation of the Java Matrix Library, developed by the Mathworks and NIST, into C++. More information and the sources can be found at: the TNT homepage.
GPC
The University of Manchester General Polygon Clipper (GPC) library. More information and the sources can be obtained at: the GPC home page. The files from the GPC distribution is included in the source distribution of UVAS.
SGIGLU
Incoperated example code from the SGI GLU implementation. This code is included in the UVAS release.

Building UVAS

The source can be downloaded from: sources.

Unpacking the distribution file:

   $ tar xzf uvas_1_0_0_src.tgz

This will create the uvas_1_0_0 directory.

To build UVAS change the working directory to $uvas_1_0_0/src. Before you start to build UVAS check the paths varables in the Makefile. To start the buld process type:

   
   $ make

Running UVAS

To run UVAS in normal cases a verse server must be attached to the fornt-end using the -v option and to get any audible result a audio renderer must be attached to the back-end using the -u option.

Comand-line syntax

Comand-line syntax is:

   $ uvas [options]

The options are:

-a <integer>
The number candidates tested for each new partition in the BSP tree.
-B
Sets the program to Beam-tracing mode. this is the default. Can not be use together with -P.
-d
Show graphics window, plots a visual interactive representation of the scene.
-e
Print a trace of events at the back-end in to the standard output
-l <integer>
Set the trace level. Value greater that zero cause a trace of the program execution to be printed to the standard output. The higher value the more will be traced. Warning, setting this option can generate a huge amount of data.
-M
Filter out all geometry without any acoustic materials attached. (Only materials with names containing “##” are considered as acoustic materials)
-o <integer>
Sets the maximum order of reflection in the simulation, default is 2.
-p <real>
Maximum length of refection paths, default is 50.
-P
Set program to Perceptual simulation mode, can not be used at the same time as -B.
-q <integer>
Sets the maximum number of transmissions in a reflection path, default is 4.
-r <real>
Set the approximate frame rate of the simulation, in frames per second, default is 30.
-T <real>
Set the tolerance for clustering of plans in the BSP tree, default is 0.03.
-u <ip address[:port]>
Direct the output to an audio renderer, default is to use no renderer.
-v <ip address[:port]>
Verse server to load the simulated world from.

Key Commands

The major use of key commands in UVAS is for the navigation in the visualisation window. N.B. the key commands are in effect only when the graphics window is visible and focused, UVAS must have been started with the -d option.

The navigation is in Quake style.

Navigation

W
forward
S
backward
A
step left
D
step right
MMB Template-MMB.png
steering the direction with mouse movents
LMB Template-LMB.png
fast movements foreward and backwards.
RMB Template-RMB.png
popup menu

Clipping plane

C
toggle clipping plane
⇧ ShiftLMB Template-LMB.png
moves the clipping plane with mouse (left-right)
CtrlLMB Template-LMB.png
rotate the clipping plane with mouse, left-right movement rotates around vertical axis, up-down rotates around horizontal axis.