Notendo Tunes is our attempt at creating a virtual theremin in the browser for Aston Hack 2018. Of course, that would be too easy, so we've made it controllable using Nintendo JoyCons. Cause that sounded like a fun idea at 2pm before we actually started working.
A quick demo video (click to open)
We think it's pretty cool, and apparently so did everyone else, because we won the best hack out of all the other projects! Despite the fact that we decided to test our synthesizers at 3am, probably annoying everyone else.
As it turns out, getting JoyCons to work in the browser is actually not very easy (surprise, surprise). So, we hacked an existing driver to interpret motion controls and present them to the Web Gamepad API.
In the browser we have a Web Audio API generating sounds and an HTML5 canvas displaying visualisations. And somehow it all works. Barely...
The team that worked on this was:
The project was developed in HTML5 and Go. We used webpack as a build system, and heavily utilized the javascript audio and game controller APIs. We also used the HTML5 canvas for the visualisations.
We heavily hacked the joycon driver so that we could use the motion controls in the browser. The driver for the joycons was originally developed by Kane York here.
To install the project:
$ git clone https://github.com/jedevc/aston-hack-2018.git
$ cd aston-hack-2018
$ npm install
To test the project:
$ npm run start
The server will then be listening on port 8080. Use chrome. And nothing else.
To start the driver
$ chmod +x jcdriver
$ sudo ./jcdriver
All the code written by us is available under the MIT license.