The merry sisters of fate

This quarter in school, I am one of three people working on a project named “Lunasa”, after the traditional Celtic music band from Ireland. An Amazon employee is the second member of the group, and the third member, our leader, is a Google employee. (I am not employed by a company anywhere near as famous.) We all can play a musical instrument. I hear this is actually fairly common among Computer Science majors, and the break room in our CS building had a guitar for public use when I was an undergraduate.

Larger image

Although the Celtic band is named after the harvest festival Lughnasadh, the imagery of a moon is used because the “Luna” in the name reminded our group leader of Beethoven’s Moonlight Sonata somehow.

Larger image

“Lunasa” is an acronym for “Limited Use Note Accuracy Sensor Application”. Think of it as a version of Guitar Hero that uses a real guitar. It detects whether or not you are playing the right note by listening through a microphone and measuring the frequency of the note you are playing.

Now real-time frequency detection through a microphone is easy to disrupt with noise (including sound from the speaker), and detecting multiple frequencies when multiple notes are played simultaneously is also difficult. So we are going to restrict the application to only detect one note at a time, which in turn restricts the player and the songs. The application will probably not be marketable in this state, and this is why it is “limited use”. Making the application able to detect chords, support ongoing accompaniment, and support different instruments would of course take too long for a single quarter. Our project is merely a proof of concept for the frequency detection.

Larger image

The actual gameplay is planned to be somewhat like Guitar Hero, in which the notes scroll across the screen and you have to play them when they reach the line.

The notes are rendered as a guitar tablature, telling you which fret to press on which string, and should be familiar to any guitar player. Because we detect by pitch rather than position, you will still be considered to “hit” the C on the 13th fret of the B string even if you play it on the 8th fret of the high E string.

Larger image

There are 19 different projects in the class, split more or less evenly between the Android and Windows 7 Phone platforms, with only one group developing for the iPhone. I am under the impression that developing and publishing on the iPhone is somewhat unpleasant. This project, appropriately for our Google-minion leader, is going to be on Android.

My responsibility for this project is the visual aspect, including the animation. I am reading up on multithreaded programming, which is trivial for most programmers but alien to me because I have never dealt with it in my job. I am studying the JetBoy demo Java application on the Android website as an example and also researching how I could possibly translate a MIDI file into a scrolling sequence of notes.

As for the user interface, what you see here is just mockups. I still have to make tweaks, the most obvious one being making the text larger and more readable on a mobile phone screen.

We’ll see how this goes.

One Response to “The merry sisters of fate”

  1. randommaster says:

    If I were you, I wouldn’t be able to stop myself from “accidentally” letting a pointer exception through testing.

Leave a Reply