WAV file transmission

WriteLog can transmit pre-recorded audio through your rig, and can record the necessary WAV files, each with a single f-key. SHIFT-F2 through SHIFT-F11 initiate the recording process, ESCAPE ends the recording, and F2 through F11 transmit the recorded WAV file. If that is all you want WriteLog to do with recorded audio, then there is nothing more for you on the rest of this page.

For those that want full SSB transmission automation, the WriteLog team provides a plug-in to Audacity that simplifies getting set up. The WriteLog team offers no opinion here about whether such automation is good for your contesting score or not. Should you want to use the automation, here is how. On first read, this page seems long and complicated. Rest assured, its not as hard as it looks.

Review of WriteLog’s capabilities

All current WriteLog versions from version 11 and earlier can record and playback certain WAV files. WriteLog can also automatically splice together the contents of a set of WAV files based on processing the % character you might add to its Message memories.

Record and Playback f-key messages

WriteLog names the files it records using SHIFT-f-key files this way:

  • MSG2.WAV
  • MSG11.WAV

By default they are in your Documents\WriteLog\WaveFiles folder. There are variations on this directory assignment to support switching the folder among operator voices for a multi-operator setup, but this tutorial is limited to helping create and possibly edit the necessary WAV files.

Also by default, the contents of WriteLog’s SSB memories for F2 through F11 are set to transmit the above files:

  • Message02: <msg2.wav>
  • Message11: <msg11.wav>

Splice prerecorded phonetics

WriteLog is also capable of splicing together WAV files on the fly based on your real time data entry. Getting WriteLog set up to do that is more involved than just pressing the f-keys. WriteLog needs a set of prerecorded phonetics to splice together ,which you have to create outside of WriteLog. This tutorial explains a way to accomplish that.

To transmit a prerecorded message, WriteLog processes any % sequences you have put in its SSB Memory setup, and searches its WaveFiles directory, character by character, for files of these names

  • A.WAV
  • B.WAV
  • Z.WAV
  • 0.WAV
  • 9.WAV
  • SLASH.WAV
  • QUESTION.WAV
  • SPACE.WAV

With the complete set of files listed, you can program WriteLog’s Setup/CW-RTTY-SSB-Messages menu for SSB to contain more than just <msgnn.wav>. For example, set Message10 to %C 59 %1. Pressing F10 would then cause WriteLog to sound out the CALL in its Entry Window using the the WAV files listed above, then 5.WAV, 9.WAV and finally the .WAV files that make up the serial number.

The WAV format restrictions

All the WAV files that WriteLog might look up based on your Setup/CW-RTTY-SSB-Messages menu entries must have same data format. This includes the MSG2.WAV through MSG11.WAV that WriteLog creates from its Shfit+f-Keys, along with the individual phonetics A.WAV through Z.WAV. WriteLog writes compatible files that are:

  • 1-channel (mono)
  • 16 bit samples
  • Either 11025Hz (CD-compatible) or, if you change writelog.ini, 12000Hz (DVD-compatible. Why?)

Its easier to get all the file names and formats right when you use a good tool for the job.

Use Audacity to create WriteLog’s .wav files

Audacity is a free, GPL-licensed tool for editing audio files. Download and install it from their site. It has plenty of documentation and capabilities well beyond those described below. Our purpose here is to show a novice Audacity user how to put together the necessary support for automating SSB transmission from WriteLog.

Add the Phonetics Finder plug-in

The WriteLog team created this PhoneticsFinder.ny Audacity plug-in to aid in creating the phonetic WAV files in one easy recording session. You need to click the link and save the linked .ny file on your system. Not all browsers behave the same way, but try a right click the link and look for”Save-Link-As.” However your browser supports it, get a copy of the PhoneticsFinder.ny file on your PC. Next, copy the .ny file into the plug-ins directory in your audacity install. Depending on which Audacity installation options you chose, you may need Administrator privilege to make this copy. On my PC, the directory looks like this:
PluginDir
Now bring up Audacity and enable the new plugin from its Analyze menu:
AddRemove
Click Enable for the Phonetics Finder:
MicAndRate
OK the dialog, and, from now on, the Phonetics Finder should appear in Audacity’s Analyze menu on this PC.

Initial Selections

Select your microphone sound card and set the Project rate to 11025 and set the Mic recording to Mono.
enable-plug-in
The 11025Hz rate is the default rate for WriteLog. But there are sound board configurations that may have forced you to change it to 12000Hz (see the MicSampleRate setting in WriteLog.ini below.) Then you must instead set the Audacity project rate to 12000 as well. If you don’t know what you have set for WriteLog, use Audacity’s File/Open to browse to MSG2.WAV as created by WriteLog (or any of MSG2 through MSG11) and see what Audacity says, like this:
MSG2

Record your voice saying the phonetics

Audacity is ready, but you need to know what to record. Here is the script.

You are going to read the following words, leaving at least a half-second pause between each; Phonetics Finder needs that silence. Think of a musician establishing a tempo—one beat per second—tap your foot. But just because you’re leaving a second between the phonetics, don’t drag out your pronunciation; say each crisply and quickly. Start the recording (the round button in the top left panel) then read this script, one line per second (or thereabouts):

  • Alpha
  • Bravo
  • Charlie
  • Delta
  • Echo
  • Foxtrot
  • Golf
  • Hotel
  • India
  • Juliet
  • Kilo
  • Lima
  • Mike
  • November
  • Oscar
  • Papa
  • Quebec
  • Romeo
  • Sierra
  • Tango
  • Uniform
  • Victor
  • Whiskey
  • Xray
  • Yankee
  • Zulu
  • Stroke
  • Zero
  • One
  • Two
  • Three
  • Four
  • Five
  • Six
  • Seven
  • Eight
  • Nine
  • Again?
  • Advanced topic. You may add longer phrases to this list. see below.

Stop the recording. To show your entire phonetics recording session like this, use Audacity’s View/Fit-in-Window menu item:
RecordingDone
If you don’t like what you have, use Edit/Undo and record it again.

Bring the gain up to full scale

This step is optional, but doing it makes the Phonetic Finder plug-in’s use of its Level setting consistent. Use Audacity’s Effect/Amplify and accept its defaults to bring the peak in your recording up to full scale.
EffectAmplify

The default Amplification that Audacity presents is exactly what you want (you’ll get a different number than my screen shot—don’t change yours.)
Amplify
The waveform peak is now full scale.
Amplified

Advanced topic: The peak amplitude for each phonetic is not consistent across my recording and likely won’t be for yours. Audacity has many processing capabilities that you may use to touch up your waveforms. Its best to do that work later (see below) and not now.

Run the Analyze/Phonetics Finder

Here is where the magic happens. We installed the WriteLog phonetics finder above. Now its time to run it.
PhoneticsFinderMenu

Use 20dB to start. Choosing a higher number means silence is more scarce (sounds will be longer.)
Phonetics20db

It adds a new Label Track to your Project:
PhoneticsFound

Check the results of the Phonetics finder. Do the labels go all the way out to the “Question” item on the script above? If you used the standard script, there should be no extra labels after the Question. Click on a letter or number (like the ‘9’ is selected in the screen above) and then press the “play” button (green triangle) for a few of the labels. Confirm that the sound that plays corresponds with the label you clicked.

File/Export-Multiple

All WriteLog needs is a set of WAV files on disk, one for each Audacity label we have created. Audacity’s File/Export-Multiple creates exactly the right files.
ExportMultiple

Which brings up this dialog. Click on “Choose…” and navigate to WriteLog’s WaveFiles folder.
Set all the buttons as below and then “Create”
ExportMultipleDlg
Sorry, but Audacity presents a dialog for every one of the labels. You have to OK all 38 of them: A through Z, slash, zero through nine, and Question. If you cancel any of them, Audacity cancels the entire export:
EMmeta
Audacity announces it created the files:
EMresults

Now you have a missing file: SPACE.WAV did not get created because the PhoneticsFinder.ny does not look for silence. You must create that file manually.

Advanced Topic: Use Audacity to touch up your waveforms

Audacity has the tools to easily tweak both the amplitude and the start/stop time of each individual phonetic. Its well worth your time learning enough about Audacity to master at least those two tricks.
Amplitude
One at a time, click on the label (the A – Z or the 0 – 9). Then invoke Effect/Amplitude. Accept its proposed amplitude to bring each phonetic up to full scale.
Start/Stop times
One at a time, click on the label. Zoom to the selected phonetic, then zoom out a bit. Use the Audacity controls to tweak the start and stop times of the label. Audacity has a separate mouse target for moving the start/stop simultaneous versus moving only one of them. Experiment.
Restrictions
Audacity allows creation of labels that overlap in time. However, Phonetics Finder does not create any that overlap, nor will WriteLog support them if you create overlapping ones in Audacity.

On the other hand, the order of the labels is important only in that the script above and Phonetics Finder are designed to be used with the given order. You may create new labels or delete existing ones and WriteLog will use them, as long as there are no time overlaps.

Advanced Topic: Multi-character phonetics

You may add multi-character phonetics to the list. WriteLog falls back to the single-character phonetics after first failing to find longer strings in its prerecorded collection in its WaveFiles directory. For example, when sounding out callsigns “W0” through “W9” maybe you find an advantage to prerecording the character pair together rather than letting WriteLog splice W.WAV to 0.WAV or 9.WAV. To accomplish this, add the ten two-letter “phonetics” W0 through W9 to end of your script. The Phonetics Finder will create labels for them, but they’ll be numbered. Click on the extra labels, one at a time, and edit their names to W0 through W9. (You will notice that the Phonetics Finder’s first few labels beyond ‘Question’ are: “CQ TEST” “TU TEST” “CALL?” Just edit them as you need.) Once the files W0.wav through W9.WAV are saved in WriteLog’s WaveFiles directory, WriteLog’s %C processing will use those multi-character files—wherever W0 through W9 appear in the CALL—in preference to splicing together their individual character WAV files.

Advanced Topic: Most recent WriteLog versions: 11.40 and 12.09

WriteLog versions 11 and 12, as of 11.40 and 12.09, will additionally search for an alternative to the individual WAV files that each sound out a character. These latest WriteLog versions can find multiple phonetics in a single recording. Use the two files from Audcity’s File/Export-Audo: create the file, in the same WaveFiles directory, named composite.wav, where composite is any file name of your choosing. Then File/Export-Labels and, again in the same directory, create the file composite Label Track.txt. You must name the label file as shown, appending ” Label Track.txt” (don’t overlook there are two space characters) and with the .txt extension. The latter file is a text file containing the time offsets into the former. In this composite.wav configuration, there is no need to create a SPACE.WAV as WriteLog computes the SPACE time from the average length of the labeled sounds. Versions 11.40 and 12.09 also support stereo(2 channel only), which it silently mixes down to 1 channel monophonic, and/or 32bit float (which it internally converts to 16 bit integer.) Earlier versions of WriteLog insist on 1 channel mono and 16 bit integer samples.

You can record different phonetics if you like into multiple file pairs, composite.wav and composite Label Track.txt. WriteLog, when looking for a character to sound out, searches first for individual WAV files and then, in alphabetical order, the composite.wav and composite Label Track.txt pairs.

Advanced Topic: Note for issues with station mic at CD-compatible vs DVD rate

When running WriteLog with multiple sound cards for multiple radios, it has to put all the devices on compatible data rates. What does “compatible” mean? It means that all the sound cards must support either a CD-compatible (44100Hz or a integer fraction of it) or a DVD-compatible rate (48000Hz or an integer fraction of it.) There exist sound devices that support only DVD-compatible rates. If you have such a device and want to use it for either receive or transmit audio, you have to change WriteLog’s use of the station microphone input to be 12000Hz:

[WlSound]
MicSampleRate=12000