A new version of toast for DOS
has created a new version of toast.exe
I don't use DOS and can't test his code, let alone
integrate it into the main release and maintain it.
Thankfully, Louis has been nice enough to document his changes
below and publish the source code, so if you want to
change things, go ahead.
In addition to the GSM 06.10 library, you need
the following replacements:
If you have any questions, suggestions for changes in the code,
or other comments, send them to Louis; I'm sure he'll appreciate your feedback.
In the letter reprinted below, Louis explains the changes he made
to the toast executable.
Dear Jutta ,
Outlined below are all the changes that I made as of date :
I've created an executable file "toast.exe", for the DOS environment, using
the Borland c++ 5.01 compiler and have initiated the following changes:
One slight problem that I encountered is with the "-c" switch. When I run
this new version of toast with that switch, it does something funny with the
audio file. I've tested all the other switches and they all work fine.
- I've edited "toast.h" by adding two windows, one for the help menu
and the other one to illustrate all the processing that is done when
"toast.exe" is executed; IMPORTANT : I used the "window( ) function in
Borland C++ 5.01 compiler. This command may not be liable for those using
the Unix environment. For the program to compile the appropriate command
used for Unix must be used. If there isn't any then these two windows will
have to be commented in the header file, toast.c and toast_au.c wherever
it is called.
- I've made slight changes in the "toast_au.c" file, so that the 2nd
window can be used to display error messages;
- I've added two additional switches in "toast.c". The first switch, I
called it "-e" switch, is used to encode and decode straight without the
"-d" switch. This required me to make a lot of changes in the "process ( )"
function. I obviously used a flag called "f_encode_decode" to achieve this.
You can still use the "-d" switch if desired as I have left that option
intact. The second switch is the "-t" switch which is used to time the
speed of encoding and decoding, if desired. The flag here is called
- I've fixed the problem that DOS encounters if you enter a file with
a suffix. To achieve this I've made changes in the "codename ( )" function.
If you run the program with an input file without a suffix, you will get an
error message and the program is exited. This version of toast will only
read a file that has a suffix appended to it. I did that as I store the
reconstructed speech in a file with the same name as the original file but
with the suffix removed;
- I've re-edited the "help ( )" function to make it more presentable.
The additional switches has been included in this function too. All the
other switches in the patchlevel 10 version are still there;
- As mentioned I've included a timer that times the speed of the
encoding and decoding. This can be useful if you want to check how fast
encoding and decoding takes;
- All messages, including error messages, will be displayed in the 2nd
window, that I included in the "toast.h" file, when the program is
executed. I've made the necessary changes in "toast.c" and "toast_au.c"
to achieve this;
- I've turned off the "parse_argv ( )" function as I use toast by
itself to encode and decode data.
- I've updated the version ( ) function as well. I hope that's all right
Please find enclosed with this text, the DOS executable that I created using
the Borland c++ 5.01 compiler. I did not use the "USE_FLOAT_MUL", "FAST",
"WAV49", "STUPID_COMPILER", "NDEBUG", options when creating this
executable. I did use the "LTP_Cut" option. I also set "NAME_MAX", the
maximum filename length variable in "toast.c", to 11. The hardware platform
I used is a pentium MMX.
Also find enclose "toast.c", "toast.h", and "toast_au.c" files that contain
all the changes that I made. Wherever I made changes, I've put my name,
date, and the changes made.
If you require further information from me and/or if there is any problem
with this e-mail, don't hesitate to e-mail back to me.
PS: I had a lot of problems getting an audio player that plays the audio
formats supported by this code. I did an exhaustive search on the web and
came across an audio player called "GoldWave". This player will play any
audio formats there exist on this earth. You can also save your original
audio file in different formats as well. There are heeps of other things you
can do with it. I recommend it to anyone who are really into audio. The site
where I got this audio player is "www.goldwave.com".