For this first NMNT-lab a Morse code keyboard has been created. This page explains in brief what Morse code is, how the product came about and in what form it was presented.
What is Morse code?1
Morse code is a method of transmitting text information as a series of on-off tones, lights, or clicks that can be directly understood by a skilled listener or observer without special equipment.
History
It was developed by the American artist Samuel F. B. Morse et al. in 1836 as an electrical telegraph system. This system used a straight key (see Image 1) to sent pulses of electric current along wires which controlled an electromagnet that was located at the receiving end of the telegraph system.
A code was needed to transmit natural language using only these pulses, and the silence between them. The International Morse Code encodes the ISO basic Latin alphabet and some letters, numerals and prosigns as standardized sequences of short and long signals called "dots" and "dashes".
Application
Compared to voice, Morse code is less sensitive to poor signal conditions, yet still comprehensible to humans. Morse therefore is a useful alternative to synthesized speech for sending automated data to skilled listeners on voice channels.
Morse code has been used in times of war to send -at the time- encoded messages and is still used today by pilots, air traffic controllers and in aeronautical navigational aids.
Image 2 shows an overview of the international Morse code sequences compiled of the mentioned dots and dashes which represent a certain letter or number. Furthermore, some additional basic rules apply when using Morse code:
1. The length of a dot is one unit.
2. A dash is three units.
3. The space between parts of the same letter is one unit.
4. The space between letters is three units.
5. The space between words is seven units.
Morse code has been in use for more than 160 years—longer than any other electrical coding system.
1 https://en.wikipedia.org/wiki/Morse_code
What has been created?
As an alternative to the straight key (see Image 1) from back in the days, a Morse code keyboard has been created. Both the in- and output of this ordinary computer keyboard have been altered to using the international Morse codes sequences in both visual and sonic form.
The idea behind the project was to combine the modern keyboard that is used on a daily basis with an older type of communicative media.
Step 1: Writing the code
A collection of audio files has been downloaded from the internet with the Morse alphabet in .mp3 format. Also, the visual sequences of dashes and dots have been extracted from a .PDF file and saved to individual .PNG files. All these separate files have been added to a data map.
Writing the code was done using an older version of Processing because in version 3.0 -as opposed to version 2.2.1- the minim library for playing audiofiles was not (yet) supported. Using this library, code was written that allocated each audiofile to it's respective key on the keyboard. In order to have some feedback on the screen the sinuswave as well as the visual Morse sequence and the actual letter it represents are shown onscreen.
For example, the audiofile containing the soundbite representing the letter 'E' in Morse is coded to play when the 'E'-key is pressed on the keyboard. The code for each letter looks something like this:
if (key == 'e') {
if (E.isPlaying()) {
text('E', 535, 105);
} else {
text('E', 535, 105);
E.play();
E.rewind();
}
}
In this example the soundbite allocated to E is played only if it isn't playing already. Also, the 'E' is displayed onscreen. After playing the file, the soundbite is rewinded in order to be able to play it again. The code which visualizes the sinuswave is located elsewhere.
The visualizing was purely written in order to get feedback whilst writing the program (see Image 3).
Step 2: Adjusting the keyboard
The letters printed on the input keys of the keyboard itself have been replaced by the visual Morse sequence representing that particular letter. This way, both the input as well as the output are transformed to Morse code.
In order to do so, white and black stickers of 13 by 10 millimeters were created to paste over the keys (see Image 4). First, a plain white sticker was applied to cover the key. After, the sequence was cut out of black sticker using an sticker plotter. The black sticker was then pasted on top of the white one to clearly show the sequence on the keyboard (see Image 5).
Final product
The final product contains all letters of the alphabet in Morse code (see Image 6). It was decided to leave the numerals and prosigns out as not all are available in Morse code and they did not have added value for this prototype.
How was it presented?
On Friday April 1st 2016 the different NMNT-lab projects have been presented during class.
As can be seen on Image 7, the project was presented without any feedback through screens. The keyboard was connected to a laptop through a USB cable which was running the written Processing script. Also, the speaker was directly connected to the laptop in order to play the audio files.
The product was received quite well by the audience.
Image 1: A typical "straight key".
In a straight key, the signal is "on" when the knob is pressed, and "off" when it is released. Length and timing of the dots and dashes are entirely controlled by the telegraphist.
(source: Wikipedia)
Image 2: An overview of the international Morse code
(source: Wikipedia)
[CLICK ON IMAGE TO ENLARGE]
Image 3: Part of the written code (left) and the visual feedback (right)
(source: selfmade / LG Nexus 5X)
[CLICK ON IMAGE TO ENLARGE]
Image 4: Using another system, a sticker plotter was actuated
(source: selfmade / LG Nexus 5X)
[CLICK ON IMAGE TO ENLARGE]
Image 5: Some keys with the stickers applied, some without
(source: selfmade / LG Nexus 5X)
[CLICK ON IMAGE TO ENLARGE]
Image 6: The final product containing the Morse alphabet
(source: selfmade / LG Nexus 5X)
[CLICK ON IMAGE TO ENLARGE]
Image 7: The presentation setup of the Morse code keyboard
(source: selfmade / LG Nexus 5X)
Added is a .RAR file containing all files that were either created or borrowed for the realization of this project. The copyrights belong to their respective creators.