About hamon
Named after the Japanese word for 'ripple', hamon is a generative music instrument for relaxation and meditation.
Based on the ideas from the popular Bloom, by Brian Eno, hamon creates continuously changing and unique musical patterns. This is ideal for situations where long periods of concentration or relaxation are required, such as study, relaxation, and meditation.
There are two modes of play with hamon. The first mode, auto mode, is set upon startup, and is where note events are automatically triggered at random intervals. The second, interactive mode, is set as soon as the player touches the play space. If all note events are exhausted, auto mode automatically starts after a short while.
In either mode, all note events are recorded and looped back over a short period. Once the currently recording loop is finished, all events from that point are recorded on the next available loop. There are slight time differences in the loop lengths, meaning that the set of note events from any loop never quite play in sync with each other. This subtlety creates complex, never-repeating, ever evolving musical patterns.
All recorded note events also have a limited life span to make way for new ones, meaning the musical palette is constantly renewing itself - a total contrast to linear, recorded music.
At any one time, the sound that the note events trigger entirely depends on what sound color is currently selected. The sound color, represented pictorially by the color of the ripple shapes and background, ensures that all notes played are part of a coherent musical scale. In auto mode the selected sound color is cycled over a random period, in interactive mode it can be changed at any time by the player.
The player has a limited amount of ammunition that can be used to record note events. When all ammunition is exhausted, a small, non-event sound and animation is played on each tap. The ammunition always regenerates at a slow rate. This is to prevent excessive notes being recorded - leading to the undesirable side-effects of voice overload and drops in framerate.
Technical details:
The underlying engine of hamon consists of a native activity and primarily uses OpenGL ES 2 and OpenSL ES for drawing graphics and playing sounds.
Audio playback is based around a polyphonic sampler that implements a buffer loop callback to stream sample data. Playback and recording of note event data piggybacks upon OpenSL ES's high priority thread to provide robust and reliable sample-accurate timing.
The human ear is particularly sensitive to disparities between the timing of sonic events, especially those of a rhythmic, repetitive nature. Such precise timing was not possible even when using native timer functions.
Please note: hamon is still in an Alpha stage of development. Critical features have yet to be implemented, and there are a number of unresolved bugs. Continuous, incremental, and frequent updates are planned for ha-mon, until it reaches Beta and release stages. We, the developers have decided that releasing hamon in this manner will create software that is of higher quality and more enjoyable to use.
by K####:
I love it. It is becoming my backround music/sound. Nothing predictable....just right. We need more apps like this for Android!