TAPESTREA : Basic UI information

version: 0.1.x.x (tap tap)

home: http://taps.cs.princeton.edu

When started, taps prints out (to the console) a list of keyboard controls for navigating and customizing the user interface. Here are some of the generic commands with further details.

  1. Command line arguments
  2. Run-time keyboard controls

Command Line Arguments

Version / usage information :

The following arguments print version or usage information and quit :

taps --version	: print version number and target
taps --help	: print key mapping, usage, and version information
taps --about	: print key mapping, usage, and version information

Sample rate :

The default sample rate is currently 48,000 Hz on Linux and 44,100 Hz on other platforms. It can be set to other values via the command line as follows, where 'x' is the desired sample rate in Hertz:

taps --srate x

Important note : At present, taps will only read .wav files with the specified sample rate (or default rate if none is specified), unless libsamplerate is installed. Any audio generated is also played at the same sample rate. (This forces you to have some fun if you extract transient or raw templates at one rate, save them, restart taps at a different rate and replay those templates.)

Frame rate :

The default maximum frame rate (for graphics rendering) is 30 Hz. It can be set to other values as follows, where 'x' is the desired maximum frame rate in Hertz:

taps --frate x

Audio output :

The default number of real-time audio channels is 2. It can be set to 1 or more (up to 8) as follows, where N is the desired number of channels:

taps --outchannels N
It is also possible to record the synthesized sound in 8 channels while only playing 2 channels in real-time, by selecting the write8 box in the synthesis face.

The real-time audio output buffer size can be set to a given number of samples N:

taps --bufsize N

Audio input :

The number of microphone input channels can be specified to a desired number N:

taps --inchannels N

The amount of audio recorded at one time has an upper limit, set to 60 seconds by default. The maximum amount recorded can be changed to x seconds:

taps --maxrecord x

Working directory :

The working directory can be changed with the following command line flag, where 'path' is the absolute path to the desired directory:

taps --dir path

The working directory is used for writing files, especially when using the write to file options in the synthesis face. The default working directory depends on the platform:

Platform How taps was launched Default working directory
Windows irrelevant Desktop
Mac OS X by clicking an icon Home
Mac OS X through a terminal Directory where taps was launched
Linux through a terminal Directory where taps was launched

Overtracking :

An "overtracking" factor can optionally be set for sinusoidal analysis. Setting this factor to x (for x > 1.0) causes the analysis to find <#sinetracks>*x peaks in each frame, but still only save <#sinetracks> tracks. This may at times improve the continuity of the final tracks.

taps --overtracking x

Preprocessing :

To prepreprocess a list of sound files for sinusoidal analysis, run taps from the command line with the following arguments:

taps --preprocess file1.wav file2.wav file3.wav fileN.wav

Note that in this mode, the GUI is not displayed, and instead taps runs until it has finished processing all the files. It outputs the following set of files, from which the .pp files can be loaded in the analysis face. (See file formats.)

outputs: file1.pp, file1.fft, file2.pp, file2.fft, file3.pp, file3.fft, 
	 fileN.pp, fileN.fft

Note : If you are using multiple command line flags, make sure you mention the others before the preprocess flag.

No gui mode :

Taps synthesis can optionally be run in limited nogui mode, with the synthesis being controlled only from the command line. To do this, two command windows are needed. In the first one, type:

taps --nogui
This starts an infinite server loop that listens for commands from the other (client) window. From the client window, the following commands can be entered. The sample output will be printed in the server window.

taps --status	: Print list of templates currently in library
		  in the form "id: name (type) -- status".
		  Sample output :
  		  0: lutinebell (deterministic) -- stopped

taps + name 	: Add template identified by "name" to the library.
taps --add name   Doing "taps --status" would then show this template
		  with its temporary id for this session.

taps _p id 	: Play a template from the library, identified by 
taps --play id	  its temporary id (for example, taps _p 0)
		  Sample output :
		  Playing template 0 (lutinebell) on bus 2

taps _s id 	: Stop the template, identified by its temporary id, 
taps --stop id	  if it is currently playing.

taps - id 	: Remove template, identified by its temporary id, 
taps --remove id  from the library
		  Sample output :
		  Removing template 0

This functionality may be useful for controlling taps syntheis from an external program, though it has not been fully explored yet.

Run-time Keyboard Controls

Things you really need to know :

Ctrl + arrow	: switch faces
		  (analysis <-> synthesis <-> control <-> search <-> analysis)
		  You can also switch faces by clicking the buttons on the 
		  upper right hand corner of any face!

Ctrl + g 	: toggle between full screen and, er, non-full-screen

Ctrl + q 	: quit

Things that may be useful but aren't essential :

up/down arrow	: increase/decrease volume (both to speakers and to file output)

h		: toggle highlighting of current cursor region
		  (when on, this highlights the logical display region 
		   within which the cursor is currently located)

1/2/3/...	: toggle zooming on different regions
		  (each display region is associated with a number; 
		   hitting the number zooms into or out of that region)

0/Esc		: another way to zoom out of a selected region

r		: toggle display of slider ranges
		  (when on, this displays the min/max values for each slider)

taps | soundlab | cs | music