A star in a tableau is a strangely absolute little thing. You either violated a constraint or you did not; the mark is a one or a zero, or a small integer if you were careless more than once. For the candidates this machinery was built for (kager1999optimality) — strings of segments — that suits me fine. A syllable either has a coda or it does not, and NoCoda can say so with a single star.
compilation failed: spawnSync tectonic ETIMEDOUT
Now hand the same machinery something that arrived as a number — a vowel sitting at some first formant. Nothing about 541 Hz announces which box it belongs to; it is just a place on a line. The usual, sensible move is to chop the line into intervals, hand each interval a violation count, and get back to the comfortable world of stars.
The trouble is the small promise a bin makes. If I decree that everything from 500 to 600 Hz "violates once," then a vowel that landed at 505 Hz and one that landed at 595 Hz become, as far as the grammar can tell, the same event. They are not. I am not trying to overturn anyone's winner here — the coarse count usually crowns the same candidate — but it seems a shame to flatten a distinction the data went to some trouble to make.
So, a small thought experiment. What if the violation were a function of where the vowel actually fell, rather than of the box we filed it under? Drag the candidate below: the smooth line reads off a penalty that grows the further the vowel drifts from a target $\mu$. Then tick bin it and watch that line collapse into a staircase. The staircase is exactly what a bin commits us to, and the little gap that opens up is the nuance we agreed not to notice.
The penalty I drew is the least imaginative one available — a squared distance, $v(F_1) = \left(\frac{F_1-\mu}{S}\right)^2$. Nothing deep in it; it only says "closer is better, and it sours quickly." Reading a violation off a smooth curve instead of a tally is not a new indulgence: constraint grammars have been pointed at continuous phonetic variables before, and the broader habit of letting phonetic detail live inside the constraints is older still (lefkowitz2017maxent; flemming2001scalar).
Once the marks are numbers rather than stars, the rest almost writes itself. The same contest, weighted:
compilation failed: spawnSync tectonic ETIMEDOUT
Harmony is the weighted sum, $H(F_1) = w\,v(F_1)$, and if we let that harmony set the odds the way a MaxEnt grammar does (goldwater2003learning), a probability spreads over the whole line, $P(F_1)\propto e^{-H}$. The second panel plots it. And here is the small joke the algebra tells: a parabola in the exponent is a Gaussian in disguise. Square the distance, weight it, exponentiate — and out falls a familiar bump sitting over $\mu$, narrow when the grammar is fussy and broad when it is easygoing. The "target" was a mean the whole time.
$$P(F_1)\;\propto\;\exp\!\left[-\,w\left(\frac{F_1-\mu}{S}\right)^2\right].$$
It helps to watch the arithmetic rather than take my word for it. For a single bin and one target, here is how far the bin's flat promise sits from the honest, position-dependent penalty:
# One 100 Hz bin, one target. The bin hands every vowel inside it the SAME
# penalty (the value at the bin's centre); the honest penalty depends on where
# the vowel actually fell.
mu, S = 550.0, 150.0
def v(x): return ((x - mu) / S) ** 2
lo, hi = 500.0, 600.0
binned = v((lo + hi) / 2) # the flat promise, for the whole bin
print(f"bin {int(lo)}-{int(hi)} Hz flat penalty = {binned:.3f}")
for f1 in (505, 525, 545, 565, 595):
honest = v(f1)
print(f" F1={f1} honest={honest:.3f} thrown away={abs(honest - binned):.3f}")
None of this says the staircase is wrong. Coarse-graining is often exactly the right amount of care, and a curve is simply more moving parts to be wrong about. The question I keep turning over is smaller and quieter than that: when the thing we measured showed up as a number, did we have to round it off before we let the grammar look? Sometimes, perhaps, the distribution of violations could just follow the distribution of the data, and skip the boxes altogether.
Barroso, A. M. (2024). When is a violation not a violation?. alexandrebarroso.com. https://alexandrebarroso.com/notes/when-is-a-violation-not-a-violation.html
@misc{barroso2024whenisaviolationnotaviolation,
author = {Alexandre Menezes Barroso},
title = {When is a violation not a violation?},
year = {2024},
howpublished = {alexandrebarroso.com},
url = {https://alexandrebarroso.com/notes/when-is-a-violation-not-a-violation.html},
note = {alexandrebarroso.com}
}