Coder Social home page Coder Social logo

gull's Introduction

GULL

Gull is a UDP sound machine designed to be controlled externally. It was created as a companion application to the livecoding environment ORCA.

Install & Run

TODO / add details / package into electron app

If you want to build Gull yourself, follow these steps:

git clone https://github.com/lctrt/gull.git
cd gull
npm install
npm start

File management

Samples should be in wav format. If you build yourself you can put your samples into /samples.

Project mode

You can select a folder with File > Select Sample Folder. This will load the samples in that folder, as well as the default.gull file if present.

The server will hot reload when new samples are added. This got broken with the dynamic folder selection, will fix.

editor commands:

  • meta + arrow: fast cursor move (6 chars)

Creating channels

A channel is written on one line of the editor. Channels can share the same id to be triggered together.

Channels are composed by blocks, each block start with a capital letter, with associated base36 parameters under it.

A channel start with a C block.

It's then followed by a generator:

  • P(sample, start, duration): sample player block
  • S(waveform): synth block (waveform not supported yet)

After that you can follow up with effect blocks:

  • R(room, wet): reverb
  • D(intensity, wet): distortion
  • F(type, frequency, Q): filter
CPR
10I
.45
.2.

External channel

A special external channel is possible by starting with E instead of C. This will use external audio input, useful to chain to effects.

Remote Control

Gull has up to 36 channels. Commands can be sent through UDP via the port 49161.

Play

The play command allows you to trigger samples.

Command Channel Octave Fine Velocity
0 0 0 0
04c 0 4 C 64
04cf 0 4 C 127

For the sample player, the fine setting is in 35ths of an octave. For the synth, the fine is notes (C,D,E etc)

Remote editing

You can edit the current code character by character remotely.

ED004 <- Will replace the character on line 0, row 0 with the character 4.


Special thanks to Tone.js, the scope of work would be quite different without it!

gull's People

Contributors

lctrt avatar aaronsherwood avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.