Tik-76.115 Individual Project: Guinea Pig
$Id: index.html,v 1.11 1996/04/22 20:54:50 hynde Exp $

Installation Instructions and Setup

1 · Requirements

The Guinea Pig system is a software package to perform psychoacoustic tests on human test subjects. The software is mainly programmed with Python 1.3, which is an interpreted language. Some timing-critical parts (the Sound Player) are done with the C language.

We have developed Guinea Pig on Linux PC and Silicon Graphics platforms but the Linux/MSND is the only 'officially supported' platform although the SGI port, made just for fun, works better than the Linux/MSND system. The SGI port was not in the original specification and therefore is not 'officially supported'. Porting GuineaPig to another POSIX operating system shouldn't be too hard. The main portability problem is the audio interface, which can differ from a platform to another.

If you choose to use PC hardware, the recommended minimum hardware setup is: Pentium 90Mhz, 32MB RAM, SCSI A/V ready harddisk and PCI SCSI controller.

Linux kernel required by the Guinea Pig system is an 1.3.x series kernel (we currently use 1.3.68) with multisound sound driver. The multisound driver isn't the standard Linux sound driver. We needed to use it because the standard Linux driver doesn't support the sound hardware we wanted to use (were forced to use).

Supported sound cards are Turtlebeach Tahiti and Monterey cards. We have an untested port for the sound cards supported by the standard Linux sound driver.

Silicon Grahics hardware is not 'officially supported'. We have tested the Sound Player system on SGI Indy and Indigo^2 but other sound equipped SGI machines should work also.

See Sound player documentation for more detailed discussion of supported harware and drivers.

Python version needed to use GuineaPig is 1.3. It must be compiled with the Tkinter-module support, so you must edit Python configuration a bit.

2 · Compiling Linux kernel

If you use the Turtlebeach Tahiti or Monterey sound card as your PC sound hardware, you have to create a Linux kernel with multisound sound driver. The default Linux sound driver doesn't support these cards. You can obtain the multisound sound driver from Turtlebeach Users Group Archive. The files you need are msnd-2.101.README, msnd-2.101.tar.gz and multi_10.zip. Follow the instructions in the README file to compile a new Linux kernel and install the /dev/msnd sound driver device.

3 · Downloading GuineaPig

The Guinea Pig system is not yet available freely for everyone. Maybe later...

4 · Install Python

Guinea Pig requires Python 1.3 to work. The python must be configured with the tkinter module support.

To get python binaries, see: binaries of Python 1.3. If you prefer to build python yourself, you can find the sources here. The file you need is python1.3.tar.gz, which is the full source package.

Follow the python installation options and remember to add the tkinter module to the list of modules compiled into the python binary. This can be done by uncommenting a couple of lines in Modules/Setup in python distribution directory. Currently you need to install the python binary as /usr/local/bin/python for the GuineaPig scripts to work properly. If you want to install the binary elsewhere, you must edit the first lines of the programs in the binaries directory to point to the right place.

5 · Install GuineaPig System

5.1 · Configuring GuineaPig

All the Guinea Pig system files are located in a single directory. You can use for example the directory /usr/projects/GuineaPig/ for this use (/usr/local/GuineaPig is an equally good choice).

5.2 · Install GuineaPig Files

Next thing to do is to untar the GuineaPig tar file in the created directory.
cd /usr/projects
mkdir /usr/projects/GuineaPig
cd /usr/projects/GuineaPig
tar zxvvf GuineaPig.1.0.tar.gz
Next thing to do is to edit the file misc/gpDefaults.py to suit your global configuration needs. You can also use environment variables to override the data in the gpDefaults.py file. Here is the list of environment variables and default values used if they are not set:
GUINEAPIG_PLAYER_PATH     '/usr/projects/GuineaPig/bin/gpPlayer'
GUINEAPIG_GUI_SERVER_PATH '/usr/projects/GuineaPig/bin/gpGUIServer'
GUINEAPIG_SETPGID_PATH    '/usr/projects/GuineaPig/bin/setpgid'
GUINEAPIG_PLAYER_PORT     10000
GUINEAPIG_TESTEE_PORT     20000
GUINEAPIG_TESTEE_GUI_PORT 20050
GUINEAPIG_PLAYER_HOST     ''
GUINEAPIG_GUI_HOST        ''
When *_HOST variable is empty, localhost is used.

There are two things you must set. You must add the bin directory of the Guinea Pig home directory to your $PATH. Another thing that must be set is the $PYTHONPATH environment variable, which must contain the directory lib/python of the Guinea Pig home directory.

PATH="$PATH:/usr/projects/GuineaPig/bin"
export PATH
PYTHONPATH="$PYTHONPATH:/usr/projects/GuineaPig/lib/python"
export PYTHONPATH

5.3 · Installing the Sound Player

To install the Sound player you must compile it: Go to the SoundPlayer directory in the GuineaPig main directory. Then, if you are using Linux with MSND, just type
   make
and wait for the player to compile. On SGI, say:
   make sgi
instead. The compiler may throw up some warnings but you can ignore them. The player's 'config.h' file and other headers can figure out information about your system and the compiler and also selects automatically between Linux and SGI options. If everything goes file, you will now have the gpPlayer binary. Nothing else needs to be done.

If you want to compile with different compiler options, edit your changed into the Makefile and compile. For more information about compiling, see: Compiling the Sound Player.


· Document index · Guinea Pig ·