Skip to content

Commit f0ca96e

Browse files
authored
Update README.md
1 parent 75ab0c6 commit f0ca96e

File tree

1 file changed

+46
-34
lines changed

1 file changed

+46
-34
lines changed

README.md

Lines changed: 46 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -18,45 +18,36 @@ Type "7z x filename" to extract the archive.
1818

1919

2020

21+
2122
# Morse Audio to Text Translator Using Ada: MATTA
2223

2324

24-
**ver 1.0.4 -- 07nov2022**
2525

26-
* Updated to use GNU Ada rather than defunct AdaCore.
27-
* Simplified the directory structure for easier understanding.
28-
* Updated documentation.
26+
**ver 1.0.6 -- 06oct2023**
2927

30-
**ver 1.0.3 -- 05aug2021**
28+
* Added a Mac/OSX build.
3129

32-
* Improved txt2wav with optional WPM parm;
33-
* Improved wav2txt to better analyze input WAV files in absence of WPM parm.
3430

35-
**ver 1.0.1 -- 03aug2021**
31+
**ver 1.0.5 -- 07nov2022**
3632

37-
* The commandline parameter estimated WPM may now be [optionally] omitted if the morse code message is long enough to get meaningful timing statistics.
38-
39-
40-
**ver 1.0.0 -- 29feb2020**
41-
42-
* Initial version.
33+
* Updated txt2wav so that it does not require the presence of a wav file from which a sample header is copied; i.e. the executable can be moved as needed, just like wav2txt.
4334

4435

4536

4637

4738
## Description
4839

49-
This is a commandline utility that converts a WAV sound file containing morse code to English text. Pre-built binaries run on OSX, MsWindows, & GNU/linux. It is written in Ada, so can be rebuilt on any platform with an Ada compiler.
40+
This is a commandline utility that outputs English text when given a WAV sound file containing morse code. It includes pre-built binaries that run on MsWindows, OSX, & GNU/linux. It is written in Ada, and can be rebuilt on any platform with an Ada compiler.
5041

51-
Open a commandline terminal and type "7z x (filename).7z" to extract the archive and preserve the directory structure. Then cd to the "base" directory named "morse". There are 2 executables for each system, windows, OSX, linux in the morse directory:
42+
Open a commandline terminal and type "7z x (filename).7z" to extract the archive and preserve the directory structure. Then cd to the "base" directory named "morse". There are 3 executables, 1 for each system in the morse directory:
5243

53-
* wav2txt_osx, txt2wav_osx (Mac/OSX)
54-
* wav2txt.exe, txt2wav.exe (Windows)
55-
* wav2txt_gnu, txt2wav_gnu (Linux)
44+
wav2txt.exe, txt2wav.exe (Windows)
45+
wav2txt_gnu, txt2wav_gnu (Linux)
46+
wav2txt_osx, txt2wav_osx (OSX)
5647

57-
The input wav file should be monaural, with a 16-bit signed integer encoding, and a sample rate of 8000 Hz. (decoding factors depend on these assumptions.)
48+
The input wav file must be monaural, with a 16-bit signed integer encoding, and a sample rate of 8000 Hz. (decoding factors depend on these assumptions.)
5849

59-
Either sox or audacity can easily transform a WAV file to this format. The wav file is expected to be international morse code, preferrably clean and properly spaced. Tonal frequency or wpm-speed does not seem to matter, but volume is important.
50+
Either sox or audacity can easily transform a WAV file to this format. The wav file is expected to be international morse code, preferrably clean and properly spaced. Tonal frequency or wpm-speed does not seem to matter, but volume seems to be important.
6051

6152
Includes an inverse commandline app, txt2wav that creates a morse code WAV file from English text.
6253

@@ -77,11 +68,6 @@ English text is then printed out to the screen.
7768

7869
### Addendum3: the Windows executable will work on linux if wine is installed.
7970

80-
Note that the precompiled executables use suffixes that indicates the system:
81-
82-
* _osx (MacOSX)
83-
* _gnu (linux)
84-
* .exe (MsWin)
8571

8672
The inverse function "txt2wav" is even simpler to use...simply type:
8773

@@ -92,11 +78,11 @@ to create a file named "20wpm.wav", which can then be renamed & used as input fo
9278
Note that "txt2wav" & "wav2txt" may be moved to any convenient directory and will still work.
9379

9480

95-
For example, let's say you use a Mac and have a friend with a Windows computer.
81+
For example, let's say you use linux and have a friend with a Windows computer.
9682

97-
* txt2wav_osx "stop radioactivity" 20
83+
* txt2wav "stop radioactivity" 20
9884

99-
creates a WAV file from text on OSX (20wpm.wav)
85+
creates a WAV file from text (20wpm.wav)
10086

10187

10288
Then your friend can decipher it with the command:
@@ -106,7 +92,7 @@ Then your friend can decipher it with the command:
10692
deciphers the WAV file on Windows.
10793

10894
--------------------------------------------------------------------------
109-
The inverse function txt2wav takes a commandline string, **which must be quoted** to include spaces, optionally followed by an integer from the set {10,15,20,25,30,35,40}, and creates an output WAV file, named "xxwpm.wav", with the morse code equivalent. This output file can be renamed and manipulated using "sox", as follows.
95+
The inverse function txt2wav takes a commandline string, **which must be quoted**, optionally followed by an integer from the set {10,15,20,25,30,35,40}, and creates an output WAV file, named "xxwpm.wav", with the morse code equivalent. This output file can be renamed and manipulated using "sox", as follows.
11096

11197
To slow it down try:
11298
sox new20wpm.wav new10wpm.wav speed 0.5
@@ -137,7 +123,7 @@ See also the inline code comments.
137123
Final note: many good apps can easily be found to generate morse code sound files from text. One simple one is included (txt2wav) merely for the sake of completeness.
138124

139125

140-
## Useful preparatory sox commands:
126+
## Useful sox commands:
141127

142128
soxi file.wav (gives properties of wav file)
143129

@@ -151,12 +137,13 @@ sox -v 1.5 quiet.wav louder.wav
151137
(the beeps in the WAV file need to be loud enough [near maximal volume] for wav2txt to "hear" it!)
152138

153139
===================================================================
140+
154141
Open source Ada developers are welcome to help improve or extend this app.
155142
Developer or not, send comments, suggestions or questions to:
156143
157144

158145

159-
## Build Instructions (for developers who wish to modify my code)
146+
## Build Instructions (for developers who wish to modify this code)
160147

161148
Prebuilt executables for 3 platforms are delivered. But if you want or need
162149
to rebuild, you must first install GNU Ada.
@@ -168,8 +155,8 @@ I suggest going to the following website to find an appropriate version of gnat:
168155
Then proceed to the ~/build/ subdirectory and modify one of the scripts below to match your system and GNU Ada installation directory:
169156

170157
* lcmp.sh (linux)
171-
* ocmp.sh (OSX)
172158
* w64cmp.bat (Windows)
159+
* ocmp.sh (OSX)
173160

174161
Make sure your script is executable, then simply type its name to rebuild.
175162

@@ -178,7 +165,7 @@ Make sure your script is executable, then simply type its name to rebuild.
178165

179166
Covered by the GNU GPL v3 as indicated in the sources:
180167

181-
Copyright (C) 2022 <[email protected]>
168+
Copyright (C) 2023 <[email protected]>
182169

183170
This program is free software: you can redistribute it and/or modify
184171
it under the terms of the GNU General Public License as published by
@@ -194,3 +181,28 @@ Covered by the GNU GPL v3 as indicated in the sources:
194181
at <http://www.gnu.org/licenses/>.
195182

196183

184+
185+
## Revision History:
186+
187+
**ver 1.0.4 -- 05nov2022**
188+
189+
* Updated to use GNU Ada rather than defunct AdaCore.
190+
* Simplified the directory structure for easier understanding.
191+
* Updated documentation.
192+
193+
**ver 1.0.3 -- 05aug2021**
194+
195+
* Improved txt2wav with optional WPM parm;
196+
* Improved wav2txt to better analyze input WAV files in absence of WPM parm.
197+
198+
**ver 1.0.1 -- 03aug2021**
199+
200+
* The commandline parameter estimated WPM may now be [optionally] omitted if the morse code message is long enough to get meaningful timing statistics.
201+
202+
203+
**ver 1.0.0 -- 29feb2020**
204+
205+
* Initial version.
206+
207+
208+

0 commit comments

Comments
 (0)