FREQUENTLY ASKED QUESTIONS ABOUT VOICE -------------------------------------- INDEX * Question 1: Garbled voice with U.S. Robotics Modem * Question 2: Converting voice files to .wav, .au or .snd * Question 3: How to do a PPP dialin * Question 4: How do I select playback/record device? -------------------------------------- * Question 1: Garbled voice with U.S. Robotics Modem I got it to record and playback a file, except the when I play back the file it just sounds like garbage. I have a USR Sporster 33.6 faxmodem with personal voice mail. * Answer NOTE: This should happen only with voice versions before 0.6. The default voice compression method used by the USR Sportster Voice modem is the GSM-USR, which is very sensible to byte loss; i.e. if just a single byte of the data stream is dropped, the resulting file is unusable. The scripts vrec, vplay and ans before version 0.6 use two different commands to start voice receiving and to do voice capturing, so if some bytes are lost between, the resulting voice message is damaged. Starting with version 0.6, a single vmcp call (with -W option) is used to start voice receiving and to do voice capturing; so no bytes should be lost and the voice should recorded correctly. But someone may prefere to use a less sensible voice compression method selecting ADPCM voice compression instead of the default GSM one. Figure out which compression method and which voice sample rate your modem supports by issuing the AT#VSM=? command while in Voice Mode (AT#CLS=8). In the vrec and vplay scripts add a line like this: $VMCP -c"AT#VSM=129,8000" -wOK where 129 and 8000 are parameter obtained from the VSM command. The line must be added just after the command <$VMCP -c"AT#CLS=8" -wOK>. In the ans script change the line that starts with AT_VINIT= with something like this: AT_VINIT="AT#CLS=8#VSM=129,8000..." -------------------------------------- * Question 2: Converting voice files to .wav, .au or .snd Is there a way for me to convert between your voice files and other sound files (e.g., WAV, SND, etc.). I was able to find a program from Rockwell that converts from RIFF and WAV, but it seems that your is not the same as RIFF * Answer No, unfortunately the voice encoding is modem-dependent, i.e. despite some modems uses the same commands set, they encode the voice with different algorythms. Generally the Windows software boundled with the modem is able to do the conversion, but it is an hard task (for me) to reverse-engineer the code or to find good documentation. -------------------------------------- * Question 3: How to do a PPP dialin Every time I try to dialin as a data call and I use this data call as a terminal everything works fine. Every time I dialin and establish a ppp connection (login as user ppp with diplogin as login shell), the server modem doesn't hang up properly if the client closes the connection. * Answer After a regular login, I use this script to switch the line to ppp: #!/bin/sh # # start_ppp Convert the (serial) line to PPP. The remote host # is assigned an IP address resolving the name ptp0. # # Version /usr/local/bin/start_ppp 1.2 10/15/96 # # Author: Niccolo Rigacci, # ECHO=/bin/echo MESG=/usr/bin/mesg STTY=/bin/stty TTY=/usr/bin/tty PPPD=/usr/sbin/pppd ARGS="-detach silent :ptp0 proxyarp" case $($TTY) in /dev/ttyS[0-3]) $MESG n $STTY -echo $ECHO "Now switching to PPP..." exec $PPPD $ARGS ;; *) $ECHO "Can't do PPP: you are *NOT* on a serial line." ;; esac -------------------------------------- * Question 4: How do I select record/playback device? Voice modems can use different devices for recording and playing back voice. They can use internal microphone and speaker, or external ones. They can also use the connected handset as a microphone/speaker system. The capabilities of your modem are listed by the AT#VLS=? command. This is an example: AT#CLS=8 OK AT#VLS=? 0,1,2,3,4,6 OK The modem answered that it can use: a telephone line (type 0) a transmit/receive device - like an attached handset - (type 1) a transmit only device - like an external speaker - (type 2) a receive only device - like an external microphone - (type 3) a telephone line with speaker on (type 4) a telephone line with speaker and microphone on (type 6). Not all the modems can use the same devices; for example a Sportster Voice 33.6 Faxmodem I have can use only devices of type 0,2,3,4,6 (and it lists this values at the #VLS=? command), and some multi-line modems can show multiple zeroes at the begin of the list. When you want to select a specified device you must issue the AT#VLS=n command, where n is *NOT* the device type, but the device position! So if your modem answered 0,2,3,4,6 as the list of device types, and you want to select the microphone for recording a message (a receive only device, type 3), you must use the command AT#VLS=2, as the "3" is shown in the 2nd position (0 is the first).