Skip to content
🎵 Notendo Tunes - A virtual theremin controlled by Nintendo JoyCons
Go Perl Shell Assembly JavaScript C
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
css
docs
driver/go/src
src
static
.gitignore
LICENSE.md
README.md
index.html
jcdriver
package-lock.json
package.json
webpack.config.js

README.md

Notendo Tunes

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.

Demo video

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.

Process

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...

Team

The team that worked on this was:

Tools

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.

Development

Webpage

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.

JoyCon Driver (Linux only)

To start the driver

$ chmod +x jcdriver
$ sudo ./jcdriver

License

All the code written by us is available under the MIT license.

You can’t perform that action at this time.