Skip to content

composition.gs

Thomas Tortorini edited this page Nov 1, 2019 · 55 revisions
{
  id: "6313f4d6-1298-4ce2-a076-391b3dc12839",
  savedAt: 1558306516, // (timestamp in seconds)
  name: "My first composition",
  bpm: 120,
  stepsPerBeat: 4,
  beatsPerMeasure: 4,
  buffers: {
    "0": { type: "audio/wav", duration: 1.8111, hash: "V-00000SIZE-HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASH" },
    "1": { type: "audio/mp3", duration: 4.0128, hash: "1-000644840-c3000494dcd794c26b60438edf7f41ecc81a70" },
  },
  effects: {
    "0": {
      order: 0,
      dest: "main",
      type: "filter",
      toggle: true,
      data: {
            type: "lowpass",
            Q: 5,
            gain: -20,
            detune: 0,
            frequency: 500,
      },
    },
  },
  channels: {
    "main": { order: 0, toggle: true, name: "main",   pan: 0, gain: 1 },
    "1":    { order: 1, toggle: true, name: "chan 1", pan: 0, gain: 1, dest: "main" },
    "2":    { order: 2, toggle: true, name: "chan 2", pan: 0, gain: 1, dest: "main" },
    "3":    { order: 3, toggle: true, name: "chan 3", pan: 0, gain: 1, dest: "main" },
    "4":    { order: 4, toggle: true, name: "chan 4", pan: 0, gain: 1, dest: "main" },
  },
  patterns: {
    "0": { type: "buffer", name: "drumloop", duration: 4, buffer: "0" },
    "1": { type: "buffer", name: "vocal", duration: 4, buffer: "1" },
    "2": { type: "keys", name: "melody", duration: 12, synth: "0", keys: "0" },
  },
  synths: {
    "0": {
      name: "synth",
      lfo: { type: "sine", delay: 0, attack: .5, amp: 1, speed: 4 },
      oscillators: {
        "0": { gain: 1, pan:  0, detune:   0, type: "sine" },
        "1": { gain: 1, pan:  1, detune: -50, type: "triangle" },
        "2": { gain: 1, pan: -1, detune:  50, type: "sawtooth" },
        "3": { gain: 1, pan:  0, detune:   0, type: "square" },
      },
    },
  },
  keys: {
    "0": {
      "0": { when: 0,  duration: .25, gain: 1,  pan: 1,  key: 48, selected: true },
      "1": { when: 4,  duration: 2,   gain: .8, pan: -1, key: 49 },
      "2": { when: 8,  duration: 4,   gain: .2, pan: 0,  key: 50, next: "3" },
      "3": { when: 12, duration: 1,   gain: .8, pan: 0,  key: 48, prev: "2", next: "4" },
      "4": { when: 13, duration: 3,   gain: .8, pan: 0,  key: 48, prev: "3" },
    },
  },
  tracks: {
    "0": { order: 0, name: "drum",  toggle: false },
    "1": { order: 1, name: "vocal", toggle: true },
    "2": { order: 2, name: "keys",  toggle: true },
  },
  blocks: {
    "0": { pattern: "0", track: "0", when: 0, offset: 0, duration:  4 },
    "1": { pattern: "0", track: "0", when: 4, offset: 0, duration:  4 },
    "2": { pattern: "0", track: "0", when: 8, offset: 0, duration:  4 },
    "3": { pattern: "1", track: "1", when: 4, offset: 0, duration:  4 },
    "4": { pattern: "1", track: "1", when: 8, offset: 0, duration:  4 },
    "5": { pattern: "2", track: "2", when: 0, offset: 0, duration: 12 },
  },
}
Clone this wiki locally