Gencaster#
Gencaster is a non-linear audio streaming framework for real-time radiophonic experiences and live music.
The audio streams created through Gencaster have a low latency (about 150ms) and can be listened to in any modern browser, and can dynamically render audio content based on a given story graph that can react to user input such as name, time, GPS position, or even microphone streaming after permissions have been granted.
Gencaster consists mainly ofthe following services.
Caster sound is a service that handles all streaming and audio rendering functionality, using SuperCollider to generate audio and Janus to distribute audio to listeners via WebRTC
The backend manages the streams of caster-sound, written in Django. To communicate with Caster sound, it uses the OSC Server service.
The frontend allows users to listen to the streams of Caster sound and acts as a player. It is written in Vue.
The editor is a website in which the actions of a stream, called a Story Graph, can be created, edited and tweaked using Python or SuperCollider, and is also written in Vue.