Skip to content

Instantly share code, notes, and snippets.

@gwio
Last active November 29, 2016 13:49
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save gwio/8428d12b190a19b5f79776c192282f23 to your computer and use it in GitHub Desktop.
Grid Composer App, short manual

Grid Composer (Beta) - Short Reference

This app is a kind of musical toy to explore and play around with harmonies and rhythms. The three layers or tracks are synchronised to a global harmony and tempo, so its easy to create "good" sounding patterns without musical knowledge. This is the default setting, but its possible to adjust most of this stuff to get some more interesting and directed results.

In general it works a bit like an arpeggiator. You define a scale and octave range and rhythm (or just use the defaults), create some visual shapes on the grid and the notes are assigned semi randomly.

Start Screen

alt text

Tapping on the grids activates the build mode for one layer. Tapping the other buttons opens some global settings. The volume and load screens are pretty standard...

Build Mode

alt text

A- Switches between global and local harmony.

B- Shows the active global or local scale. Desaturated blocks have no synth assigned. Every layer plays notes in the range of one octave. You can tap on this to move through the scale.

C- Changes the envelope attack settings, this also depends a bit on the global tempo settings.

D- Switches through the different synths.

E- This is the main build mode. You can tap on the grid to add and remove cubes. Each isolated cube (or group of them) counts as individual synth. The pitch is semi random, depending on the active harmony and octave. The cubes are triggered clockwise. There is a small indicator flying around. The sound velocity/volume is depending on the amount of cubes triggered at the same time (1-lowest volume, 5-highest volume).

F- Here are some preset slots for different grids, they can be replaced with the button above.

You can also cycle through the other layers by clicking on them.

Harmony Settings

alt text

This screen can be used to adjust the global harmony settings.

A- This is the same as in the build mode. It indicates which notes from the global scale are played. And also a little piano roll. You can tap here to cycle the notes.

B- Lower and raise the octave-pitch. Info shows keynote and midi #.

C- Global key for all tracks.

D- Global scale for all tracks.

If a track is running in local mode those settings are ignored and you raise/lower the pitch by a halfnote to get a finer control.

Tempo Settings

alt text

Use the slider to adjust the global bpm.

A- Each layer can be set to a multiple of 1.

x1 == Whole notes; x2 == Half notes; x3 Triads, x4 == Quarter notes;

B- Tapping here allows you to control the playing direction and pauses. An arrow indicates an active playing direction, a square will counted but not played and a rectangle will be ignored. So only one Arrow would always play from the same direction.

Edit Mode with Local Settings

alt text

When you switch to the local settings you can adjust the scale manually.

A- There is the slider for the pitch, and below you can create your own scale. If you activate all notes in the octave, you will get a 12 tone scale, and each note could be assigned to a shape. Or you can deactivate all notes and have only the keynote available for use. When using the local settings, the global sync will be off, and you can walk freely in halftone steps instead in octaves from the harmony screen.

B- The changes you make to the scale are instantly applied to the scale bar and the layer. This gives you an basic overview which notes are played. But it also depends on the number of isolated shapes on the grid, so for two shapes only two notes will be assigned, but you can always tap the button to cycle through.

Midi

The app also supports midi output. The grids are assigned to the channels 1-3. The app connects via network session (Audio-Midi-Setup -> Network -> connect device). You need to be in the same Wifi. I had the lowest latency creating an adHoc network. This should work well in most cases but it really depends on your software and settings. I tested it mostly with Garageband and Live, should work well most of the time ;).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment