Heuristics

Aria uses a simple heuristic to determine each participant's playing ability. The system allows for "pluggable" heuristics, meaning that heuristics can be swapped during the live experience. New heuristics are also easily added.

The heuristic is responsbile for analyzing the participant's performance and then returning a rating (a number between 0.0 and 1.0, inclusive). The heuristic has access to a number of values describing the current status of the simulation, including the current beat history, each participant's drum pad hit history, and each player's current rating.

A number of heuristics have already implemented. Each will be described in detail in the sections that follow.

Meter-based Heuristic

This was the first heuristic that was implemented. The idea here is to score each participant based on how close their drum hits coincide with expected music beats. The expected music beats are determined based on a notion of the music's meter.

The average time between beats is calculated periodically (to account for changes in tempo). Next, a sample is taken of the participant's recent drum hits. The modulus of each hit's timestamp and the average beat time is computed, and the resulting descrepancies are summed. This is compounded with a count of the number of times that player hit their drum to yield a rating, which is in turn weighted against their previous rating.

The problem with this heuristic arises in the fact that the participant's beats may or may not fall on actual beat points in the music. It's also exceptionally difficult to score well based on this heuristic.

Frequency-based Heuristic

The second heuristic only looks at the frequency of drum hits over a period of time (one second, for example). The more times the participant hits their drum over this period, the higher their rating.

This heuristic proved to be quite popular due to its simplicity. It's easy for the participant to score highly, and their actions yield near immediate satisfaction. The problem, however, is that this heuristic promotes rapid, freeform pounding on the drum pads. This creates neither a satisfying nor coherent musical experience.

Averages-based Heuristic

This heuristic was intended as a simplified version of the meter-based heuristic. Both the average beat time (time between beats) and the average hit time (time between hits) are calculated for the participant. Those two values are compared and their descrepancy calculated. The lower the aggregate descrepancy, the higher the participant's rating.

This system works fairly well in theory, but it does not account for the cases in which the player decides not to hit their drum for a period of time. This increases the statistic delay between their hits and disrupts their average, compounding their playing error for a number of cycles into the future. This makes it difficult for the participant to score well because they would have to spend a considerable effort in correcting their hit average in order to get back on track.

This heuristic also precludes the participant's ability to improvise their playing by hitting their drum twice per beat time. They would have to balance their performance by playing twice the beat time for half the time and not playing at all for the other half in order to achieve a good average hit time and thus a high rating.

Count-based Heuristic

The count-based heuristic is an evolved form of the frequency-based heuristic that also takes the music beats into account. In this heuristic, the number of beats over a time period is counted. The number of times the participant hit their drum over the same time period is also counted. Those two numbers are then compared to compute the participant's rating.

This system works fairly well in that is doesn't dictate at the micro-level the times that the participant must strike the drum. It only requires that they strike the drum a certain number of times. This may or may not produce a successful musical experience, but it does give the player greater flexibility in their playing.