Speak Freely for Windows

Voice activation

Network capacity (bandwidth) is finite and precious; it's important not to waste it. Even though users with full-duplex audio hardware could, in theory, transmit continuously, this would be irresponsible as it would double the load on the network with no real benefit. Speak Freely normally operates in "push to talk" mode like a handheld radio; you use the left mouse button or space bar to flip between sending and receiving; if your audio hardware is half-duplex, you have to switch modes somehow, since it can't send and receive simultaneously.

In radio communications, "voice activation" or "VOX" has been used for decades where convenience or the need for hands-free operation rule out push to talk. The idea is simple: monitor the microphone input and transmit only when the user is actually talking. In practice, voice activation has a number of subtleties that make implementing it and getting it to work well quite challenging. Fortunately, a Speak Freely user who is also an expert Windows application and driver developer, Dave Hawkes (daveh@cadlink.co.uk), took on the task of adding voice activation to Speak Freely and, fortunately for all of us, contributed the feature so we can benefit from it.

Voice activation can be tricky to set up; it's important to use a good microphone, well isolated from your speakers, set the input level correctly, and make sure echoes don't trigger transmission. Transmissions from Apollo astronauts on the Moon were voice activated, and if you listen to tapes of them, you'll hear the odd dropped word, echo feedback, and other inevitable artifacts of voice activation. Still, it got the job done and allowed the astronauts to concentrate on what they were doing rather than operating the radio. Speak Freely's voice activation can do the same for you.

It's best to become familiar with Speak Freely in push to talk mode; once you've mastered the basics of establishing connections, setting compression modes, and coping with the inevitable problems of sending voice over the network, you'll be ready to tackle the additional complexities of voice activation.

You enable voice activation with the Options/Voice Activation menu item. The default setting, "None", disables Voice Activation and selects the usual push to talk mode. To enable Voice Activation, check one of the three voice activation speed items, "Fast", "Medium", or "Slow". To avoid transmission breakups due to short pauses in speech, voice activation continues transmitting until a period of silence of a given duration has occurred; the choices refer to the length of silence that deems a transmission complete. For most purposes, "Medium" will work well.

Once you've selected voice activation, you need to adjust the level which causes Speak Freely to begin transmitting. This depends on your microphone, input gain setting, and the amount of background noise, so you have to set the level appropriate for your own environment. Use the Options/Voice Activation/Monitor menu item to display the Voice Activation Monitor dialogue box. Open a connection (perhaps to one of the echo servers), and press the space bar to begin transmitting. The green bar graph at the left shows you, in real time, the sound level received from the microphone (while you're transmitting to any connection). The red line is the level above which voice activation enables transmission. You can move this level up and down with respect to the audio input level with the scroll bar. Adjust it so it's slightly above the level of the green bar when you're not speaking into the microphone. You'll see that when it's adjusted correctly transmission will stop (an X is drawn through the ear cursor) shortly after you stop speaking and resume (the X disappears) at your next utterance.

When using voice activated transmission, if your audio hardware is half-duplex, you should also select the Options/Break Input menu item to allow received sound to interrupt your transmissions. Otherwise, the continuous monitoring of the microphone would prevent your hearing remote users.

Next Previous Contents