VoiceKeyExpress © Stu Olson 1998
Turns your PC's sound card into a powerful and versatile digital voice keyer
Now available, VoiceKeyDeluxe. More comm ports, more message buffers, and support for multiple sound cards. Click here for more information.
You may now use PayPal to register your
copy of VoiceKeyExpress.
(Save time and money getting your registration key!)
PayPal allows you to securely send money to any email user in the U.S. After signing up, you simply enter the recipient's email address and a dollar amount. The money is charged to your credit card, and sent to the recipient. The transaction takes seconds to complete.
NOTE: You must supply your name (first and last) and your call sign when ordering your copy of VKE using PayPal. I can usually e-mail your registration code within 24 hours (or less) of receipt of payment. Please understand that I do go on vacations and such where I do NOT have Internet access. When I return from such a trip, I will process your registration request immediately.
| Click the Buy Now button below to purchase VoiceKeyExpress. |
| After you have purchased VKE, send me your name and call sign. I can not process your registration without them. Send it to N7QJP. |
VoiceKeyExpress Download Page
Go to the VoiceKeyExpress Download Page to find the latest VKE files.
To better help describe the features, functions, and use of VoiceKeyExpress, a VoiceKeyExpress - FAQ Page is available. It was started on Nov. 28, 1998. Check back occasionally to see what new topics have been added.
A copy of the VoiceKeyExpress User Manual is displayed below. You are welcome to review it. If you have any questions, please feel free to e-mail me at solson8@q.com
VoiceKeyExpress User Manual in .PDF format
Download the VoiceKeyExpress User Manual in Adobe Acrobat file format (99 Kb).
Updated 10/4/2009
Features
VoiceKeyExpress (VKE) turns your PC's sound card into a powerful and versatile digital voice keyer. VKE was designed with both the meteor scatter and contest operator in mind. It has already proven to be a valuable tool for helping find those often times missed VHF band openings. It provides a variety of easy to use features that will run equally well on your laptop or desktop PCs. While so many other audio card applications will only work with specific brands of sound cards, VKE is sound card independent. If your PC has a Windows compatible sound card, VKE can turn it into a first class voice keyer. Some of the versatile features include:
About VKE
VoiceKeyExpress is professionally developed PC shareware. You should try it before you decide to buy it. If you intend to continue using VKE for more than the two week evaluation period, you are asked to register your copy for a small $10 fee.
VoiceKeyExpress is the programming effort of Stu Olson, N7QJP. All rights to the software are retained by him. Commercial use or distribution of this software through methods other than what is accepted as conventional shareware media requires written consent. VKE is provided on an as is basis. The developer is not responsible for its use nor for any claims as to its fitness for use made or implied.
VKE is written in Visual Basic Professional Edition 5.0 , Service Pack 3 update. It is a 32 bit software application, designed for computers running the Microsoft Windows '95, 98, NT 4.0,WinME, Win2000, WinXP, Vista, and Windows 7 operating systems. It will not work on PCs running Windows 3.x.
VKE uses standard wave (.wav) files. These can be produced using one of the many different wave file recording/editing applications, including those supplied with Windows. You can also use the built-in record feature of VKE. VKE relies on your sound card mixer panel to select the record source and set the audio level.
VKE operates in two modes, Manual and Sked Timing. Contest operators (and those using VKE for casual QSOs) would use the Manual mode while those working a scheduled meteor scatter QSO would use the Sked Timing mode. The common user interface allows a user to comfortably switch back and forth without having to "relearn" the program's operation.
VKE provides pre-defined macro keys to simplify operation for when "the pace gets frantic". These keys combine several discrete keystrokes (or mouse clicks) into a single key press. See the Keyboard Function Keys section for details.
VKE is now compatible with the TRX-Manager CAT software for Yaesu, Kenwood, and Icom radios. Owners of TRX-Manager can run VKE without any additional PC interface cables or hardware changes. VKE uses the TRX-Manager's OLE feature to support both programs via one common serial port.
Many thanks go to Doug Freestone, VE5UF, for his graphics and assistance in beta testing. His quick response to my questions and endless hours of testing helped bring this program to completion much faster than if I had attempted to do these things by myself. You really can meet the nicest people via the Internet (and ham radio too!)
Also, many thanks go to Lance Collister, W7GJ. Lance has provided many suggestions over the past year. Some of them were even good (grin)! In all seriousness, Lance has been the main motivation in getting me to add more features and making changes that allows VKE to me used by a wider audience of hams (are you VHF weak signal operators listening?).
Last but not least, many thanks go to Laurent Labourie, F6DEX, who is the developer of the TRX-Manager CAT program. Laurent helped me interface VKE to his TRX-Manager software.
VoiceKeyExpress was originally developed on a Pentium Pro 150Mhz PC running Win'98. Since then, it has been tested on other computers (and operating systems) with good results. The PC must have a Windows compatible sound card installed. There are no special video card or memory requirements. If your PC performs well running other 32 bit applications, it should likewise do well with VKE.
VoiceKeyExpress installs using a standard Microsoft setup application. All of the necessary system and support files are installed while running the setup application.
VKE .INI File Configuration
VoiceKeyExpress
uses an initialization file that holds user and PC specific values. This file is created when the saving the setup from the File|Preferences menu item. The name of this file is VOICEKEY.INI. It is located in the directory in which you installed VKE.Below is a portion of the entries in the VoiceKey.ini file.
[Preference]
PTT Delay=75
PTT Key=DTR
PTT Int=DSR
UTCDiff=7
CommPort=1
Recorder=c:\windows\sndrec32.exe
FTLink=100
NAMSTiming=1
IDInterval=10
When exiting VKE, the message buffer contents/options are stored in this .ini file. These settings are restored the next time VKE is run. The file entries for storing the message buffer information is the same as that used in the VoiceKeyConfiguration files (see .vkc file explanation below).
These settings can also be configured by using the Preferences option by selecting File|Preferences from the VKE pull down menu. You may also use an ASCII text editor, such as Microsoft NotePad, to edit the file.
PTT Delay: The delay, in milliseconds, between activation of the PTT interface and when the wave file is started. In the sample above, a delay of 75 milliseconds will be introduced into the timing circuits between activation of the PTT line and when the message buffer logic actually starts. This helps prevent your transmitter and amplifier T/R relays from hot switching.
PTT Key:
This is the serial port line that is used to activate the PTT circuit to the radio. There are two values that can be assigned; DTR (Data Terminal Ready) and RTS (Request To Send).PTT Int:
This is the serial port line that is monitored for an external interrupt. There are two values that can be assigned; DSR (Data Set Ready) and CTS (Clear To Send). If not assigned, the interrupt logic will ignore this function.UTCDiff:
This is the offset between your time zone and good 'ol WWV time. This is the value, in hours, that GMT (do they still use that notation?) leads your time zone. If your PC clock is already adjusted for this difference, enter 0 for the value. In the example above, the value of 7 reflects the difference between Mountain Standard Time and UTC. If you are located in a 1/2 hour time zone, enter the value as a decimal. An example of this is Darwin, Northern Territory, Australia, which is -9.5 hours from GMT.CommPort:
This is the serial port number that will be used to allow VKE and your radio to communicate. Enter any valid serial port number that your PC is configured for. Be sure the interface cable is also attached to this same serial port (and your radio).Recorder:
This is the name of the optional audio recorder application. Although VKE has its own internal recorder, many users like to record with a favorite (familiar) program. Edit this line with the appropriate path and filename of the audio recorder you desire. If no filename is supplied, VKE will record using its internal recorder.FTLink:
This is the delay (in milliseconds) that is used for polling TRX-Manager's PTT status after VKE switches from transmit to receive. VKE will wait this period of time before checking the PTT status. If it finds it still in transmit, it will wait this amount again and check it again, etc. This delay is needed in order to keep VKE and TRX-Manager in sync with each other through your PC's operating system software.NAMSTiming:
This value holds the Sked Timing interval value (1 to 4). A value of 1 = 15 seconds, 2 = 30 seconds, 3 = 1 minute, and 4 = 2 minutes. These are the time durations of the xmit or receive segments.IDInterval:
This is the value (in minutes) for the station ID QSO timer. When the QSO timer is enabled, the timer counts down from this value.
VKE .VKC File Configuration
VKE also uses VoiceKeyConfiguration files (.vkc). These files are created and maintained by the application and normally require no user editing. However, you may find it faster to copy and edit your own files. The following example shows the detail of the file. Note that although there are a number of entries (18), there is a group of three items that repeat themselves (with a slight variation) throughout the file:
[MSG Config]
MSG1=CQContest.wav
Delay1=40
Loop1=True
MSG2=KD7GZ.wav
Delay2=0
Loop2=False
MSG3=SignalandGrid.wav
Delay3=0
Loop3=False
MSG4=GoodLuckContest.wav
Delay4=0
Loop4=False
MSG5=RepeatGrid.wav
Delay5=0
Loop5=False
MSG6=NegativeCopy.wav
Delay6=0
Loop6=False
Note that there is a wave filename, delay value, and a loop value for each of the six message buffers. Each of these is described in more detail in the remainder of this document. "MSGx" is the filename of the desired wave file. "Delayx" is the value, in .1 sec increments (hundreds of milliseconds), to pause for prior to repeating the message. "Loopx" is true if the message is to be automatically repeated and false if it should not.
System Cabling and Wiring
VoiceKeyExpress is strictly a software product. It provides control and polling of several RS-232 lines, into and out of, the selected serial communications port. It is your responsibility to configure the control wiring so that the radio and PC control lines are working as required.
To provide the highest degree of compatibility with other PC/radio interface configurations, VKE allows either the DTR or RTS comm port lines to be used for transmitter keying. VKE reads the .ini file (PTT Key) to obtain this value and configures its PTT logic to actuate the proper serial port pin. Figure 1 shows a method of interfacing the PC comm port to the radio's PTT circuitry. By using this type of method, you provide complete electrical isolation between the PC and the radio. There are no grounds, and hence, no ground loops. The current draw of the Radio Shack SPST reed relay (275-233) is small enough to be sourced by the comm port. This eliminates any need for external power and keeps the interface simple and compact.
On a DB25 serial port connector, pin 20 is DTR, pin 4 is RTS, and Signal Gnd is pin 7.
On a DB9 serial port connector, pin 4 is DTR, pin 7 is RTS, and Signal Gnd is pin 5.

Figure 1
VKE can also be configured to monitor for an external input. This input is usually generated by keying the transmitter with the station microphone. This will interrupt the playback of the active message buffer. VKE can monitor either the DSR or CTS comm port lines for this purpose. VKE reads the .ini file (PTT Int) to obtain this value and configures its interrupt logic check for the appropriate serial port pin. Note that the assignment of "PTT Int" is not required for proper operation. If not assigned, the interrupt logic will simply ignore both serial port pins.
On a DB25 serial port connector, pin 6 is DSR, pin 5 is CTS.
On a DB9 serial port connector, pin 6 is DSR, pin 8 is CTS.
The sound card inputs/outputs and the radio microphone input is left to your homebrew initiative. The sound card output (preferably the line outputs) would be connected to the radio microphone or radio aux input connector. It is possible that you may have to attenuate the signal level to the appropriate level in order to prevent distortion in your transmitter. This can be easily checked (on the air) with the help of another radio amateur or a station monitor. Figure 3 shows a method of connecting the sound card audio to the transmitter.

Figure 2
To record your messages, an inexpensive PC microphone, connected directly to the sound card's mic input, is often times easier to connect than is the microphone from your station rig. However, I have found that my HEIL headset/boom mic provides a good recording signal and will plug directly into the mic jack on the audio card. Some rigs offer a monitor function which can supply transmit audio for recording purposes. Consult your radio manual for details.

Figure 3
Figure 3 is a picture of the main screen of VKE.
Main Screen Controls
The following paragraphs detail the features and functions of the main screen (Figure 3) controls, menus, and displays
This grouping of option boxes allows the user to select one of six messages, thereby making it the active message buffer. When the message is selected, the wave file name is bolded. When the application is in xmit mode, the active message window is displayed in inverse video.
Displays the filename of the .wav file currently loaded in the applicable message buffer.
When checked, the message will continue to repeat itself during any xmit period, regardless of the mode (Manual or Sked Timing). When in Sked timing mode, if your message is shorter than the xmit interval, AND you do not have the loop box checked, VKE will immediately go to receive once the end of the wave file is reached. If your message is longer than the xmit interval, it will be cut short when VKE switches from the xmit interval to the receive interval.
Delay
If the message is set for repeating (see Loop above), the application will pause for the specified number of .1 second increments (1/10th second). During this time, the PTT interface will unkey the radio and allow the user to monitor the received signal. After the specified delay, the PTT interface will key the radio and again send the active message. This feature is available in both Sked Timing and Manual modes.
Sked Timing
When checked, the Master Sequence Timer (MST) is enabled. The MST is used for synchronizing the transmit and receive timing segments with the desired xmit interval. This provides for hands-free automatic operation. When unchecked, the MST is disabled and Manual operation is resumed. The Manual mode is normally used for casual and contest voice keyer applications.
Xmit 1/3 - EME East
When checked, the 1st, 3rd, etc. intervals will be used for transmitting. When unchecked, the PTT interface will key the transmitter on the 2nd, 4th, etc. intervals. If the "Sked Timing" control is not checked, the setting of this control is ignored.
Start
When pressed, the active message will be sent using either Sked Timing or Manual mode. If the currently selected message has no assigned filename, a status bar message reminds the user that no file has been loaded into the active message buffer. The user should load a file or switch to another message buffer that has a file loaded.
Stop
When pressed, playback of the active message stops. If transmitting in Manual mode, or the application is in the xmit segment during Sked Timing operation, the playback message is stopped and the PTT circuit is unkeyed.
Load
When pressed, a File Open dialogue box is displayed for loading wave (.wav) files. The default subdirectory for loading a wave file is the VKE subdirectory. The selected wave file will be loaded into the active message buffer. If the active buffer has been previously loaded, a confirmation for overwriting the message buffer is presented.
Record
The function of this control depends on the contents of the .ini file (see System Requirements and Setup above). If no "Record" entry exists in the .ini file, a wave file is recorded into the active message buffer using VKE's internal audio recorder. If an entry exits in the .ini file, that application will be launched and used for recording. In either case, the audio source and level must be controlled via the sound card's audio mixer panel.
Save
When pressed, a File Save dialogue box is displayed for saving the wave (.wav) file. The default subdirectory for saving a wave file is the VKE subdirectory. If you intend to use the Load Configuration menu option at a later time, you must save the recording in the VKE subdirectory (default path). If you do not intend to load the message buffers via the Load Configuration menu, the wave (.wav) files can be saved to any valid storage location.
Erase
When pressed, it erases the contents of the active message buffer. No confirmation is provided.
Xmit
When pressed, it toggles the PTT interface between keyed and unkeyed. This is most commonly used to verify proper PTT interface cabling between the PC and the radio. It is not used during Manual or Sked Timing modes. If "PTT Disable" is unchecked (see "Options|PTT Enable" below), the PTT keying will be simulated.
Menu Function
When selected, a File Open dialogue box is displayed for loading the desired message buffer configuration. Any previously saved configuration file can be selected for loading. The VKE subdirectory is presented as the default path.
When selected, a File Save dialogue box is displayed for saving the current message buffer configuration. The filenames, delay, and loop values for up to 6 message buffers are written to a configuration file (.vkc). The VKE subdirectory is presented as the default path.
File|Preferences
When selected, the Preferences form is displayed. The Preferences form provides an easy method by which you can change various VKE parameters, such as PTT Delay, Comm Port number, etc. These changes are stored in the Voicekey.ini file, as explained in the VKE .INI File Configuration section.
When selected, the program exits. An exit confirmation is presented. The message buffer information is saved (in the VoiceKey.ini file) and is restored the next time VKE is ran.
When selected, this feature will keep VKE on top of all other open windows on your desktop. Select it again to turn this feature off (default).
Options|Sked Timing
When selected, it allows you to select from several different timing intervals. The interval shown is the time period which VKE will be either in the xmit or receive interval. For North American MS operations, you would select the 15 second interval. Timing schedules that support meteor scatter operations in Europe and for 2 meter EME operators are also included.
When selected (default), the PTT logic allows the radio to be keyed. When unchecked, VKE operates as before, except that the transmitter will not be keyed. This feature provides for a "practice" mode, allowing normal program operation with the exception of keying the transmitter.
When selected, VKE will ignore the .ini values for "PTT Int".
When selected, VKE will run the Windows playback mixer panel.
When selected, VKE will run the Windows record mixer panel.
Status Bar
The status bar, located at the bottom of the application's screen, shows several different operating parameters and the status of various processes while they are running. The status bar is comprised of 5 display panels. Starting with the left most panel (#1):
Panel #1 - Mode Display
Displays the mode of the MST. The displayed text changes based on the state of the Sked Timing check box. When not checked, "Manual" is displayed. This means that timing and sequencing of the active message is left up to the user. When the Sked Timing check box is checked, panel #1 will display either "XMIT" or "RECV". The displayed text reflects the setting of the "Xmit 1/3 EME East" check box, and the mintues/seconds of the system clock. As long as the Sked Timing box is checked, the "XMIT" or "RECV" caption will toggle back and forth to reflect which interval is active, even if the Start button has not been pressed. This is done so that if you manually wish to control your station during a scheduled contact, you can determine when the XMIT segment is active.
Displays the application clock with the UTC offset.
Displays the status of the PTT interface logic. When Options|PTT Enable is unchecked, the PTT status will include the text "Sim". This indicates that the PTT interface logic is simulating an actuation of the PTT circuit.
Displays the completion progress of the active message buffer during playback.
Displays process messages, media control interface status, and other information as necessary.
Displays the remaining time until the QSO timer indicates "ID". The value for this is set in the VoiceKey.ini file. Clicking anywhere on the status bar will start the timer. Double clicking on the status bar will stop and disable the timer. If the timer indicates it is time to ID, a single click will reset the timer and it will again start the count down.
Shortcut Keys
The keys, when pressed, executes the following interface controls:
F1...F6
STOP button, MSGx button, START button where x is the desired active message buffer
F12
START button
KeyPad +
START button
ESC
STOP button
To use VKE with TRX-Manager, TRX-Manager must have its OLE turned on. This is done by selecting the Parameters option from the Setup Menu. Ensure that the "OLE enabled" box is checked. If OLE was not checked, you will have to restart TRX-Manager after changing the setting.
Laurent told me that you must be running version 1.7.0+ of FTLink in order to support the OLE interface to VKE. I checked my ftlink.zip file and it has a date of June 18, 1998 on it, so if yours is that date or newer, you should be OK.
To use VKE with TRX-Manager, you must start TRX-Manager first. To optimize performance, and to ensure the accuracy of VKE's timing routines, you must run TRX-Manager maximized. (When VKE starts, it will not recognize that TRX-Manager is running unless TRX-Manager is running maximized.) Minimizing TRX-Manager after starting VKE will most likely provide unsatisfactory performance, and could result in unexpected timing and synchronization errors.
After TRX-Manager is running with the Monitor window opened, start VKE. If VKE detects the Monitor window in TRX-Manager, it will present you with the option of using TRX-Manager's control interface. At that time, select "Yes" to use the TRX-Manager interface or "No" to use the normal serial port interface that is specified in the VoiceKey.ini file.
The "Ignore PTT Int" menu option will also work when using TRX-Manager. If you press the microphone PTT button while VKE is in a receive window, VKE will still detect the PTT coming from the radio and being statused as keyed by TRX-Manager. It may be necessary to vary the "FTLink" value slightly if you encounter problems detecting the PTT from your microphone.
Return to
main page