ProRec - Prompt & Record Help File

Program:Vs 2.4
Help file:Vs 2.4

Contents:
¤ Controls
¤ Control files
¤ Template files
¤ Wordlist files
¤ Segmentation
¤ Bug reports
¤ Copyright

Internet links:
¤ ProRec Home
¤ SFS Home
¤ Speech &
Hearing Home

¤ UCL Speech,
Hearing and
Phonetics

ProRec is a program for field workers in Phonetics, Linguistics and Speech Science. It allows researchers to set up a laptop as a portable recording system complete with visual prompts for speakers. ProRec will present timed text prompts for speakers to read out while at the same time recording to disk from a microphone. The advantage over the use of an audio recorder is that ProRec makes on-line checks for signal overload, and saves a prompts time text file along with the recorded audio file. This prompts time file allows indexing of individual tokens in the recording, and even automatic segmentation and labelling.

ProRec is a simple application that is complete in itself but which is also designed to be compatible with the Speech Filing System (SFS) tools for speech research.


Controls

Toolbar

  • Open. Opens a session control file. The control files are text files that specify the audio recording properties and the lists of prompts. The format of session control files is described below.
  • Start/Restart Session. Starts or restarts a recording session. This resets display to the first slide in the session.
  • Pause Session. Pauses the automatic advance of slides. This does not pause the audio recording itself.
  • Save Audio. Saves the recorded audio and the prompts text file.
  • Launch Mixer. Launches the Windows audio mixer application for controlling recording levels.
  • Previous Slide. Moves back to the previous slide.
  • Next Slide. Moves forward to the next slide.

Other menu options

  • Recording/Start. Starts the audio recording manually. Normally audio recording starts at a particular slide specified in the session control file.
  • Recording/Stop. Stops the audio recording manually. Normally audio recording stops at a particular slide specified in the session control file.
  • Recording/Select Audio Device. Switches between available audio devices on the system. Choose [Default audio recording device] to select the default device specified in the Control Panel.
  • Recording/Launch Mixer. Display the control panel sound mixer application for controlling recording devices and recording settings.
  • Tools/Audio segmentation. Launches the audio segmentation tool that can be used to divide a single recording into multiple named files.


Session Control File

Session control files are text files of a particular layout that contain information about the design of a recording session. A session control file includes information about:

  • audio sample rate
  • audio number of channels
  • audio sample format
  • prompt sections sequence
  • word lists to be recorded
  • templates to format display of tokens
  • slide advance mechanism

Here is an example of a session control file:

[audio]
samprate=44100
nchannel=1
sampbits=16
normalise=0
overload=1
tempdir=c:\tmp

[prompts]
order=speaker,start,session1,pause,start,session2,thankyou

[start]
template=\src\mfc\prorec\html\start.htm
record=1
advance=0

[speaker]
template=\src\mfc\prorec\html\speaker.htm
formdata=\src\mfc\prorec\test\speaker.lst
advance=0

[pause]
template=\src\mfc\prorec\html\pause.htm
advance=5

[thankyou]
template=\src\mfc\prorec\html\end.htm
record=0
advance=-1

[session1]
template=\src\mfc\prorec\html\simple.htm
list=\src\mfc\prorec\test\session1.lst
advance=3
colours="#CCFFCC","#FFCCCC","#CCCCFF"

[session2]
template=\src\mfc\prorec\html\paragraph.htm
list=\src\mfc\prorec\test\session2.lst
advance=10
colours="#EEFFCC","#FFEECC"

Elements of a session control file are as follows:

[audio]
This section of the file describes the audio acquisition settings as follows:
  • samprate
    Specifies the audio sampling rate in samples/sec. A value of 44100 is the maximum supported by many laptop audio systems. Default: 44100.
  • nchannel
    Specifies 1=mono and 2=stereo recording. You can also select one channel of a stereo recording with "1/2" or "2/2". Default: 1.
  • sampbits
    Specifies the storage sample format for the audio. Available values are: "16" 16-bit integer, "24" 24-bit integer", "32" 32-bit floating point. Default: 16.
  • normalise
    Causes the audio signal to be normalised to 95% of the maximum available sample range prior to saving. Default: 0 (off).
  • overload
    A value of 1 causes strict overload detection to be in operation. Strict overload detection causes the session to be paused and a error message displayed if overload occurs. Default: 1 (on).
  • tempdir
    Specifies the disk directory to use for the storage of temporary audio files. This needs to be on a fast disk with a lot of free space. Default: system temporary folder.
  • vumeter
    Controls display of VU meter. 1=on (default), 0=stationary, -1=not displayed.
[prompts]
This section of the file describes the exact sequence of prompt sections to be used in the recording session. This has only one value, an "order" property which consists of a list of prompt-section names separated by commas. Each prompt-section name should also have its own section in the file. Do not use "audio" or "prompts" for prompt-section names. The [prompts] section must come before any of the prompt-section descriptions.
[prompt-section-name]
Each prompt-section must have its own control section in the session control file. The control section for the prompt-section has these properties:
  • template
    Specifies an HTML template file name to be used for this prompt section.
  • formdata
    Specifies the name of a log file to which data entered in any HTML form is to be appended.
  • record
    Specifies whether recording should normally be running when this prompt section is being displayed. If record=1 and the recording is not running when the section is displayed, a message is presented to offer to start recording. If record=0 in this section, then th recording is automatically stopped when this prompt section is displayed.
  • list
    Specifies the word list file to be merged with this template to display a set of prompts.
  • advance
    Specifies how advance should be made from slide to slide within the section. If advance=0, then advance must be done manually (by using menu options or buttons on slides). If advance is set to a positive integer, then advance takes place after that number of seconds has elapsed. If advance is set to a negative integer, then advance is prevented beyond this point.
  • colours
    Specifies a sequence of strings that can be passed to the template in the {C} position. This was designed to be used to specify different background colours even for the same template. The value of the colours property should be a list of strings in double quotes separated by commas. The strings are used in turn, each time the template uses the {C} code, with the list repeating if required.
  • vumeter
    Controls display of VU meter. 1=on (default), 0=stationary, -1=not displayed. If missing, vumeter value in [audio] section is used.


Template Files

Template files are HTML formatted files that specify a single screen sized page. Template files are re-used for each token in a word list. The position in the template where the prompt token is to be inserted is indicated by the characters {P}. Colour strings from the control file can be inserted at the position of the characters {C}.

Interactivity can be added to the template using forms and buttons. ProRec understands the following commands when specified as the protocol string in URLs:

    prev:
    Move to previous slide.
    next:
    Move to next slide.
    rept:
    Repeat current slide.
    form:
    Save form data to log file specified in 'formdata' property of section in control file.
    ptt1:
    Record push-to-talk button press down.
    ptt0:
    Record push-to-talk button press up.

Here is an example template file:

<html>
<head>
<meta http-equiv="Page-Enter"
content="revealTrans(Duration=0.2,Transition=1)">
</head>
<style>
.PROMPT {
 COLOR: navy;
 FONT-FAMILY: Verdana, Arial;
 FONT-SIZE: 64px;
}
.BUTTON {
 COLOR: green;
 FONT-FAMILY: Wingdings;
 FONT-SIZE: 24px;
}
</style>
<body BGCOLOR="{C}">
<table width="100%" height="100%" border=0 cellpadding=0 cellspacing=0>
<tr height=24><td align=left>
<button class=BUTTON OnClick='javascript:self.location="prev:";'>
&#231;</button>
</td>
<td align=right>
<button class=BUTTON OnClick='javascript:self.location="next:";'>
&#232;</button>
</td>
</tr>
<tr><td colspan=2 valign=middle><center>
<span class=PROMPT>{P}</span>
</center></td></tr></table>
</body></html>

This builds a slide such as:

Here is an example of a form template:

<html>
<style>
.PROMPT {
 COLOR: navy;
 FONT-FAMILY: Verdana, Arial;
 FONT-SIZE: 24px;
}
.BUTTON {
 COLOR: green;
 FONT-FAMILY: Verdana, Arial;
 FONT-SIZE: 20px;
}
</style>
<body BGCOLOR="#FFFFCC">
<form method=post action="form:">
<table width="100%" height="100%" border=0>
 <tr>
  <td valign=middle colspan=2>
   <center>
    <span class=PROMPT><b>Speaker Details</b></span>
   </center>
  </td>
 </tr>
 <tr>
  <td valign=middle align=right>
   <span class=PROMPT>Name:</span>
  </td>
  <td>
   <input type=text name=name size=32 class=PROMPT>
  </td>
 </tr>
 <tr>
  <td valign=middle align=right>
   <span class=PROMPT>Place:</span>
  </td>
  <td>
   <input type=text name=place size=32 class=PROMPT>
  </td>
 </tr>
 <tr>
  <td valign=middle align=right>
   <span class=PROMPT>Sex:</span>
  </td>
  <td>
   <input type=radio name=sex value=male class=PROMPT>
    <span class=PROMPT>&nbsp;Male</span>
   <input type=radio name=sex value=female class=PROMPT>
    <span class=PROMPT>&nbsp;Female</span>
  </td>
 </tr>
 <tr>
  <td valign=middle align=right>
   <span class=PROMPT>Age:</span>
  </td>
  <td>
   <input type=text name=age size=5 class=PROMPT>
  </td>
 </tr>
 <tr>
  <td valign=middle colspan=2>
   <center>
    <input type=submit value="Submit Data" class=BUTTON>
   </center>
  </td>
 </tr>
</table>
</form>
</body>
</html>

This builds a slide such as:

Such a slide is a useful means for recording speaker details at the start of a session. Information entered on the slide is saved to a log file specified by the "formdata" parameter in the main control file.


Word List Files

Word list files are simple text files with each line containing (i) a unique prompt id, (ii) a TAB character, (iii) a prompt string. The prompt id is used to identify the prompt in the prompts text file that is saved alongside the audio data. The prompt string is merged with the HTML template file to create the slide. There is no limit to the length of the prompt string, which will be automatically wrapped to fit the display.

Prompt strings can contain HTML elements. For example it is possible to include the <BR> element to force a line break at some point. It is also possible to display images on slides through the use of the <IMG> element.

Here is an example of a word list file:

word1   Apple
word2   Banana
word3   Carrot
sent1   We were away a year ago
para1   There was once a young rat<br>named Arthur.
image1  Describe:<p><center><img src="image/swing.jpg"></center>


Audio Segmentation

The audio segmentation tool can be used to divide up a recording made by ProRec into individual files.

The tool requires the name of the audio file saved by ProRec, the name of the annotation file produced by ProRec, and the name of the folder where the individual files are to be placed.

A tool option causes duplicate items to kept - in this case if an item has the same name as an earlier item, it is given a numeric suffix. Another option can be used to remove silence from the beginning and end of each item.

The ProChop program can also be executed from the command line or from a shell script. See manual page for details.


Bug reports

Please send suggestions for improvements and reports of program faults to sfs@pals.ucl.ac.uk

Please note that we are unable to provide help with the use of this program.


Copyright

ProRec is not public domain software, its intellectual property is owned by Mark Huckvale, University College London. However ProRec may be used and copied without charge as long as the program and help file remain unmodified and continue to carry this copyright notice. Please contact the author for other licensing arrangements. Prorec carries no warranty of any kind, you use it at your own risk.


© 2018 Mark Huckvale University College London Version 2.4 January 2018