pathtest

The pathtest program allows testing of nearly all possible combinations of Prosody speech processing which use datafeeds. It allows for the interactive construction and control of arbitrary numbers of different multi-stage Prosody functions. The Prosody functions which can be used are:

Combinations of these are built by commands read from standard input, and operations are managed in the background while further commands are being read and processed. For each type of operation (for example, "play"), there can be an arbitrary number of instances running. These are referred to individually, as "play[0]", "play[1]", "play[2]" etc or by a range of them: "play[2:5]" which refers to "play[2]", "play[3]", "play[4]", and "play[5]".

Invocation

	pathtest [ -i inifile]

If an initialisation file is specified, it is opened and read as if its contents has been entered as commands. At the end of it, pathtest reads further commands from standard input.

Commands

Status

Each line of input is interpreted as a command. A blank line causes a status summary to be printed. The summary shows the status of each instance of the operations in progress. The operations are shown with short tags introducing each type of operation:

P:...play...R:...rec...H:...path...C:...rtcp...Rr:...rtprx...Rt:...rtptx...Tr:...tdmrx...Tt:...tdmtx...

Within each type of operation, the individual instances are shown in order (0, 1, 2, ... etc) with one character used for each. A blank character indicates that the operation has completed, and trailing blanks are only shown once, after which the underlying item is destroyed. The significance of other characters depends on the operation being performed.

Help

The command "?" prints a summary of the commands available. When followed by the name of a type of operation, it shows the current values for that type of operation.

Settings

A command which starts with the name of a type of operation specifies the current settings to be used when creating new items of that type or adjusting an existing item. For example:

	play agc 1 speed 150

makes new plays start with agc enabled and a speed of 150%. Settings not mentioned are left unchanged. The settings available for each type of operation are described separately:

Start

The command "+" followed by a pipeline starts the operations in the specified pipeline, connected to one another in order. For example,

	+play | tdmtx ts 64:0

starts a new play, changes the tdmtx settings to use stream 64, timeslot 0, starts a tdmtx, and connects the new play to the new tdmtx.

Each part of the pipeline consists of the name of a type of operation, and any values of the current settings to change. Settings which are not specified use their current values.

The whole pipeline is run on the module currently selected with the mod command.

Stop

The command "-", followed by a range of running operations, stops them. For example,

	-play[4]

stops the fifth play operation currently running.

Adjust

The command "=" followed by the name of an operation type, a range, and optional settings makes the specified range of currently running operations use the current settings. For example,

	=play[4] agc 1

changes the current settings to enable agc, and then makes the fifth play currently running use the current value of the all play settings, including the newly changed agc setting.


This is one of the Prosody test programs .