What is a Celody stream?

Infinite Music Streams

Every play of a Celody stream is a unique music composition that goes on forever. Playing the same stream twice results in a slightly different song because streams are generated using loops and randomness. Loops ensure that the stream plays forever while random computer fluctuations make sure the music is constantly changing.

View Streams
What is generative music?

Ever Different Music

Traditionally, music hasn't been generated using randomness. Instead, it has been composed by people and then distributed to an audience as a static package. This type of music sounds exactly the same on replay. In contrast, generative music uses computers and algorithms to compose music in real-time. By using randomness, the music continually evolves.

Learn More
What are 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 Modules
What is the FORREV Player?

FORward and REVerse

FORREV is a concatenation of "FOR"ward and "REV"erse because audio in the FORREV player gets played in both directions. The stream starts off playing forward and then reverses when it hits a random reverse-point.

View Tutorial
How can I create a stream?

Convert, Fork or Merge

The easiest way to create a new infinite stream is by converting an mp3 (HERE). You can also fork or merge an existing stream. When you fork the stream, you inherit the celody file of the parent stream. Instead of a fork, you can merge two streams. Merging streams takes non-conflicting instruments from one file and combines it with the instruments of the other stream's file.

Fork vs Merge
How can I contribute?

Open Source Software

Celody is entirely MIT licensed open source software. You can use the code for any purpose you want. If there is a feature that's missing, open up an issue in Github. If you want to build an addition (like a third party embedding library or add more effect filters), open an issue on github to start communication. Contributors are welcome.

Commit Code