View the diagram for a succinct, visual explanation of _noisecrypt.
The Internet is still a new technology. The way it evolves and improves, it will continue to appear new for many generations. This trait inspires continuous innovation and invention, even in its current state there is immense unrealised creative potential.
Utilising the Internet to empower collaboration, while taking inspiration from meditation and experimental music, this system intends to provide a novel form of musical expression. Emergence takes place as the 4 components enable unlimited telepresent collaborators to perform, while an autonomous machine manipulates the sound as a "cut-up" composition.
Open format audio compression tools allow participants to keep the amount of bandwidth to a minimum, this allows a reduction in overhead costs while keeping network and computer performance high. The system is also entirely open source, so it can be completely cost-free to set up your own server.
As a performer, you can create streams and control the digital audio way as to affect the overall soundscape. To enable this tool to be accessible, a performer requires only a web browser and may use a microphone or other audio input device.
As a listener, you can connect your sonic space to the network without any control or input. Many streams feed into your browser and out to any number of audio channels you make available.
As a developer, you can actively provide some of the technical infrastructure or contribute to the codebase. There's so many ways this system can grow and improve, the idea is to remix it and hopefully help improve the tools to make them better for everyone.
Previously, the system was based around the idea of a single app that ran on a Raspberry Pi and used icecast as a server. Unfortunately, this method was too complex and seemed outdated. Development of the idea, establishing the key requirements and features, and some user testing showed that a web-based app divided into 4 components would be the most effective implementation.
There are many sources of "novelty" in the system, from either the actions of the people involved or the machine's randomness. The machine randomness occurs in 3 places:
- when someone listening needs to get audio from somewhere
- selecting a point in a stream to "start" from
- changing from one stream to another
The primary purpose of this app is to allow participants to access a large number of streams. It also provides novelty in the form of automatically selecting one of these streams at random. The streams are stored in hubs and these hubs are created by a click of a button. Streams are added and removed via the _sludge interface.
The primary purpose of this app is to serve the audio stream data. It also provides novelty in the form of automatically selecting the start point of a stream at random. The data is uploaded by the _splutter app, and downloaded via the _syllid app.
The primary purpose of ths app is to allow a participant to record their audio and stream it. The audio is uploaded from individual audio input channels. The reason for this is the user is encouraged to provide different audio from different channels to be streamed to different servers. This app communicates with the sludge app, so any stream created in _sludge will appear in _splutter for uploading.
The primary purpose of this app is to allow a participant to listen to audio streams. It also provides novelty in the form of changing the audio stream at random. Using a hub from the _sortition app, _sludge streams are provided and their audio is streamed to selected audio output channels.