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. So no two streams will be identical. This is because streams are generated using loops and randomness. The music is composed in real-time according to how the loop interacts with random computer fluctuations.

View Streams
How is Celody different?

Configurable Web-based Streams

Most streaming music isn't open. You can't change the drums on a pop song or increase the tempo of the track. But with Celody streams, the entire music is configurable using a celody file (of json format) that contains the music parameters. This file is analogous to a person's DNA, which - together with the environment - determines how the person/music unfolds over time.

Configure 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 can be constantly evolving.

Learn More
How can I change a stream?

Celody Stream Files

If you don't like a part of the stream, you can change it. Every stream file has editable parameters that modify the generated real-time music. You can change almost everything: from adding or deleting instruments; to the volume and timing of individual notes; to adding effect filters; to changing the tempo of the stream; to defining the music's density; to much more...

Editing Streams
How can I create a stream?

Convert, Fork or Merge

The easiest way to create a new infinite stream is by converting an mp3. 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
Can I broadcast a stream?

Web Audio Api

Celody leverages the Web Audio Api (together with Pizzicato.js) to generate the real-time music stream. So all of the code's logic is embedded on the client's browser. Celody can be run in a decentralized p2p environment like IOTA - where the stream files are uploaded to the Tangle and then the browser's Web Audio interface plays the sounds - all without a central middleman.

About Web Audio
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