Celody Modules

Custom Logic

Every Celody stream generates music in real-time according to specific logic. This logic is embedded within a module. By specifying the module field in the celody file, you can change how randomness affects the final stream.

View Tutorial
Module with Oracles

External Data

A module can be connected to an external data source. The external source can be a machine or data oracle. Streams can be programmed using the time, weather, location, speed, altitude, health info, financial data and more.

View Tutorial
Time of Day Module

"timeofday"

This module changes the stream logic based on the time of the day. The stream will have a slower tempo and deeper pitch in the morning. As the day progresses and the hours increase, the stream will automatically speed up on each loop and play at a higher pitch. This module can take multiple instruments.

View Code
Weekend Module

"weekend"

This module changes the stream logic based on whether the current day is a weekend or weekday. The stream will have a slower tempo and deeper pitch on Mondays to Fridays. On weekends (Saturdays and Sundays), the stream will speed up and play at a higher pitch. This module can take multiple instruments.

View Code
Location Module

"location"

This module changes the stream logic based on a person's location. The module requires access to the geolocation/GPS api of the device. As a person moves from a starting latitude-longitude position, the stream's tempo and pitch will change. Larger movements result in larger tempo-pitch changes. Note location updates depend on loop length (i.e. a 2 minute Celody loop means a 2 minute update interval). You can hear an example stream by searching for "Live the Life Location".

View Code
Speed Module

"speed"

This module changes the stream logic based on a person's speed. The module requires access to the geolocation/GPS api of the device. As a person speeds up (for example, in a moving car), the stream's tempo and pitch will speed up. Slowing down slows the stream down. Note speed updates depend on loop length (i.e. a 2 minute Celody loop means a 2 minute update interval). Use shorter loops for more frequent updates. You can hear an example stream by searching for "Live the Life Speed".

View Code
Airplane Module

"airplane"

This module changes the stream logic based on a person's altitude. The module requires access to the geolocation/GPS api of the device. As a person ascends up (for example, in an airplane), the stream's tempo and pitch will speed up. Descending slows the stream down. Note altitude updates depend on loop length (i.e. a 2 minute Celody loop means a 2 minute update interval). Use shorter loops for more frequent updates. You can hear an example stream by searching for "Live the Life Airplane".

View Code
Compass Module

"compass"

This module changes the stream logic based on a person's direction. The module requires access to the geolocation/GPS api of the device. As a person heads in a certain direction (north-east-south-west), the streams's pan will adjust accordingly. Heading north or south centers the pan. Note heading updates depend on loop length (i.e. a 2 minute Celody loop means a 2 minute update interval). Use shorter loops for more frequent updates. You can hear an example stream by searching for "Live the Life Compass".

View Code
Core Module

"core"

The core module is the default. It's the original module. The core module is quite flexible and can be used for streams with multiple instruments, notes, or mono audio. When in doubt, use the core as a starting point for your stream.

View Code
Seesaw Module

"seesaw"

The seesaw module goes down then up then down. It's as if you combine the downhill and uphill modules, first you go down then you go up. This module requires only a single instrument (1 primary-secondary).

View Code
Tight Module

"tight"

The tight module randomly changes the pitch and tempo of the stream within a well-defined range. The range is very small ("tight"), which prevents large dramatic changes. The tight module requires only a single instrument (1 primary-secondary).

View Code
Nutzo Module

"nutzo"

The nutzo module randomly changes the pitch both higher/lower and tempo slower/faster from the starting audio. The nutzo module makes big dramatic shifts to the starting level. This module requires only a single instrument (1 primary-secondary).

View Code
Chipmunk Module

"chipmunk"

The chipmunk module randomly changes the pitch higher and tempo faster from the starting audio. The pitch never gets lower than the start level and the tempo never gets slower than the original. This module requires only a single instrument (1 primary-secondary).

View Code
Slow Deep Module

"slowdeep"

The slowdeep module randomly changes the pitch deeper and tempo slower from the starting audio. The pitch never gets higher than the start level and the tempo never gets faster than the original. This module requires only a single instrument (1 primary-secondary).

View Code
Downhill Module

"downhill"

The downhill module randomly changes the pitch deeper and tempo slower from the starting audio. The pitch and tempo only get deeper/slower as if constantly going downwards. This module requires only a single instrument (1 primary-secondary).

View Code
Uphill Module

"uphill"

The uphill module randomly changes the pitch higher and tempo faster from the starting audio. The pitch and tempo only get higher/faster as if constantly going up. This module requires only a single instrument (1 primary-secondary).

View Code
Open Source Code

Create Your Own

Every module is just computer code that can be swapped for another module. The code is all open source, so you can see how the module works. You can even write your own module to create new infinite music streams.

View Github