Let it evolve
Fish, flowers, and fireflies create different voices. Daylight, wind, and changing weather shape the island and its soundscape.
An island you can play.
Islecho is an interactive music world designed and developed by Shuran Yang. On an evolving island, fish, flowers, and fireflies each contribute a different sound, creating a soundscape that changes with the environment. Players can tap a rhythm and hear the island respond as an ensemble, turning listening into a form of composition.
Fish, flowers, and fireflies create different voices. Daylight, wind, and changing weather shape the island and its soundscape.
A short sequence of rhythmic taps becomes a musical motif. The system carries that motif into a temporary ensemble, adding variations and harmony before returning to the natural soundscape.
Save a snapshot to return to a world, or record its stereo output as a WAV file. The recording captures the application itself, not the microphone.
Inside the build
The environment does more than change the scenery. This function maps sunlight to the flower voice's filter cutoff: brighter conditions open the filter, while less light makes the sound more muted.
The mapping is exponential, from 320 to 6,500 Hz. A separate update layer smooths changes before they reach the sound.
static func resolve(kind: EcologyKind, environment: EnvironmentState) -> Self {
switch kind {
case .plant:
let sunlight = min(1, max(0, environment.sunlight))
return Self(cutoffHz: Float(320 * pow(6500.0 / 320, sunlight)))
case .fish, .firefly: return Self(cutoffHz: 0)
}
}Swift manages gestures and the evolving world, Metal renders the three-dimensional scene, and a C++ audio engine synthesizes and schedules sound. Keeping the audio clock independent of the display lets musical timing follow sound rather than the screen's refresh rate.
The interaction connects these systems: touch supplies notes and rhythm, ecological events suggest sounds, and actual audio onsets drive the corresponding visual gestures.
Shuran independently created Islecho, from its concept and interaction design to sound design and software implementation. Built with Swift, Metal, and a C++ audio engine, the project brings together real-time graphics, procedural sound, and musical interaction. It explores how software can make music feel like a place to discover.
Directions to explore next.
Refine the visual cues for tapping and ensemble play, helping first-time players understand how their gestures shape the music without interrupting exploration.
Explore importing short sound recordings and assigning them to the island's creatures, so players can build a world from sounds they have collected or made.
Run playtests with musicians and people without musical training. Use their feedback, alongside device measurements, to improve responsiveness, sound balance, and performance during longer sessions.
Selected fallen-log scenery is adapted from Poly Haven's Dead Tree Trunk 02, by Jenelle van Heerden and Rico Cilliers (CC0).