VBASE/40
Speech Prompt Editor

Copyright © 1986-2008 Stok Software, Inc.


Want a Printed Manual?

VBASE/40
Paperback Manual
Only $7.99


Table of Contents







The information contained in this documentation and the associated software is subject to change without notice. The material in this documentation and the related software is protected by copyright. All rights reserved. This documentation may be printed from your web browser for the purposes of having a hard copy for your reference when used in conjunction with a licensed copy of the associated software. No part of the associated software may be reproduced in any form or translated to another language without the prior written consent of Stok Software, Inc.

 VBASE Software License Agreement 



This software is a proprietary product of Stok Software, Inc. (hereinafter referred to as Vendor). It is licensed with the conditions set forth below. If you do not agree with the terms of this Agreement then return the package to Stok Software. Your use of this software is an indication that you agree to the terms of this Agreement.

The license granted under this Agreement authorizes the Customer to use the Licensed Software on a single computer system (hereinafter called Designated System). A separate license is required for each Designated System on which the Licensed Software will be used.

COPIES: Customer agrees not to copy the software except for Customer's own use on the Designated System, and for backup purposes. Customer agrees not to copy or in any way reproduce any written materials provided with the software, except where it is for the use of computer personnel employed by Customer.

COPYRIGHT: The Customer agrees to include a copyright notice of the Vendor on all copies, in whole or in part, in any form, of the Licensed Software.

SUPPORT: Telephone support is included for 30 days. If you still need assistance after a month, support is available as specified in our current price sheet.

WARRANTY: Any inconsistencies between the software and its current documentation will be rectified if reported within 90 days of purchase.

DISCLAIMER: Vendor disclaims all warranties, express or implied, with regard to the software covered by this Agreement, including all warranties of merchantability and fitness for a particular purpose. Vendor shall not be liable for errors contained herein or for consequential damages in connection with the furnishing, performance or use of this material.

This Agreement will be governed by the laws of the State of New York.

This is the complete and exclusive statement of this Agreement between the Vendor and the Customer.

1
 Introduction to VBASE/40 



VBASE/40 is a fast DOS based speech editor for Dialogic Applications. It has powerful features for easy creation and maintenance of professional speech prompts. Phrases or individual words can be recorded, played, edited, cut and pasted, appended, and copied from one file to another. Cut and pasting allows creating phrase segments that piece together precisely in the running application. Enhanced editing functions allow any part of a prompt to be marked and played or removed.

VBASE/40 is a software program that has set a standard in the Voice Mail world. We developed VBASE/40 back in 1985 as a solution for a much-needed tool for creating streamlined prompts for our voice mail software. Since then, developers around the globe have turned to the VBASE/40 format as a standard prompt file design. And many competing developers have used the same VBASE/40 format because they recognized the strength, power and versatility of using our design.

Dialogic has sold VBASE/40 for many years before being taken over by Intel. We have found that we have a niche with those who require and demand faster DOS based tools. VBASE/40 runs on Windows with no problem, but offers you the choice of running under DOS as well.

Create your own prompt file for any application or modify prompts in our COMET Voice Mail Automated Attendant.

Features
  • Menu selectable options to record, play, cut and paste, copy, append, move and delete
  • Move prompts within a file or between files.
  • Settings that allow for use of Ram Drive, disabling AGC, specifying use of ADPCM or PCM recording method, and specifying the sampling rate.
  • Enhanced editing allows editing in the middle of a prompt with visual display
  • Cut and paste in user selectable increments as small as 1/100th of a second
  • Load annotation list from an ASCII file
  • Annotation text editing with full cursor control, and insert and delete text functions
  • Displays length of prompts
  • Works with standard recorded files or indexed prompt file formats up to 8000 prompts



Industry File Formats

The special file format that we developed has been accepted by most every vendor in the industry. Any voice file using our VBASE/40 format ends with the file type ".vap". Some vendors are using our design and claim it to be their own. NMS, for example, uses our VBASE/40 format but names their files with the ".vox" file type instead of ".vap", confusing the issue. NMS calls their files "NMS (vox) indexed files" in order to indicate that they are indexed with multiple prompts. This is actually our VBASE/40 format incorrectly named with the ".vox" file type.

Most vendors learned of our format from Dialogic since they sold VBASE/40 under licensing agreement with us before being merged with Intel. It is unfortunate that some vendors have caused confusion by renaming our file type to another existing name which is meant to have a different meaning. Plain ".vox" files are stand-alone files that lack the header. Our design for ".vap" files includes a header identifying the format as well as the sampling rate and file indexing to each separate voice segment (prompt) and text (annotation). Applications read this header information to set parameters in order to correctly play the voice recordings.



System Requirements

  • An IBM compatible 286, 386, 486 or Pentium with one free ISA slot for 4 lines.
  • Five megabytes of free hard drive space for program and data files.
  • The computer needs only four megabytes RAM.
  • One GigaByte of hard drive space provides 83 HOURS of recorded messages.
  • MS-DOS version 5.0 or later, or Windows 95/98 booted in MS-DOS mode.
  • Dialogic Voice Processing board as noted below.


VBASE/40 is MS-DOS based and requires a x86 or Pentium computer that boots into DOS. However, since VBASE does not multi-task and is used by a single user, it wil run fine on Windows under a DOS Window.

VBASE works with the following Intel-Dialogic boards: D/21B, D/21D, D/41B, D/41D, Dialog/4 or a D/121B. The 12 line D/121B requires an LSI/120 Loop Start interface with a Station Adapter providing 12 RJ-11 jacks. T1 interfacing for 24 lines requires two D/121B boards with a DTI/211 T1 interface board.




2
 Software Installation 



Before you can use VBASE/40 you must configure DOS and the Dialogic drivers, specifying memory properly for speech buffers and speech files. The required Dialogic drivers are included with VBASE/40.


Copying the Files

Copy all the files from the floppy disk to your hard drive. If you received VBASE/40 via email, just unzip the ZIP file with PKZIP or WINZIP to extract VBASE.EXE. You may prefer to copy all the files to a directory where you keep your commands. That which is specified in the PATH record in AUTOEXEC.BAT.


DOS and Dialogic Configuration

VBASE/40 software needs to interface with the hardware to handle speech digitizing, recording and playback, detection of touch-tone, call progress supervision, etc. This interface is accomplished via a speech driver called D40DRV.EXE. The driver is designed as a "Terminate and Stay Resident" or TSR program. Thus it can be called from the application when needed to interface with the speech board. The driver needs to know how much memory to allocate for buffers. It is these buffers that it uses for placing the speech samples while digitizing. The size of the buffers should be passed to the driver via a command line parameter.

In addition to the size of the buffers, the driver must be told where to place the buffers. There are two choices. Within the primary 640K of base memory, or in Expanded memory (EMS).



C>d40drv -parameter

...where the "parameter" after the slash is a letter and a number. For base memory location the letter should be a "B". For EMS, it should be an "E".

Following the letter (with no separation spaces) is the size of the buffer. To calculate how much memory you will need for speech buffers, multiply 24 times the number of lines if the buffer is being placed in base memory. If you are placing the buffer in EMS, then multiply 32 times the number of lines.

For example, say we have 4 lines and the buffers are in base memory. (24 * 4) = 96. So the command is...

C>d40drv -B96

Another example is with EMS memory for 4 lines. (32 * 4) = 128. So the command becomes...

C>d40drv -E128

Insufficient buffer space may cause loss of speech while both recording and playing. Note that we used "-E" to specify Expanded Memory in the second example. Expanded memory is required for proper operation on larger systems where there would not be enough base memory. The expanded memory used must conform to the standards of Lotus/Intel/Microsoft Expanded Memory Manager Version 3.2 or later.


Software Interrupt

You also need to specify the software interrupt if you are not using the default, which is hex 6D. If you are using a VGA board in your machine, interrupt 6D may not be available. Try 48 or 60. The Software Interrupt needs to be specified on the driver command line.

Here is the same driver call as above with the interrupt added:

C>d40drv -E128 -I48

Before the driver is loaded, you need to load firmware into the speech boards. The program that will do this is GENLOAD. This program requires a configuration file called DIALOGIC.CFG, which contains parameters that define your speech board configuration. It also requires two loader files, GENBOOT.BIN and GENBOOT.FWL, which are included. Creating the DIALOGIC.CFG configuration file is easy. But we'll get to that later.

All this can be done in the AUTOEXEC.BAT file and must be in the proper order. Here is a sample AUTOEXEC.BAT file. Note that GENLOAD is run before D40DRV:

@ECHO OFF
PROMPT $p$g
PATH C:\DOS
CD \SYSTEM
GENLOAD
D40DRV -E128 -I48

You will also need to add a couple of records to CONFIG.SYS. The BUFFERS parameter should be specified as 20. If you are using expanded memory, exclude the use of memory at D000, which is used by the speech board.

Here is a sample CONFIG.SYS for DOS 5.0 or higher running on a 386 or higher:

DEVICE=C:\DOS\HIMEM.SYS
DOS=HIGH
DEVICE=C:\DOS\EMM386.EXE 1024 X=D000-DFFF FRAME=E000
BUFFERS=20



Hardware Interrupt

The default Hardware Interrupt may not be right for your computer configuration. So verify the availability of the setting and use another if necessary. The Hardware Interrupt needs to be specified in the Dialogic Configuration File as explained below.



Dialogic Configuration File

The D/21D, D/41D, Dialog/4 and D/121 boards use Digital Signal Processing (DSP) and allow board upgrades via downloadable firmware. The firmware is downloaded with a program called GENLOAD.EXE, which is placed in your AUTOEXEC.BAT file and run before loading the speech driver, D40DRV.EXE. If you are using only "B" revision boards, then you do not need to use GENLOAD and you may skip the rest of this discussion.

GENLOAD requires a configuration file called DIALOGIC.CFG, which contains parameters that define your speech board configuration.

You can create a new DIALOGIC.CFG by running MKCFG, although we already included a DIALOGIC.CFG file for a single four-line board, either the D/41-D or Dialog/4. So if this is the board you are using, you can use the file supplied. Just edit it and make sure you have the proper hardware interrupt specified in the "SpringBoardInterrupt" record. Change it if necessary.

The following is an example of this file...

[Genload - All Boards]
SpringBoardInterrupt = 5
D41DAddress = D0000
IsaBusWidth = 8-BIT
BusType=None

The example above, shows a system configuration with a D/41D four-line board at shared memory address D0000H, using hardware interrupt 5.



The Speech Board

The speech board has several functions. It is the interface between the software and the telephone lines, it detects and can produce touch-tone, it can play digitized speech from DOS files and it can digitize speech to be saved in DOS files.

The speech board can be inserted in any eight- or 16-bit expansion slot with a BUS speed of eight Mhz.

To avoid static discharge, which can destroy any electronic component, make sure you are properly grounded BEFORE picking up the speech board. If possible, install speech boards away from the video card and hard disk controller and keep telephone lines away from power lines. This avoids any potential interference, which can effect speech quality.

It is important that memory used by other hardware is not used by the speech boards. For example, if an EMS board is used in the machine, it needs to be addressed at a different location than the speech boards will use. If you are using an ESDI hard disk, note that ESDI controllers usually use C000 data segment. So this can't be used by either the speech board or by EMS boards. When configuring a complete turnkey system, these things should be carefully planned. The base memory segment of the speech boards can be selected with jumpers on the boards.



Base Shared Memory Address

The base address that the speech board uses to communicate with the PC can be changed. The default setting is the D000 data segment. This is the case when JP5 is removed (the default setting). If JP5 has a jumper attached then the base memory of the speech board will be A000. The D/41D and Dialog/4 boards also have a jumper position to enable use of the C000 memory segment. To enable C000, place a jumper on JP6 (not shown), which is found just left of JP5.



Jumpers and Dip Switches

Jumper JP7: If more than one board is used in a single computer, then place the JP7 jumper only one the first.

Jumper JP1: This array of jumpers is numbered from 2 through 7. They represent the hardware interrupt that is used by the software to communicate with the hardware. The recommended setting is interrupt "2". If you have another board in your system that conflicts with this, then move the jumper at JP1 to another position.

Jumper JP5: If JP5 has a jumper attached then the base memory of the speech board will be A000.

Jumper JP6: If JP6 has a jumper attached then the base memory of the speech board will be C000.

If neither JP5 or JP6 have jumpers attached then the default base memory D000 will be used.

Switch SW1: Pins 1 thru 3 on this set of four dip switches are used to specify which four lines are being handled by this board. Set as follows:

 Board   Lines  Dip: 1   2   3   4

   1    1  -  4      0   0   0   0    
   2    5  -  8      0   0   1   0   
   3    9  - 12      0   1   0   0   
   4    13 - 16      0   1   1   0   
   5    17 - 20      1   0   0   0   
   6    21 - 24      1   0   1   0   
   7    25 - 28      1   1   0   0   
   8    29 - 32      1   1   1   0

          0 = off  1 = on

SW1 position 4 on the D/41-D board is used to select the default line condition when your application is not running. Leave this switch set off so the line is always on-hook when nothing is running.



Connection to Telephone Lines

Each speech board has two RJ-14 jacks. They carry two telephone lines each. On the first board the top connector is for lines 1 and 2. The bottom connector is for lines 3 and 4. Each additional board supports the next four lines. Line 1 is the inside pair of wires (red and green) on the top jack. Line 2 is the outside pair (black and yellow). On the bottom jack, line 3 is the inside pair and line 4 is the outside pair.

A standard two wire modular cable (RJ-11) will allow connection to line 1 or 3 when inserted into the RJ-14 jacks. If you have single line terminations, you will need RJ-11 to RJ-14 splitting cables. This is available from Radio Shack (ask for part number 279-401).

Your local telephone company must be notified that this FCC registered device is being installed prior to its installation. You will need to provide the following information:

  • Ringer Equivalence Number: 0.3A
  • Jacks Required: Multiple RJ14
  • FCC Registration Number: EBZ6FN-71693-MA-E



Audio Connections

Call from any telephone or from another extension on your PBX to establish an audio connection with VBASE/40 to record or review prompt recordings. An audio connection can also be made with a studio microphone or from a tape recorder using an optional Telephone Line Simulator.

One Telephone Line Simulator we recommend is the Skutch AS-4A, which has an audio input jack for connection with a tape recorder. See www.skutch.com.


3
 Using VBASE/40 

VBASE is run by typing the command...

C>VBASE

If you see a message saying it can't find the driver, you may be using interrupts other than the default. VBASE assumes that the speech board(s) are using hardware interrupt "3" and that your driver software interrupt is hex "6D". If you are using different values in your system, specify the correct values with the "-Ix,y" command line parameter. Where "x" is the hardware interrupt level and "y" is the driver software interrupt.

C>VBASE -Ix,y

Systems using certain VGA boards cannot use a software interrupt hex "6D". Another software interrupt, not used for anything else, must then be specified.

After running VBASE, it saves your the settings you last specified in a file called VBASE.CTL. You don't need to keep specifying the interrupt values.

When VBASE starts, it will ask for the prompt file name. It will already display a name called PROMPTS.

 
  VBASE/40 Enhanced Voice Annotation Processor Ver 4.3  
Copyright (c) 1986-2005 Stok Software, Inc.

Enter prompt file name ==> PROMPTS
 

You may press [Return] to use this default name or type a different name over the default. You may also bypass this step by entering the filename on the command line as follows:

C>VBASE PROMPTS

If the prompt file does not exist, VBASE will ask for the maximum number of prompts that the new file should be able to handle. This adjusts the directory size, which can be changed with the Compress option in the main menu.

 
  New prompt file PROMPTS.VAP. Enter max prompts up to 8000 (0 to quit) ==>  
 

VBASE then asks which line to use. Either enter the line you are connected to or call in and VBASE will answer automatically the line which is ringing. If an Audio Coupler is used, enter the line number to which it is connected.

 
  To establish the connection:

     - Call in to any line
                or
     - Enter a channel number (1 - 4) to force it off-hook  
 

The above menu may differ based on the hardware you have installed. It will display channel options for up to eight lines. If you are using the AMX/81, enter "-Ax" on the command line after the VBASE command name, where "x" is the AMX interrupt.

You can also specify the channel number to use in the command line when starting VBASE. This is done with the "-x" parameter where "x" is the line number. When using the command line method, you may specify any valid channel up to the highest you have in your system.

After the connection is made, say on channel three, the following main option menu appears...

VBASE/40 Enhanced Voice Annotation Processor   Ver 4.3
Copyright (c) 1986-2005 Stok Software, Inc.

Prompt file = PROMPTS.VAP 138 used prompts 900 max Channel 3

Settings:  ADPCM  6K Sampling

                  [P] Play Prompt      [R] Record Prompt
                  [E] Edit Prompt      [D] Delete Prompt
                  [A] Annotation Edit  [L] List Annotations
                  [W] Write to a File  [G] Get from a File
                  [S] Sampling Rate    [I] Input Annotation
                  [M] Move Prompts     [N] Append Speech
                  [C] Compress (Regain 0% of 895487 bytes)

[Esc] End Session

  ______________________________________________________________________
 
 
 
  ______________________________________________________________________
  Select Option ==>

The present settings are displayed above the VBASE main menu. These settings are user selectable and can be changed by the user simply by selecting the appropriate command line option when starting VBASE. They are remembered from session to session so the command line options don't need to be specified each time you start VBASE. The feature settings are described below.

The empty space at the bottom of the main menu on the previous page is a window that is used to display the text of the annotation for the prompts as they are played, recorded, or edited. This window is also used in most of the sub-menus in VBASE whenever annotation text is to be displayed. This text is useful for knowing what the recorded prompt should be saying. This text can be entered and changed with full text editing features as will be described on the next page.



Command Line Parameters

Parameters may be specified in the command line after a dash. They may be placed in any order. Besides DOS related parameters, VBASE also has flip/flop feature settings (see below) that can be set from the command line and remembered by VBASE.

-Ix,y

This is used to specify the hardware and software interrupt levels. "x" is the hardware interrupt level. "y" is the driver software interrupt value. The default for the hardware interrupt is "3". The default for the driver software interrupt is hex "6D". Certain VGA boards use interrupt hex "6D", and so a system using such a board would require that a driver interrupt other than hex "6D" be specified.

-Nx

Specifies "No Speech" when all you need to do is modify text or load a new file, but no need to load the speech drivers. (available in version 4.3)

-Ax

Specifies the use of the AMX/81 and sets its interrupt level to "x".

-x

Specifying a value "x" from 1 to 32 after a hyphen will force VBASE to use this channel as the voice line rather than asking for it on startup.

Example:


C>VBASE PROMPTS -I3,61 -A3


Command Line Feature Settings

VBASE has flip/flop feature settings that can be set from the command line. These settings only need to be specified when you are changing them. They are remembered by VBASE. Each time you specify a particular feature parameter on the VBASE command line, it changes its mode. The mode setting is consistent unless changed again. The present mode is always displayed on the VBASE main menu screen.

The following are the features that can be switch from one to another. The command line parameters will cause the value to flip/flop. Once set, VBASE will continue to use the last setting unless the parameter is used again.
-V
Virtual Ramdrive: When you want to use a prompt file that resides on a RAM drive.
You must provide a RAM drive buffer space for this to work or you will get Dialogic Error 34.
-P
Specify PCM/ADPCM encoding.
-S
Set sampling rate to 8K or 6K.
-G
Disable/Enable AGC.


Example:

VBASE -P -S -I5,48

The above example starts up VBASE and changes the PCM to ADPCM or visa versa. It changes the sampling rate from 6K to 8K or 8K to 6K. It also specifies that the hardware interrupt is 5 and the software interrupt is 48. To use the same values again, just run VBASE with no parameters the next time.

If any of the Feature Parameters are specified again, their mode will flip to the alternate setting.


VBASE/40 Menu Options

Each option performs a unique function necessary for the proper development of a professional prompt file.

P - Play Prompt

Plays any prompt. Press "P" and it asks you which to play. Enter the prompt number desired and press the [Return] key. Entering a "+" will cause it to attempt to play the next incremental prompt (whether it exists or not). Entering a "*" will search for and play the next existing prompt. While a prompt is playing, it displays the annotation of that prompt (if any) in the text window.

R - Record Prompt

Press "R" and it asks you which prompt to record. Pressing "*" will search for the next prompt that is found with either text or existing speech and will record into that one found. Pressing "+" will do the next incremental prompt in any case. Or simply enter the specific prompt number.

Before actually recording, the annotation text is first displayed in the text window. This is for you to read while recording the prompt. It then waits for you to press the [space bar] to begin and again to stop the recording. Or, if you decide not to record anything, you may press the [Esc] key to abort the request. If the prompt selected already has speech recorded, you will be asked if it is okay to rerecord it.

D - Delete Prompt

This option removes both the annotation text and the speech data. It first displays the annotation (if any) so that the user may verify that the proper prompt is being removed.

A - Editing Annotation

The annotation is the text of the prompt. This is useful for visual display of each prompt. It helps while recording prompts to a prompt file. Each prompt will have its text displayed on the screen so the person doing the recording can read it right from the screen. This option displays the following menu:

VBASE/40 Enhanced Voice Annotation Processor   Ver 4.3
Copyright (c) 1986-2005 Stok Software, Inc.

Prompt file = PROMPTS.VAP 138 used prompts 900 max Channel 3

Annotation Text Editor


                   Edit Keys:
                         <    - move left
                         >    - move right
                         ^    - move up
                         v    - move down
                         ^K   - keep it
                         Del  - delete character
                         Ins  - insert character
                         Esc  - quit without saving


  ______________________________________________________________________
 
 
 
  ______________________________________________________________________
  Enter prompt # to edit (press * for next or [Esc] to quit) ==>


The cursor control keys on the numeric pad may be used within the text window where annotation may contain up to three lines of text. The [Del] key will remove one character of text. The [Ins] key is a flip-flop switch to turn on/off the insert mode. When the insert mode is on, new text being entered will push old text to the right.


E - Editing Prompts

The Edit Prompt option provides you with the following menu:

VBASE/40 Enhanced Voice Annotation Processor   Ver 4.3
Copyright (c) 1986-2005 Stok Software, Inc.


Prompt file = PROMPTS.VAP    138 used prompts  900 max  Channel 3

Play All  Play Beg   Play End
[7]       [8]       [9]

Chop Len   Chop Beg  Chop End
[4]       [5]       [6]

Save&End  Paste Beg  Paste End
[1]       [2]       [3]


[Esc] End without saving changes        [0] Enhanced Edit

Editing Prompt 24                      Chop 0.1 seconds
  _______________________________________________________________________
  Hello. If you know the extension you want, you may enter it at any
  time. Or press 1 for sales or 2 for support.
 
  ______________________________________________________________________
  Enter prompt # to edit (press * for next or [Esc] to quit) ==>


The numeric keypad may be used for all the functions in the above menu.

The Prompt Editor allows trimming from the beginning or from the end in as little as hundredths of a second increments. If you go too far you can "paste" things back. To change the chop length, press [4] on the numeric keypad and answer the following prompt:

 
  Enter chop length in seconds (1-9) or incr of .nn (.01 - .99) ==>  
 


The new value will be used as the length to chop or paste. The present setting will be displayed at the right side of the menu box, as shown above.

Option [0] allows you to delete segments of speech from anywhere in the prompt, and is fully explained on the next page.

The Enhanced Edit option provides you with the following additional menu:

VBASE/40 Enhanced Voice Annotation Processor   Ver 4.3
Copyright (c) 1986-2005 Stok Software, Inc.


  Prompt file = PROMPTS.VAP    138 used prompts  900 max  Channel 3


  Cursor keys: [<-] Left       [Page Up]/[Page Dn] Begin/End of Screen
               [->] Right             [Home]/[End] Begin/End of Prompt
  Exit keys: [F10] Save changes        [Esc] Quit - Keep Original
  Function keys:                        [F4] Delete marked segments
  [F1] Mark segment at cursor           [F5] Play marked blocks
  [F2] Mark block begin & end           [F6] Play all
  [F3] Unmark or undelete at cursor     [F7] Play cursor (two seconds)


Editing prompt 1

           1         2         3         4         5         6         7
  1234567890123456789012345678901234567890123456789012345678901234567890
  --***-****-**---*******--
                xx

  _______________________________________________________________________
  Your response is invalid
 
 
  ______________________________________________________________________
  Select Option ==>


The Enhanced edit function provides for the deletion of speech segments or blocks as small as 0.17 seconds. This is the length of speech that each "*" or "-" on the screen represents. The maximum length of a prompt that can be edited with the enhanced function is 60 seconds. Anything beyond 60 seconds will be chopped off.

Each "*" and "-" shown on the line across the screen provides a visual representation of the prompt. A "*" represents a speech segment at a relatively high volume, and a "-" represents speech at a low volume.

By examining this line of symbols, in conjunction with the text of the prompt below it, you will be able to determine those segments or blocks of segments you may want to delete. Also, in order to check what specific speech lies where in relation to the prompt symbols shown, the [F5] key may be used to play only that part of the prompt which has been marked. If more than one continuous block is marked, all marked blocks will be played when you press [F5].

In the sample prompt given on the screen above, for example, you may want to delete the dead space prior to the last word. The last word in the sample prompt is "invalid" and it is represented above by "*******". If a pause between words is quite short, you may find the segment symbol associated with it to be "*" instead of "-". The two segments prior to this last word can be referenced with the line of digits just above the prompt symbols. The segments referred to here (marked with x's) are locations 15 and 16 on the sample screen.

To delete a segment, first move the cursor to the segment to be deleted. The cursor can be moved to any location in the prompt via the left and right arrow keys. Prior to the actual deletion of a segment, first mark the segment by pressing the [F1] key. This will result in an "x" being displayed below the current cursor position.

To mark an entire block of speech, move the cursor to the start of the block and press [F2]; a "b" will be displayed denoting the beginning of the block. Then move the cursor to the end of the block and press [F2] again; this will result in all segments in the block being marked with "x"s.

All segments marked with an "x" can be deleted by pressing the [F4] key. This deletion is noted on the screen by all "x"s being replaced by "d"s. The "*" or "-" associated with the deleted segment remains on the screen; however, when playing the prompt with either the [F5] or [F6] key, those sections marked with a "d" will not be played.

Any segment marked with an "x" can be unmarked and any segment marked with a "d" can be undeleted by moving the cursor to the selected segment and pressing the [F3] key.

 
  Press [F10] to save your changes or [Esc] to quit without saving. 
 



L - List Annotations

Displays a complete list of all prompt annotations on the console or writes them to a file. This list will note if a prompt has speech but no annotation or annotation with no speech. The file offset and the length of each prompt will also be shown in the listing.

G - Get from file

With this option, you can load a regular prompt file into a VBASE prompt file as any prompt number. This allows conversion from non-VBASE applications.

W - Write to File

Any prompt or block of prompts may be written to another VBASE formatted file. When this option is chosen, the following additional options are displayed:

 
    [A] Write one prompt to a regular file  
    [B] Write block of prompts to another prompt file  
  [Esc] Quit  
 


Option [A] allows you to select a single prompt number from the present VBASE file and copy it to a non-indexed file. If annotation is present for the prompt being written, the annotation text will go with it and will be intact with the prompt when it is again read back to a VBASE file with option [G] in the main menu. If there is no text, the file written will be a regular single-prompt voice file.

Option [B] above will ask you to enter the starting and ending prompt numbers (inclusive) of the block you want to copy. It then asks for the destination file name. The destination file must be a VBASE file. If the file name entered does not exist, it will be created, with the ".VAP" extension added to the name entered. If the file name does exist, the following message is displayed:

 
  File already exists. Clear or Include (C, I, or [Esc] to quit) =>  
 


The block of prompts moved will have the same prompt numbers in the destination file as they had in the original file. Therefore you need to select one of the options from the above screen prompt. Prompts in the destination file will be replaced by prompts with the same prompt numbers from the source. Any prompts in the destination file that are in the range but are not in the source will remain and be Included if you press [I]. They will be Cleared if you press [C].

All prompts in the block will be written out to the file specified, whether or not the prompts include speech.

S - Sampling Rate

This function allows changing the Recording Sampling Rate, which is also known as the digitizing rate. If you record prompts at a different rate, you must also use the same value in your application. The value is saved in the header of the prompt file for applications to access.

If VBASE is used via a called in line, it may lose the connection from TelCo when the sampling rate is changed. This is because it needs to restart the driver and hence it goes on hook for a moment. After changing the sampling rate, you may need to re-establish your connection.

I - Input Annotation

With this option you can get prompt annotations from an ASCII text file and load them into the VBASE prompt file. The format of the text file must be as follows:

    P[ROMPT] nnnn [comments]
    [text]
    [text]
    [text]


   ... where nnnn is the prompt number. Square brackets denote optional characters. P[ROMPT] must start at the leftmost column. Up to three lines of text are allowed for each prompt annotation. If the text is less than three lines, at least one blank line is required to separate that prompt from the prompt following it. A text file to be used for input may also be created by using the [L] option in the main menu, listing all annotations from an existing prompt file to a specified text file.

It should be noted that if there is a prompt in the VBASE prompt file which does not appear in the text file being loaded, that prompt will no longer exist once the text file has been loaded into the VBASE file.

M - Move Prompts

This option provides the capability of moving a range of prompts from one location to another by specifying the prompt number for the start of the range, the number for the end of the range, and finally the prompt number for the starting new location. If there are existing prompts at the new location, they will be overwritten. If annotation is present, it will be moved along with the speech prompt.

N - Append Speech

With this option, one prompt can be appended to another. Annotation text is not appended, only the actual recorded speech.

C - Compress Prompt File

As prompts and annotations are changed or deleted, the space used by the old data in the prompt file is wasted. The "Compress" option eliminates wasted space. Note that the percentage of wasted space is always displayed in the main menu.

Esc - End Session

VBASE is terminated by pressing the [Esc] key from the main menu. If it is aborted any other way, changes to the prompt file may not be reflected.


Specifying Maximum Prompts

The "Compress" option above can also be used to change the maximum number of prompts allowed in the prompt file. This value can be changed lower or higher. If no change is required then just press the [Return] key. Enter [Esc] if you change your mind.

 
  Enter max prompts (press [Return] for 8000, [Esc] to quit) ==>  
 





4
 Format of the VBASE/40 Prompt File 



Every entry in the directory is an "unsigned long" (a four byte field). The first six fields make up the header information. Following these are the start, length and text pointer for each possible prompt. The header is as follows:

 
      dir[0] = Max number of prompts allowed
      dir[1] = Sampling Rate (Default 6053)
      dir[2] = Total currently used prompts 
      dir[3] = Reserved (presently 0)
      dir[4] = Number of bytes used in file
      dir[5] = Reserved (presently 0)


The sampling rate may be changed via option [S] in the main menu of VBASE. Field dir[1] can then be read by the application program to dynamically set the sampling rate accordingly. The default for a new prompt file is set to 6053.

The rest of the directory from dir[6] on up is as follows (in groups of three):

      start = Offset in file to start of speech data for prompt.
      length = Length of prompt in bytes.
      text   = Offset in file to start annotation text.



Remember, the directory entries are four bytes each. The speech and text pointers and the speech length can be found for any prompt with the following formula:

unsigned long dir[(NPROMPTS*3)+6], start, length, text;
int offset, prompt;


offset = (((prompt - 1) * 3) + 6) start = dir[offset] length = dir[offset+1] text = dir[offset+2]


The offset gives us the directory position that contains the data we want. Each position in the directory is a long pointer. The prompt contains the prompt number which we want.

NPROMPTS is the maximum number of prompts in the prompt file. This can be changed with VBASE in the Compress option.

The speech data is start bytes from the beginning of the file. The speech is length bytes long.

All annotation text pointed to by text is ended with a null character ('\0'). Text takes up only as much length as the significant part (i.e. trailing blanks are removed).

To play a prompt, seek to the start and play length bytes.




5
 Error Messages  



Error setting parameters. Check hardware.

Call to Set_Global_params failed.

Board does not respond. IL = x

Check interrupt level you are using. Specify in command line with "-x,y" where "x" is the hardware interrupt and "y" is the software interrupt.

Unable to start system. Reason x

Check that you have the driver loaded properly.

AMX80 error rc=x

AMX_Start failed with return code = x

Invalid channel

You specified a channel less than 1 or greater max.

Invalid station

You specified an AMX80 station number less than 1 or greater than the max.

Error - Driver is not installed

Speech driver not found. Did you install the driver?

Not enough memory available

VBASE needs more memory. Check if any TSR's are reserving memory and remove them.

Prompt x does not exist.

You requested to play a non-existing prompt x.

Prompt x has no speech.

You requested to play prompt x, but it has no speech.

Prompt x exists, do you want to re-record (Y/N)? ==>

You tried to record into a prompt that already has speech recorded. Press [Y] to continue with recording.

Prompt x exists, do you want to overlay this (Y/N)? ==>

You tried to "get" a prompt from another file into one that exists. Press [Y] to continue. The original prompt will be lost.

Invalid option

You selected an option that is not in the screen menu.

Cannot update dir

During a compress or when VBASE is terminated, DOS did not allow the directory of the prompt file to be written to. Check if file is Read-Only. Check for other hard disk problems. Check for damaged prompt file.

New prompt file <FILENAME>. Enter max prompts up to x ([Esc] to quit) ==>

You specified a prompt file which does not exist. Enter the max number of prompts desired so that VBASE can create the new file with the proper size directory. It can be expanded later with the compress option.

Cannot get <FILENAME> dir size

DOS read failed when trying to read control fields of the prompt file. Check if the prompt file is damaged.

Cannot read <FILENAME> dir

DOS read failed when trying to read directory of prompt file. Check for damaged prompt file.

Cannot create new prompt file

DOS would not let another file be created. Check for max files open. Check for damaged DOS disk directory.

Cannot write new <FILENAME> dir

DOS write failed when trying to write directory of prompt file. Check for DOS errors. Check for damaged prompt file.

Cannot reopen created prompt file

DOS did not allow open of prompt file after closing it. Check for DOS errors. Check for damaged prompt file.

Cannot write text to file

DOS write failed when trying to write annotation text to prompt file. Check for damaged prompt file.

Cannot allocate memory buffer

DOS did not allow any more memory to be allocated for buffers. 640K recommended for proper operation. Try removing any TSR's other than D40DRV.

Insufficient disk space

During a compress, append, or when adding to a prompt file, the disk space has reached its limits.

Text Seek Error n

DOS seek error n seeking to location of text. Check for damaged prompt file.

Seek Error n

DOS seek error n seeking to location of speech. Check for damaged prompt file.

Error opening compressed file

After compressing, DOS open failed. Check for DOS errors.

Error x playing prompt y

Play_File error rc=x while playing prompt y.
Error 10 means a multi-tasking function is running. This has been found to happen with older VBASE versions running on Pentium machines. Ver 4.2 does not have this problem.
Error 34 means you have the RAM drive flag set but did not provide a buffer. Re-run VBASE with -V on the command line to turn off the RAM drive.
See the Dialogic Voice Software Reference For MS-DOS manual for more info on return codes.

Error x recording prompt y

Record_File failed rc=x. See Dialogic manual for more info on return code.

Warning - Disk Full

Record_File was in progress while disk space ran out.

Cannot read from a file

DOS read failed. Check for damaged prompt file.

Cannot create work file

During compress, DOS open had failed on temp file.

Error Renaming <FILENAME> to <FILENAME>

Rename failed. Check for DOS errors.



Top


Table of ContentsVbase InfoHome