1.1.7 • Published 1 year ago

morse-decoding-stream v1.1.7

Weekly downloads
321
License
MIT
Repository
github
Last release
1 year ago

morse-decoding-stream

Overview

This is a quick and dirty morse decoding stream that I wrote to use to provide language='morse' to https://github.com/MayamaTakeshi/mrcp_server

It doesn't do any adaptation for speed and requires you to specify the approximate duration of a dot.

Installation

npm install morse-decoding-stream

Sample

You can try the sample:

$ node samples/i_love_you.js 

morse   : .. / .-.. --- ...- . / -.-- --- ..-
decoded : I / LOVE / YOU

Also, you can find some morse audio files here: http://www.arrl.org/code-practice-files They are in mp3 format. You can convert them to wav and use them with samples/read_wav.js:

$ wget http://www.arrl.org/files/file/Morse/Archive/40%20WPM/210112_40WPM.mp3

$ sox 210112_40WPM.mp3 210112_40WPM.wav

$ node samples/read_wav.js 210112_40WPM.wav 10 0.1 28

morse   : -...- / -. --- .-- / ....- ----- / .-- .--. -- / -...- / ... .. .-.. -.- ... -.-. .-. . . -. / ..-. --- .-. / .-.. .- -... . .-.. ... / .- -. -.. / -.-. --- -- .--. --- -. . -. - / -- .- .-. -.- .. -. --. ... .-.-.- / ...- .. .- ... / .... --- .-.. . ... / -.. .-. .. .-.. .-.. . -.. / .. -. / - .... . / -... --- .- .-. -.. / - --- / -.-. --- -. -. . -.-. - / - .-. .- -.-. . ... / --- -. / - .... . / - --- .--. / .- -. -.. / -... --- - - --- -- / .- .-. . / - . -. - . -.. / -.-. --- ...- . .-. . -.. / .-- .. - .... / - .... . / ... --- .-.. -.. . .-. / -- .- ... -.- / - --- / .--. .-. . ...- . -. - / ... --- .-.. -.. . .-. / -... .-. .. -.. --. .. -. --. .-.-.- / . -..- .--. --- ... . -.. / -.-. --- .--. .--. . .-. / ... ..- .-. ..-. .- -.-. . ... / .- .-. . / .--. .-.. .- - . -.. / .... .- ... .-.. --..-- / .- / - .... .. -. / ... --- .-.. -.. . .-. / .-.. .- -.-- . .-. --..-- / --- .-. / . -. .. --. --..-- / .- / -. .. -.-. -.- . .-.. -..-. --. --- .-.. -.. / ..-. .. -. .. ... .... .-.-.- / -.-- --- ..- / .- .-. . / - .... . -. / .--. .-. --- -- .--. - . -.. / - --- / --. --- / - --- / - .... . / -. . -..- - / .--. .- --. . / - --- / ... . -. -.. / -.-- --- ..- .-. / .--. -.-. / -... --- .- .-. -.. / .-.. .- -.-- --- ..- - / ..-. .. .-.. . ... / - --- / - .... . / ... .... --- .--. / ..-. --- .-. / .-. . ...- .. . .-- .-.-.- / .. / - . -. -.. / - --- / ... . -. -.. / -- -.-- / ..-. .. .-.. . ... / .. -. / - .... . / .- ..-. - . .-. -. --- --- -. / .- -. -.. / . -..- .--. . -.-. - / - --- / .... .- ...- . / - .... . -- / .-. . ...- .. . .-- . -.. / -... -.-- / .- -... --- ..- - / ----. / .--. -- / - .... . / ... .- -- / - --- / .... . .-.. .--. / -.-- --- ..- / .- ... ... . -- -... .-.. . / - .... . / -- .- .. -. / -... --- .- .-. -.. --..-- / - .... . / - .... .-. . . / ... .-- .. - -.-. .... . ... / .- .-. . / .- .-.. .-. . .- -.. -.-- / -- --- ..- -. - . -.. / --- -. / - .... . / -... --- .- .-. -.. / - .... . -.-- / .--- ..- ... - / .... .- ...- . / - --- / -... . / ... --- .-.. -.. . .-. . -.. .-.-.- / - .... . / - .-- --- / .--- .- -.-. -.- ... / .- .-. . / .- .-.. ... --- / .- .-.. .-. . .- -.. -.-- / -- --- ..- -. - . -.. .-.-.- / - .... . / .--. .-. . .--. --- ... .. - .. --- -. .. -. --. / .. ... / -.. --- -. . / - --- / . .-.. .. -- .. -. .- - . / .- -. -.-- / .--. .-. --- -... .-.. . -- / .. -. / - .... . / -- . -.-. .... .- -. .. -.-. .- .-.. / .- .-.. .. --. -. -- . -. - / --- ..-. / - .... . / ... .-- .. - -.-. .... . ... / .- -. -.. / .--- .- -.-. -.- ... / .-- .. - .... / - .... . / ..-. .-. --- -. - / .--. .- -. . .-.. .-.-.- / .- / ..-. . .-- / -- --- .-. . / .... .. -. - ... / .- / .-.. .. - - .-.. . / .--. .-. . ... ... ..- .-. . / .. ... / -. . . -.. . -.. / - --- / -- --- ..- -. - / - .... . / ...- --- .-.. - .- --. . / .-. . --. ..- .-.. .- - --- .-. / -.-. .... .. .--. .-.-.- / .-- .... . -. / - . ... - .. -. --. / - .... . / -.-. .... .. .--. / --- .--. . .-. .- - .. --- -. --..-- / --. .-. --- ..- -. -.. / .. ... / - .... . / -- .. -.. -.. .-.. . / .--. .. -. / .- -. -.. / - .... . / ..... / ...- / --- ..- - .--. ..- - / .. ... / - .... . / .--. .. -. / -. . .- .-. . ... - / - .... . / .--. --- - . -. - .. --- -- . - . .-. .-.-.- / .- .-.. - .... --- ..- --. .... / - .... . / -.-. --- .-.. --- .-. / .. .-.. .-.. ..- ... - .-. .- - .. --- -. ... / .- .-. . / --.- ..- .. - . / -.-. .-.. . .- .-. --..-- / -.. --- ..- -... .-.. . / -.-. .... . -.-. -.- / - .... .- - / .--. .. -. / .---- / --- ..-. / - .... . / .. -. - . --. .-. .- - . -.. / -.-. .. .-. -.-. ..- .. - / .. ... / -. . .- .-. . ... - / - .... . / ... -- .- .-.. .-.. / .--. .-. .. -. - . -.. / ... --.- ..- .- .-. . / --- -. / - .... . / -... --- .- .-. -.. .-.-.- / ..-. .. --. ..- .-. . / .---- .---- / ... .... --- .-- ... / - .... . / -- .- .. -. / -... --- .- .-. -.. / -- --- ..- -. - . -.. / .. -. / - .... . / -... .- -.-. -.- / .... .- .-.. ..-. / --- ..-. / - .... . / -.-. .- ... . --..-- / .-- .. - .... / - .... . / -.. .. ... .--. .-.. .- -.-- / -... --- .- .-. -.. / .- -. -.. / - .-- --- / -.-. .- -... .-.. . ... / --- -. / - .... . / - --- .--. / --- ..-. / - .... . / ..-. .. --. ..- .-. . .-.-.- / -. --- - . / - .... .- - / - .... . / .-- .. .-. . ... / .- .-. . / .. -. ... . .-. - . -.. / .. -. - --- / - .... . / -... .- -.-. -.- / --- ..-. / - .... . / -.. .. ... .--. .-.. .- -.-- / -- --- -.. ..- .-.. . .-.-.- / .--. .- -.-- / .- - - . -. - .. --- -. / - --- / - .... . / ... --- .-.. -.. . .-. / .--. .- -.. / -. ..- -- -... . .-. .. -. --. / .---- --..-- / ...-- --..-- / ..... --..-- / .- -. -.. / ... --- / --- -. / .- .-. . / .. -. / --- -. . / .-. --- .-- --..-- / .- -. -.. / ..--- --..-- / ....- --..-- / -.... --..-- / .- -. -.. / - .... . / --- - .... . .-. / . ...- . -. / -. ..- -- -... . .-. ... / .. -. / - .... . / --- .--. .--. --- ... .. -. --. / .-. --- .-- .-.-.- / .--. .-.. .- -.-. .. -. --. / - .... . / -- .- .. -. / -... --- .- .-. -.. / .. -. / - .... . / -.-. .- ... . --..-- / - .... . / ..-. --- ..- .-. / .--. .. -. / .--. .-.. ..- --. / .... .- ... / - --- / -... . / -... . -. - / ..- .--. / ... .-.. .. --. .... - .-.. -.-- / - --- / --. . - / - .... . / -. ..- - / ..- -. -.. . .-. / .. - / --- -. .-.-.- / .. / ..-. --- ..- -. -.. / .. - / . .- ... .. . ... - / - --- / ..- ... . / - .... . / -.- .. - / -. ..- - / -.. .-. .. ...- . .-. / .-- .. - .... / .- / ... -- .- .-.. .-.. / .- -- --- ..- -. - / --- ..-. / -- --- -.. . .-.. .. -. --. / -.-. .-.. .- -.-- / - --- / .... --- .-.. -.. / - .... . / -. ..- - ... / .. -. / .--. --- ... .. - .. --- -. / - --- / ... - .- .-. - / - .... . -- / --- -. / - .... . / -- --- ..- -. - .. -. --. / ... -.-. .-. . .-- ... .-.-.- / - .... . / .- ... ... . -- -... .-.. -.-- / -- .- -. ..- .- .-.. / .. -. -.-. .-.. ..- -.. . ... / .- / .--. .- --. . / --- ..-. / -.-. .- .-.. .. -... .-. .- - .. --- -. / .. -. ... - .-. ..- -.-. - .. --- -. ... / .- -. -.. / .- / ... -- .- .-.. .-.. / .--- ..- -- .--. . .-. .-.-.- / - .... . / ..- -. .. - / - . ... - . -.. / .... . .-. . / .... .. -.. / -. --- - / -. . . -.. / .- -. -.-- / ..-. ..- .-. - .... . .-. / -.-. .- .-.. .. -... .-. .- - .. --- -. .-.-.- / .. ..-. / -.-- --- ..- .-. ... / -.. --- . ... --..-- / -.-- --- ..- / .-- .. .-.. .-.. / -. . . -.. / .- / -.-. .- .--. .- -.-. .. - --- .-. / .- -. -.. / .. -. -.. ..- -.-. - --- .-. / --- ..-. / -.- -. --- .-- -. / ...- .- .-.. ..- . .-.-.- / -- .- -.- .. -. --. / -- . .- ... ..- .-. . -- . -. - ... / - .... .-. . . / .--. ..- ... .... -... ..- - - --- -. ... / . -..- - . -. -.. / - .... .-. --- ..- --. .... / - .... . / ..-. .-. --- -. - / .--. .- -. . .-.. / - --- / -.-. --- -. - .-. --- .-.. / - .... . / ..- -. .. - .-.-.- / - .... . -.-- / .- .-. . / -. --- - / .-.. .- -... . .-.. . -.. --..-- / ... --- / -.-- --- ..- / -- .. --. .... - / .-- .- -. - / - --- / .- -.. -.. / -.-- --- ..- .-. / --- .-- -. / ... - .. -.-. -.- / --- -. / .-.. .- -... . .-.. ... .-.-.- / -... . .-.. --- .-- / - .... . / -... ..- - - --- -. ... / .- .-. . / - .-- --- / .--- .- -.-. -.- ... / ..-. --- .-. / - .... . / .-.. . .- -.. ... / --- ..-. / - .... . / -.-. --- -- .--. --- -. . -. - / - --- / -... . / - . ... - . -.. .-.-.- / - .... . / .-.. . ..-. - / .... .- -. -.. / -... ..- - - --- -. / - ..- .-. -. ... / .--. --- .-- . .-. / --- -. / .- -. -.. / --- ..-. ..-. .-.-.- / .- - / .--. --- .-- . .-. / ..- .--. --..-- / - .... . .-. . / .. ... / .- / -... --- --- - / -- . ... ... .- --. . / - .... .- - ... / -. --- - / . -. - .. .-. . .-.. -.-- / .. -. / . -. --. .-.. .. ... .... --..-- / -... ..- - / - .... .. ... / -.. --- . ... / -. --- - / .- ..-. ..-. . -.-. - / .- -. -.-- - .... .. -. --. .-.-.- / - .... . / -.-. . -. - . .-. / -... ..- - - --- -. / .. ... / .- / - .-- --- / .--. --- ... .. - .. --- -. / ... . .-.. . -.-. - --- .-. / ... .-- .. - -.-. .... .-.-.- / .--. .-. . ... ... / .. - / -.. --- .-- -. --..-- / .- -. -.. / .. - / ... - .- -.-- ... / -.. --- .-- -. --..-- / .- -. -.. / - .... . / -- . - . .-. / . -. - . .-. ... / - .... . / .. -. -.. ..- -.-. - .- -. -.-. . / -- . .- ... ..- .-. . -- . -. - / -- --- -.. . .-.-.- / .--. .-. . ... ... / .- --. .- .. -. --..-- / .- -. -.. / .. - / .--. --- .--. ... / ..- .--. / .- -. -.. / .--. ..- - ... / - .... . / -- . - . .-. / .. -. / - .... . / -.-. .- .--. .- -.-. .. - .- -. -.-. . / -- . .- ... ..- .-. . -- . -. - / -- --- -.. . .-.-.- / - --- / -- . .- ... ..- .-. . / -.-. .- .--. .- -.-. .. - .- -. -.-. . --..-- / .-- .. - .... / -. --- - .... .. -. --. / -.-. --- -. -. . -.-. - . -.. / - --- / - .... . / -.-. --- -- .--. --- -. . -. - / .-.. . .- -.. / .--- .- -.-. -.- ... --..-- / .--. .-. . ... ... / - .... . / .-. .. --. .... - / .... .- -. -.. / -... ..- - - --- -. / .- -. -.. / .-. . .-.. . .- ... . / - --- / .- .-.. .-.. --- .-- / - .... . / -- . - . .-. / - --- / --.. . .-. --- .-.-.- / - .... . -. --..-- / -.-. --- -. -. . -.-. - / - .... . / -.-. .- .--. .- -.-. .. - --- .-. / - --- / - .... . / .--- .- -.-. -.- ... --..-- / .- -. -.. / - .... . / -- . - . .-. / .-- .. .-.. .-.. / .-. . .- -.. / .. - ... / ...- .- .-.. ..- . .-.-.- / ..-. --- .-. / .. -. -.. ..- -.-. - .- -. -.-. . --..-- / ... .... --- .-. - / - .... . / - .-- --- / .--- .- -.-. -.- ... / - --- --. . - .... . .-. .-.-.- / .-- .. - .... / - .... . / -.-. . -. - . .-. / ... .-- .. - -.-. .... / .--. .-. . ... ... . -.. / -.. --- .-- -. / ..-. --- .-. / .. -. -.. ..- -.-. - .- -. -.-. . / -- . .- ... ..- .-. . -- . -. - ... --..-- / .--. .-. . ... ... / - .... . / .-. .. --. .... - / .... .- -. -.. / -... ..- - - --- -. / .- -. -.. / .-. . .-.. . .- ... . / ... --- / - .... .- - / - .... . / -- . - . .-. / --.. . .-. --- ... .-.-.- / - .... . -. / .-. . -- --- ...- . / - .... . / .--- ..- -- .--. . .-. --..-- / -.-. --- -. -. . -.-. - / - .... . / .. -. -.. ..- -.-. - --- .-. --..-- / .- -. -.. / - .... . / -- . - . .-. / .-- .. .-.. .-.. / -...- / . -. -.. / --- ..-. / ....- ----- / .-- .--. -- / - . -..- - / -...- / --.- ... - / -.. . / .-- .---- .- .-- / .-...
decoded : = NOW 40 WPM = SILKSCREEN FOR LABELS AND COMPONENT MARKINGS. VIAS HOLES DRILLED IN THE BOARD TO CONNECT TRACES ON THE TOP AND BOTTOM ARE TENTED COVERED WITH THE SOLDER MASK TO PREVENT SOLDER BRIDGING. EXPOSED COPPER SURFACES ARE PLATED HASL, A THIN SOLDER LAYER, OR ENIG, A NICKEL/GOLD FINISH. YOU ARE THEN PROMPTED TO GO TO THE NEXT PAGE TO SEND YOUR PC BOARD LAYOUT FILES TO THE SHOP FOR REVIEW. I TEND TO SEND MY FILES IN THE AFTERNOON AND EXPECT TO HAVE THEM REVIEWED BY ABOUT 9 PM THE SAM TO HELP YOU ASSEMBLE THE MAIN BOARD, THE THREE SWITCHES ARE ALREADY MOUNTED ON THE BOARD THEY JUST HAVE TO BE SOLDERED. THE TWO JACKS ARE ALSO ALREADY MOUNTED. THE PREPOSITIONING IS DONE TO ELIMINATE ANY PROBLEM IN THE MECHANICAL ALIGNMENT OF THE SWITCHES AND JACKS WITH THE FRONT PANEL. A FEW MORE HINTS A LITTLE PRESSURE IS NEEDED TO MOUNT THE VOLTAGE REGULATOR CHIP. WHEN TESTING THE CHIP OPERATION, GROUND IS THE MIDDLE PIN AND THE 5 V OUTPUT IS THE PIN NEAREST THE POTENTIOMETER. ALTHOUGH THE COLOR ILLUSTRATIONS ARE QUITE CLEAR, DOUBLE CHECK THAT PIN 1 OF THE INTEGRATED CIRCUIT IS NEAREST THE SMALL PRINTED SQUARE ON THE BOARD. FIGURE 11 SHOWS THE MAIN BOARD MOUNTED IN THE BACK HALF OF THE CASE, WITH THE DISPLAY BOARD AND TWO CABLES ON THE TOP OF THE FIGURE. NOTE THAT THE WIRES ARE INSERTED INTO THE BACK OF THE DISPLAY MODULE. PAY ATTENTION TO THE SOLDER PAD NUMBERING 1, 3, 5, AND SO ON ARE IN ONE ROW, AND 2, 4, 6, AND THE OTHER EVEN NUMBERS IN THE OPPOSING ROW. PLACING THE MAIN BOARD IN THE CASE, THE FOUR PIN PLUG HAS TO BE BENT UP SLIGHTLY TO GET THE NUT UNDER IT ON. I FOUND IT EASIEST TO USE THE KIT NUT DRIVER WITH A SMALL AMOUNT OF MODELING CLAY TO HOLD THE NUTS IN POSITION TO START THEM ON THE MOUNTING SCREWS. THE ASSEMBLY MANUAL INCLUDES A PAGE OF CALIBRATION INSTRUCTIONS AND A SMALL JUMPER. THE UNIT TESTED HERE HID NOT NEED ANY FURTHER CALIBRATION. IF YOURS DOES, YOU WILL NEED A CAPACITOR AND INDUCTOR OF KNOWN VALUE. MAKING MEASUREMENTS THREE PUSHBUTTONS EXTEND THROUGH THE FRONT PANEL TO CONTROL THE UNIT. THEY ARE NOT LABELED, SO YOU MIGHT WANT TO ADD YOUR OWN STICK ON LABELS. BELOW THE BUTTONS ARE TWO JACKS FOR THE LEADS OF THE COMPONENT TO BE TESTED. THE LEFT HAND BUTTON TURNS POWER ON AND OFF. AT POWER UP, THERE IS A BOOT MESSAGE THATS NOT ENTIRELY IN ENGLISH, BUT THIS DOES NOT AFFECT ANYTHING. THE CENTER BUTTON IS A TWO POSITION SELECTOR SWITCH. PRESS IT DOWN, AND IT STAYS DOWN, AND THE METER ENTERS THE INDUCTANCE MEASUREMENT MODE. PRESS AGAIN, AND IT POPS UP AND PUTS THE METER IN THE CAPACITANCE MEASUREMENT MODE. TO MEASURE CAPACITANCE, WITH NOTHING CONNECTED TO THE COMPONENT LEAD JACKS, PRESS THE RIGHT HAND BUTTON AND RELEASE TO ALLOW THE METER TO ZERO. THEN, CONNECT THE CAPACITOR TO THE JACKS, AND THE METER WILL READ ITS VALUE. FOR INDUCTANCE, SHORT THE TWO JACKS TOGETHER. WITH THE CENTER SWITCH PRESSED DOWN FOR INDUCTANCE MEASUREMENTS, PRESS THE RIGHT HAND BUTTON AND RELEASE SO THAT THE METER ZEROS. THEN REMOVE THE JUMPER, CONNECT THE INDUCTOR, AND THE METER WILL = END OF 40 WPM TEXT = QST DE W1AW &

Disclaimer

The file artifacts/morse.i_love_you.wav was obtained by converting https://commons.wikimedia.org/wiki/File:I_love_you_morse_code.ogg from ogg to wav.

1.1.7

1 year ago

1.1.6

2 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.0.2

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago