bvi_desc: Batch Voice description utility

Purpose

Add additional required information about each voice segment to the description file. This information includes segment number, language, voice directory, description, and compression type.

Description


A flow diagram showing the bvi_desc utility taking data from the index file , adding information about each voice segment, and outputting the enhanced data to an ASCII description file, using control parameters from the bvi.control file.

Control parameters

The bvi_desc utility will access the following control parameters from the bvi.control file:

VOICE_FILE_NAME (supplied value: bvi.voice)
Specifies the name of the voice file created by bvi_rec and used by the other utilities. You can specify any valid voice file. If you do not specify a path, the utility expects the file to be in the directory $CUR_DIR/ca/BVI_dir.

The file format is 8 kHz, 16-bit linear, big-endian (that is, the most significant byte for each sample is written before the least significant byte).

INDEX_FILE_NAME (supplied value: bvi.index)
Specifies the name of the index file. You can specify any valid index file. If you do not specify a path, the utility expects the index file to be in the directory $CUR_DIR/ca/BVI_dir.

Each line in the index file refers to one voice segment and contains two ASCII-format numbers, the start and end of the located segment. The numbers are byte offsets from the start of the voice file.

DESCR_FILE_NAME (supplied value: bvi.descr)
Specifies the name of the voice description file created by bvi_desc. You can specify any valid AIX file name. If you do not specify a path, the description file is created in the directory $CUR_DIR/ca/BVI_dir. If it already exists, the values it contains are used to initialize voice segment information for bvi_desc.

Each line in the description file refers to one voice segment and contains a number of values separated by commas. These values are:


This diagram shows an example line from a description file. The fields, starting from the left, are described in the text below.
LANGUAGE (supplied value: 1 (U.S. English))
Specifies the default language of the voice segment database in which the voice segments are stored. The language can be changed either with the bvi_desc utility, or by editing the voice description file (using an editor such as vi).
VOICE_DIRECTORY_NAME (supplied value: BVI)
Specifies the name of the default voice directory in which all segments are to be stored. For more information, see Custom Servers, ID and name limitations. The voice directory can be changed either with the bvi_desc utility, or by editing the voice description file (using an editor such as vi).
SEGMENT_START_ID (supplied value: 1)
Specifies the default id for the first segment to be processed. Subsequent segments are numbered consecutively from this value.

The id of each segment can be changed either with the bvi_desc utility, or by editing the voice description file (using an editor such as vi).

COMPRESSION_TYPE (supplied value: 1)
Specifies the default compression type of voice segments:
0
Compressed only
1
Uncompressed only
2
Compressed and uncompressed

The compression type can be changed either with the bvi_desc utility, or by editing the voice description file (using an editor such as vi).

DESCRIPTION (supplied value: *** Segment created by BVI ***)
Specifies the default description for voice segments. The description of each segment can be changed either with the bvi_desc utility, or by editing the voice description file (using an editor such as vi).

After opening the BVI Custom Server Import Window, (see Starting the BVI custom server):

  1. Start the description utility by typing bvi_desc on the command line and pressing Enter. The utility:
    1. Reads the control parameters from the bvi.control file
    2. Reads the Index File
    3. Tries to read the file name specified as the DESCR_FILE_NAME and, if successful, asks if you want to initialize bvi_desc with the information from that file.
  2. Use info from file?: Type y if you want the file to be used or n if you do not. (Type y if you have already processed some segments and want to continue where you left off.) Press Enter.

    If you respond with n, or if the file is not found, segments are initialized from the control parameters LANGUAGE, VOICE_DIRECTORY_NAME, COMPRESSION_TYPE, and DESCRIPTION.

    The first segment is presented.

  3. Process a segment: Use the following keyboard commands to process each segment.

    Processing voice segments

    Task

    Command

    Move forward to the next segment.

    f

    Move back to the previous segment.

    b

    Show segment information.

    !

    Go to a specific segment.

    g

    Join two segments together. This command is useful when bvi_seg has incorrectly segmented the voice data. The current segment is joined to the next segment.

    j

    Split a segment into two. This command is useful when bvi_seg has incorrectly segmented the voice data.

    s

    Listen to the current segment through the audio adapter.

    l

    Stop playing the current segment.

    enter key

    Change text description.

    t

    Change voice directory of the current segment.

    v

    Change id of the current segment.

    i

    Change compression type of the current segment.

    c

    Adjust the start position of the current segment. You will be prompted to enter a number (in milliseconds) which will be added to the start position of the current segment. Therefore, to move the start position backwards (earlier in time) by 10 ms, enter -10. To move the start position forwards (later in time) by 250 ms, enter 250.

    <

    Adjust the end position of the current segment. You will be prompted to enter a number (in milliseconds) which will be added to the end position of the current segment. Therefore, to move the end position backwards (earlier in time) by 10 ms, enter -10. To move the end position forwards (later in time) by 250 ms, enter 250.

    >

    Show help information

    ?

    Delete a segment. (The next segment becomes the new current segment.) When you enter the D command, you will be asked whether you wish to renumber the segments consecutively starting from the first. This is to avoid any holes in the numbering of segments. If you have manually renumbered any segments, you will lose those numbers if you choose to consecutively renumber.

    D

    Quit without writing back updated index and description files

    q

    Write the new index and description files and quit

    w

  4. Update index and description files: When you have finished processing segments, use the w command to update the index and description files.
    Note: If you haven't processed all the segments, you can continue to process segments where you left off by starting again and entering y when bvi_desc asks you whether you want to use an existing description file.

You can now use bvi_play to play back the voice segments and display the information about them at the same time.