Advanced Techniques

Master advanced concepts and patterns in BeatBlocks

Advanced Generation Patterns

Once you've mastered the basics of BeatBlocks generation, you can leverage advanced patterns to create more sophisticated and dynamic musical compositions. These techniques allow for greater control over your generative music while maintaining deterministic output.

Key Advanced Concepts

  • Layered variation systems
  • Dynamic stem selection strategies
  • Complex arrangement patterns
  • Conditional generation rules
  • Multi-seed generation techniques

Layered Variation Systems

Create sophisticated variation systems by combining multiple group types and mutex categories:

{
  "generationConfig": {
    "seed": "0x3f7a912e",
    "groups": [
      "v1", "v2", "v3",           // Variation groups
      "intensity_low", "intensity_med", "intensity_high",  // Intensity layers
      "style_a", "style_b",       // Style variations
      "drums", "bass", "lead"     // Instrument groups
    ],
    "mutexes": [
      "percussion", "basslines", "melodies",  // Standard mutexes
      "intensity_level",                      // Intensity mutex
      "style_variant"                         // Style mutex
    ]
  },
  "layers": [
    {
      "id": "kick_pattern_v1_low_a",
      "groups": ["drums", "v1", "intensity_low", "style_a"],
      "mutex": ["percussion", "intensity_level", "style_variant"]
    },
    {
      "id": "bass_pattern_v1_med_b",
      "groups": ["bass", "v1", "intensity_med", "style_b"],
      "mutex": ["basslines", "intensity_level", "style_variant"]
    }
  ]
}

Dynamic Stem Selection

Advanced Weight Distribution

Create complex probability distributions for stem selection:

{
  "layers": [
    {
      "id": "common_pattern",
      "weight": 5,    // Very common
      "groups": ["drums", "v1"]
    },
    {
      "id": "rare_pattern",
      "weight": 0.5,  // Very rare
      "groups": ["drums", "v1"]
    },
    {
      "id": "balanced_pattern",
      "weight": {     // Dynamic weights
        "default": 1,
        "chorus": 2,  // More likely in chorus
        "bridge": 0.5 // Less likely in bridge
      },
      "groups": ["drums", "v1"]
    }
  ]
}

Complex Arrangement Patterns

Create sophisticated arrangements using advanced template patterns:

{
  "template": [
    {
      "type": "intro",
      "length": 8,
      "pattern": "build_up",
      "layerCount": {
        "start": 1,
        "end": 4,
        "curve": "linear"
      },
      "inclusions": ["drums", "fx"]
    },
    {
      "type": "verse",
      "length": 16,
      "pattern": "alternating",
      "sections": [
        {
          "length": 4,
          "inclusions": ["drums", "bass"],
          "layerCount": 3
        },
        {
          "length": 4,
          "inclusions": ["drums", "lead"],
          "layerCount": 3
        }
      ],
      "repeat": 2
    },
    {
      "type": "chorus",
      "length": 8,
      "pattern": "layered_peak",
      "layerCount": 6,
      "inclusions": ["drums", "bass", "lead", "fx"]
    },
    {
      "type": "bridge",
      "length": 8,
      "pattern": "breakdown",
      "sections": [
        {
          "length": 4,
          "fade": "out",
          "inclusions": ["drums", "bass"]
        },
        {
          "length": 4,
          "fade": "in",
          "inclusions": ["ambient", "fx"]
        }
      ]
    }
  ]
}

Multi-Seed Generation Techniques

Use multiple seeds to create more complex and controlled variations:

{
  "generationConfig": {
    "seeds": {
      "main": "0x3f7a912e",          // Primary generation seed
      "rhythm": "0x4b8c123d",        // Controls rhythm selection
      "melody": "0x9a2e567f",        // Controls melody selection
      "arrangement": "0x1d4f890c"    // Controls arrangement patterns
    },
    "seedMapping": {
      "rhythm": ["drums", "percussion"],
      "melody": ["lead", "bass"],
      "arrangement": ["template", "transitions"]
    }
  },
  "template": [
    {
      "length": 16,
      "seeds": {
        "override": {
          "rhythm": "0x5e6f789a",    // Section-specific seed
          "melody": "random"         // Random variation for this section
        }
      },
      "inclusions": ["drums", "bass", "lead"]
    }
  ]
}

Multi-Seed Benefits

  • Fine-grained control over different aspects of generation
  • Create variations that maintain certain elements while changing others
  • Section-specific randomization while maintaining global coherence
  • Reproducible variations with predictable changes