|   | Guinea Pig - Overview
  - Websterguinea pig n 
  1: a small stout-bodied short-eared nearly tailless
       domesticated rodent (Cavia cobaya) often kept as
       a pet and widely used in biological research 
       2: a subject of scientific research, experimentation, or
       testing
 
 | 
The goal of the Guinea Pig project is to build a
system that makes easier to create psychoacoustical listening test by
taking care of some tedious routine tasks like creation of
playlists. System will also automate the running of these tests. A
variety of test types have been
implemented including:  
  - A/B: Test in which the test subject
       chooses one out of two samples played to him/her.
  
- A/B/X: Test in which the sample X is the same
       sample as A or B. Subject chooses which one sample X is.
  
- A/B/C: Test in which A is the reference sample
      and the subject chooses how much samples B and C (one of which is
      the same sample as A) resemble the reference sample A.
      (Actually this test is referred as a Ref/A/B-test). 
  
- A/B Scale: An A/B test in which subject gives
       an answer for both samples on a scale specified by the
       test creator.
  
- A/B Scale, Fixed Reference: A test in which
      subject gives an answer how sample compares to a reference.
  
- A/B Scale, Hidden Reference: A test in which
      subject gives an answer for both samples on a scale specified by
      the test creator.  One of the samples A or B is the hidden
      reference.
  
- Single Stimulus: A Test in which a single
      stimulus signal is played and then graded. 
  
- TAFC (Two alternatives forced choice): Test
       in which two samples are played altering some parameter, until
       subject can no longer hear difference between the samples.
Additional options and features for most tests:
  - Multiple answers: All tests can include
      additional questions.  Questions (answers) can be choices and
      grades (configurable).
  
- Free or fixed
      sequence: The sample sequence can be fixed (freely
      configurable with multiple samples and pauses between samples)
      or free where the subject selects in which order samples are
      played. 
  
- Time limit for answering:
      A timeout can be set to limit the time the subject has for
      giving the answers for a test item.  Without a timeout the
      subject can have as much time as he needs to decide the answers.
      With a timeout, the test goes to the next item when the time
      ends.
      
  
- Parallel switching:
      Normally when the subject switches to another sample, the
      currently playing sample stops and the another starts from
      beginning.  In parallel mode the switching to another sample is
      done by cross-fading to the other sample and does not just jump to
      the start to the beginning to the sample.  Useful in test where
      long samples are compared.  Parallel switching is only usable
      for free sequence tests.  
Features of the sound player:
  - Multichannel: Number of output channels limited
      only by output devices of the machine.  Currently available
      devices support one to eight channels per device.
  
- Many audio file formats: All audio file formats
      supported by SGI's audio file library including:
      AIFF/AIFC, WAV, AU, MPEG-1 layers I/II and others with multiple
      sample rates and sample widths. 
  
- Sampling rates: depending on the audio device,
      at least the most common rates from 8kHz to 48kHz are supported
      (device may limit the possible choices.  For example, digital
      outputs generally support only 32/44.1/48 kHz).
  
- 24 bit audio: SGI audio libraries can support
      up to 24 bits per sample.  GP's sound player uses floating point
      calculation for rendering audio output.
  
- Analog and digital outputs:  Most SGI
      workstations have analog outputs.  Some also have digital
      outputs by default (Octane, some Origin and Onyx2 servers) or
      with an digital audio option (on O2 with the PCI
      Professional Audio Option).  Digital output interfaces
      include ADAT/SPDIF/AES3, optical/RCA/BNC connectors.  Analog
      output generally are 16bit, digital upto 24 bit (ADAT/AES3).
  
- Sample mixing: multiple samples can be mixed to
      the output with each with its own volume levels and faders.
  
- Sample synchronization: samples can be
      synchronized with sample frame accuracy.
  
- Faders: each sample has its own fader that does
      real fades using linear or dB linear fading.  Also supports
      cross-fading between samples.
  
- Volumes: each sample sample has its on volume
      controls (with fader, see above).  Also there is a calibration
      level for each sample that can be used to calibrate a set of
      samples used in a test.  Player's output also have a calibration
      or master volume level control than can be used for setting the
      MCL level of a test session of general master output level.
  
- Java module for controlling sound player: the
      sound player is a separate program.  A easy object-oriented java
      module is provided for controlling the player. 
See also:
SGI
Audio Features.
Traditional procedure when making listening tests is such that the
tester edits and records the whole test on a DAT-tape that is then
played to the test subject.  The test subject listens to the test and
marks his/hers answers on paper. The tester then has to enter the
answers manually to a computer to analyze them. Guinea
Pig eliminates the need to edit the whole test into a tape
beforehand and removes the manual entering of the results. Also the
test doesn't need to be the same for all subjects.  The order, in
which the individual test items consisting of sound samples are
presented to the subject, can be arranged to be different for each
session. 
The first phase is the
test creation where
the tester selects the test type, used sound samples and
other test parameters. As the result configuration files are
generated that contain the parameters needed in the test. 
The test is then run for
each test subject and results are saved. 
After the tests have been performed the results can be studied, 
processed and 
analyzed with some statistical programs. 
Requirements and features
The system runs on and is designed only for Silicon Graphics'
workstations with IRIX 6.3 or greater.  
The GP's sound player engine uses the newer SGI's Audio
Library for IRIX 6.3 and up and POSIX threads (pthreads).  It
might be possible to make it to work on IRIX 6.2 if newer audio
library were available and POSIX threads were installed.  
The sound player engine handles the audio output of the GuineaPig
system.  It reads the sample files, mixes them together and sends the
audio data to output devices.  The player is written in C.  A higher
level Java module is provided for using the player.  
Since the Sound Player uses the SGI Audio Library and the
SGI Audio File Library, all supported devices and sound file
formats are available.  The audio devices includes the normal analog
stereo outputs on most systems as well as the default or additional
digital outputs up to eight digital channels on one device (ADAT).
The supported audio file formats include: AIFF/AIFF-C, Next/Sun, Wave,
MPEG1, raw data, and many more. 
Most of the system is written in Java.  Java 1.1 is required and it is
freely available for
download
from SGI.  
·
Document index
·