You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+46-34Lines changed: 46 additions & 34 deletions
Original file line number
Diff line number
Diff line change
@@ -18,45 +18,36 @@ Type "7z x filename" to extract the archive.
18
18
19
19
20
20
21
+
21
22
# Morse Audio to Text Translator Using Ada: MATTA
22
23
23
24
24
-
**ver 1.0.4 -- 07nov2022**
25
25
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**
29
27
30
-
**ver 1.0.3 -- 05aug2021**
28
+
* Added a Mac/OSX build.
31
29
32
-
* Improved txt2wav with optional WPM parm;
33
-
* Improved wav2txt to better analyze input WAV files in absence of WPM parm.
34
30
35
-
**ver 1.0.1 -- 03aug2021**
31
+
**ver 1.0.5 -- 07nov2022**
36
32
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.
43
34
44
35
45
36
46
37
47
38
## Description
48
39
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.
50
41
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 executablesfor 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:
52
43
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)
56
47
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.)
58
49
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.
60
51
61
52
Includes an inverse commandline app, txt2wav that creates a morse code WAV file from English text.
62
53
@@ -77,11 +68,6 @@ English text is then printed out to the screen.
77
68
78
69
### Addendum3: the Windows executable will work on linux if wine is installed.
79
70
80
-
Note that the precompiled executables use suffixes that indicates the system:
81
-
82
-
*_osx (MacOSX)
83
-
*_gnu (linux)
84
-
* .exe (MsWin)
85
71
86
72
The inverse function "txt2wav" is even simpler to use...simply type:
87
73
@@ -92,11 +78,11 @@ to create a file named "20wpm.wav", which can then be renamed & used as input fo
92
78
Note that "txt2wav" & "wav2txt" may be moved to any convenient directory and will still work.
93
79
94
80
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.
96
82
97
-
* txt2wav_osx "stop radioactivity" 20
83
+
* txt2wav "stop radioactivity" 20
98
84
99
-
creates a WAV file from text on OSX (20wpm.wav)
85
+
creates a WAV file from text (20wpm.wav)
100
86
101
87
102
88
Then your friend can decipher it with the command:
@@ -106,7 +92,7 @@ Then your friend can decipher it with the command:
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.
110
96
111
97
To slow it down try:
112
98
sox new20wpm.wav new10wpm.wav speed 0.5
@@ -137,7 +123,7 @@ See also the inline code comments.
137
123
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.
This program is free software: you can redistribute it and/or modify
184
171
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:
194
181
at <http://www.gnu.org/licenses/>.
195
182
196
183
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.
0 commit comments