/jdigi

A simple experiment in javascript digital signal processing

Primary LanguageTypeScriptMIT LicenseMIT

jdigi

A simple experiment in javascript digital signal processing. HTML5's Web Audio API is a wonderful opportunity for people interested in DSP to experiment in audio modulation and demodulation. It's also a great way to provide radio digital mode codecs to users without the need to port code or install binaries. This project in an experiment in doing just that.

Status

The project is only a few days old, so currently there is only a waterfall and buggy BPSK31 reception. RTTY code has been added, but it has not been debugged or tested yet.

Building

This library is intended to run in browsers. However, it is managed, tested and build by Node.js and Gulp.js. So for the aspiring developer to perform a build of the code, Node must be installed, then Gulp.

Currently the commands are:

  • To build:
    gulp
  • To test:
    gulp test
  • To clean up:
    gulp clean

Getting

For the average person who just wants to run the code, we will occasionally zip up a build and put a copy in the /builds folder. Look there.

Running

Note that for Web Audio to be able to listen to your audio inputs, the html that loads the Javascript must be loaded from a web server. You can simply put the code on a webserver and run it. There is also a server.js file that will allow you to run it if you have node and "http-connect". Just type "npm install http connect" and then "node server".

Alternatively, you can start Chrome with a command-line option:

--allow-file-access-from-files.

  • On OSX, make an alias:
    alias chromew='open -a Google\ Chrome --args --allow-file-access-from-files'
  • On Linux:
    alias chromew='/path/to/chrome --allow-file-access-from-files'
  • On Windows, make a batch file.