Skip to content

mastercw/cw.js

Repository files navigation

CW.js

Node.js CI NPM

A comprehensive Morse Code (CW) library

Usage

Node

Install the package via npm or yarn:

$ npm install cw

You can then use:

const cw = require("cw");
console.log(cw.codes["C"]); // "-.-."

Browser

You can either build the browser bundle yourself with:

$ npm install
$ npm run build

Which will create dist/cw.js and dist/cw.min.js. Or you can just use it from our CDN:

<script src="https://cwjs.mastercw.com/cw.min.js"></script>

Once the script is loaded you can call the cw.play() function:

<script>
  cw.play("hello world");
</script>

Options can be passed to customize the played sequence:

cw.play("abcd", {
  tone: 800, // tone frequency in Hz
  wpm: 20, // character speed in words per minute (WPM)
  fwpm: 10, // farnsworth speed in words per minute (WPM)
});

In cases of multiple plays, it is recommended to create a global audioContext object:

let actx = cw.initAudioContext({ tone: 600 }); // tone is passed here

cw.play("abcd", { actx, wpm: 10 });
cw.play("efgh", { actx, wpm: 20 });
cw.play("ijkl", { actx, wpm: 30 });

For more examples see the examples/ directory.

Testing

$ npm test

License

ISC