andreasbuetler / SpatialInstrument

a tool for experimental sound creation over network using shiftr.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

spatialInstrument

a tool for experimental sound creation using shiftr.io.

Overview

Over a so called Sattelite, a user can join the concert that is hosted by a main sketch. Satellites provide several parameters that are merged together to create then a communal sound. The Sources for the parameters are different, some are manually provided by the user, some are automatically generated by the main host, based on for example the users IP Adress.

Usage

To log in as a musician open a sattelite program. Please note, that all satellites will only work with a main/framework running on one device.

Tools

BeatTap

Every User has a certain Amount of beats to tap, depending on how many users that are online at the same time. If the user has beats available, he/she can contribute to the common beat rhythm by pressing 'TAB' on the keyboard. With 'SPACEBAR' the user also has the possibility to remove beats from the rhythm.

Delay

The Delay measures the duration of a ping that is sent to all users one after each other and calculates then the delaytime out of it.

Weather Data

Based on the Ip Adress, WeatherData is fetched over an WeatherAPI. By default the sum of the windspeed parameter of all users is taken to calculate the filter frequency.

CommonSpace

The average Distance between all IP Adresses of all useres creates a Parameter that controls the volume of a Sample, which loops endlessly thorugh.

UserCount

The Number of users contributes to the LFO Frequenny of the Flanger that is added to a Sample, which loops endlessly thorugh.

Instruments & Sounds

The actual Sound setup consists of several loops,samples and effects that are routed as follows:

beatSampler>beatFilter>beatDelay>out

singleSampler>singleSamplerGain>out

ambient>ambientGain>ambientFilter>ambientFlanger>out

loop1>loop1Gain>loop1tFilter>out

loop3>loop1Gain>out

Architecture

Main/Framework

ArrayList<Satellite> connected List of all Satellites connected

Satellite

JSONOBject incoming receives all incoming messages sent by the main, formatted in JSON file.

JSONArray points the positions of all IP Adresses connected.

int availableBeats the amount of beats that are available for the specific user.

int connectedNodes the amount of Users connected to the main.

About

a tool for experimental sound creation over network using shiftr.io


Languages

Language:Processing 50.9%Language:Java 47.5%Language:Shell 1.1%Language:HTML 0.5%