Mánicos, Computed

Nobody in an armonía picks a strum. The form is called, and the pattern comes with it — so this engine indexes the mánico by the form that commands it, declares every slot including the slaps and the silences, and derives the rest.

Ask four vihuela players what they strum and you will get one answer, because the answer is not theirs to choose. In this ensemble the strumming pattern belongs to the FORM: somebody calls a son de Jalisco, and the son’s mánico arrives with it, along with the meter, the bar grid and the harmony. That is what this engine models. Each cell below is indexed by the form that commands it, never by a name somebody liked.

THE SECOND THING THIS ENGINE MODELS IS UNISON. An armonía is two or three instruments — a vihuela, a guitar, in some regional line-ups a guitarra de golpe — playing the identical slot sequence at the identical instant. So a cell here is ONE pattern for the whole section rather than one per instrument, and that is a musical fact rather than a shortcut in the data shape. Precision is the entire virtue: a section whose hands disagree by a sixteenth stops being a rhythm instrument and becomes a smear.

THE VOCABULARY is four values and no more. down and up are full-hand strokes. muted is the braked slap — the hand lands on the strings and stops them, so the slot carries weight but no pitch. rest is declared silence, and a declared rest is as real a part of the bar as a stroke: a pattern that leaves its rests to be inferred has thrown away half of what it knows. Nothing else is a legal slot value.

WHAT IS DECLARED AND WHAT IS DERIVED. Only the bar length, the slot kinds, the accent convention (a downstroke and a slap are emphatic; an upstroke is connective) and the threshold at which a bar is said to carry a metric reading. Everything else on these pages — stroke counts, where the slaps fall, both readings of the twelve-slot bar, which forms share a cell — is computed, and scripts/validate-manicos.js recomputes all of it independently on every change.

None of the four instruments named across this site is ours to teach. The vihuela, the guitarrón and the guitar are Guitar Warrior’s families; the violin is Fiddle Warrior’s. What lives here is the layer none of them can write, because it only exists where several instruments have to agree.

Four forms, four cells

The set at a glance

The four declared cells. Every column but the first two is derived from the slot data.
FormMeterSlotsSlapsRestsAccents
Son jalisciense6/8 against 3/412224
Ranchera in the waltz feel3/46113
Ranchera in the polka feel2/48204
Bolero ranchero4/4, slow8022

No two of these are the same bar

The four cells fall into 3 bar lengths (6, 8, 12 slots). Two forms with DIFFERENT lengths cannot share a cell, and that is arithmetic rather than a claim. The 2 cells that do share a length — Ranchera in the polka feel and Bolero ranchero — were compared slot by slot, and they differ. The engine reports no shared cell anywhere in the set, and the guard fails if that ever stops being true without the data changing to match.

Naming a pattern is not the same as knowing it. Two forms can be counted the same way and still ask different things of the hand, so the only honest test is to compare the slots, which is what sharedCells() does and what the validator repeats from the raw arrays.