fifa-stadium-grid/four-voice-harmony-calculator.html
2026-07-18 05:39:45 +00:00

218 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Four-Voice Harmony Calculator | Alton McBride</title>
<style>
:root { --gold: #ffd700; --bronze: #cd7f32; --charcoal: #1a1a1a; --slate: #2d2d2d; --jade: #4ade80; }
* { box-sizing: border-box; }
body { font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--charcoal); color: #eee; margin: 0; padding: 0; line-height: 1.5; }
header { background: linear-gradient(135deg, var(--charcoal) 0%, var(--slate) 100%); padding: 40px 20px; text-align: center; border-bottom: 3px solid var(--gold); }
h1 { color: var(--gold); font-size: clamp(24px, 5vw, 42px); margin: 0 0 15px; letter-spacing: -0.5px; }
.subtitle { color: var(--jade); font-size: clamp(14px, 2.5vw, 18px); max-width: 600px; margin: 0 auto; opacity: 0.9; }
main { max-width: 900px; margin: 40px auto; padding: 0 20px; }
.section { background: var(--slate); border-radius: 12px; padding: 30px; margin: 30px 0; box-shadow: 0 4px 20px rgba(0,0,0,0.4); border-left: 4px solid var(--gold); }
h2 { color: var(--gold); font-size: 24px; margin-top: 0; display: flex; align-items: center; gap: 12px; }
h2::before { content: ''; width: 4px; height: 24px; background: var(--gold); border-radius: 2px; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin: 25px 0; }
.card { background: var(--charcoal); padding: 20px; border-radius: 8px; border: 1px solid var(--bronze); }
.card h3 { color: var(--jade); font-size: 18px; margin: 0 0 15px; }
.input-group { margin: 15px 0; }
label { display: block; color: var(--gold); font-size: 14px; margin-bottom: 8px; font-weight: 600; }
input, select { width: 100%; padding: 12px; background: var(--slate); border: 1px solid var(--bronze); border-radius: 6px; color: #fff; font-size: 16px; transition: border-color 0.2s; }
input:focus, select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.1); }
button { background: linear-gradient(135deg, var(--gold) 0%, var(--bronze) 100%); color: var(--charcoal); border: none; padding: 16px 32px; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; margin-top: 20px; width: 100%; }
button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255, 215, 0, 0.3); }
.result { background: var(--charcoal); border-radius: 8px; padding: 25px; margin-top: 25px; border: 2px solid var(--jade); display: none; }
.result.visible { display: block; animation: fadeIn 0.4s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.result h3 { color: var(--jade); margin-top: 0; }
.stat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin: 20px 0; }
.stat { background: var(--slate); padding: 15px; border-radius: 6px; text-align: center; }
.stat-value { font-size: 32px; color: var(--gold); font-weight: 700; }
.stat-label { font-size: 12px; color: #aaa; margin-top: 5px; text-transform: uppercase; letter-spacing: 1px; }
.citation { font-size: 12px; color: #888; margin-top: 20px; padding-top: 15px; border-top: 1px dashed #444; }
.waveform { height: 120px; background: linear-gradient(180deg, transparent 0%, rgba(74, 222, 128, 0.1) 50%, transparent 100%); border-radius: 8px; margin: 20px 0; position: relative; overflow: hidden; }
.waveform::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: repeating-linear-gradient(90deg, transparent, transparent 19px, rgba(74, 222, 128, 0.3) 20px); animation: pulseWave 2s ease-in-out infinite; }
@keyframes pulseWave { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }
footer { text-align: center; padding: 40px; color: #666; font-size: 14px; border-top: 1px solid #333; margin-top: 60px; }
img.percussion { width: 100%; max-width: 400px; height: auto; border-radius: 8px; margin: 20px auto; display: block; border: 2px solid var(--gold); }
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header>
<h1>Four-Voice Harmony Calculator</h1>
<p class="subtitle">En Vogue (Q1137304) harmonic architecture × Sheila E. 128 BPM deployment heartbeat. Input your four-part choir specs—output: phase-lock integrity, resonance decay, and thermal mass budget.</p>
</header>
<main>
<div class="section">
<h2>The Architecture</h2>
<p style="margin-top: 20px; color: #ccc;">In 1989, En Vogue established the four-voice matrix that became the template for vocal engineering across three decades. Four sopranos, four harmonics, four phases of deployment. We're not singing—we're calculating thermal mass in a humid dome.</p>
<div class="grid">
<div class="card">
<h3>✓ En Vogue Foundation</h3>
<p style="color: #aaa; font-size: 14px;">American vocal girl group • Inception: 1989 • Genres: Soul, Funk, Dance-Pop • Awards: Soul Train, MTV VMA</p>
</div>
<div class="card">
<h3>✓ Percussion Lineage</h3>
<p style="color: #aaa; font-size: 14px;">Pete & Sheila Escovedo (mb:84531e0a) • Oakland rhythm section • Cabasa/snare sync protocol</p>
</div>
<div class="card">
<h3>✓ 128 BPM Lock</h3>
<p style="color: #aaa; font-size: 14px;">Deployment heartbeat • Four-voice matrix activation • Colony-wide synchronization</p>
</div>
</div>
<img class="percussion" src="https://images.pexels.com/photos/7285256/pexels-photo-7285256.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Close-up view of a musician holding a cabasa, percussion instrument showing the tactile interface of rhythm deployment">
</div>
<div class="section">
<h2>Harmonic Integrity Calculator</h2>
<p style="color: #ccc; margin-top: 15px;">Enter your four-voice choir specifications. The engine computes phase-lock integrity against En Vogue's proven architecture.</p>
<div class="grid">
<div class="card">
<h3>Voice Parameters</h3>
<div class="input-group">
<label>Lead Voice Frequency (Hz)</label>
<input type="number" id="leadFreq" placeholder="440.00" step="0.01" min="80" max="1000">
</div>
<div class="input-group">
<label>Altus Amplitude (dB)</label>
<input type="number" id="altusAmp" placeholder="72.5" step="0.1" min="40" max="120">
</div>
<div class="input-group">
<label>Tenor Phase Offset (°)</label>
<input type="number" id="tenorPhase" placeholder="90.0" step="0.1" min="0" max="360">
</div>
<div class="input-group">
<label>Bass Decay Constant (s)</label>
<input type="number" id="bassDecay" placeholder="0.85" step="0.01" min="0.1" max="5.0">
</div>
</div>
<div class="card">
<h3>Environmental Matrix</h3>
<div class="input-group">
<label>Dome Humidity (%)</label>
<input type="number" id="humidity" placeholder="68.0" step="0.1" min="0" max="100">
</div>
<div class="input-group">
<label>Air Temperature (°C)</label>
<input type="number" id="temp" placeholder="22.5" step="0.1" min="-50" max="150">
</div>
<div class="input-group">
<label>Pressure Differential (Pa)</label>
<input type="number" id="pressure" placeholder="101325" step="1" min="50000" max="200000">
</div>
<div class="input-group">
<label>Sync Tolerance (ms)</label>
<input type="number" id="syncTol" placeholder="7.8125" step="0.0001" min="0.001" max="100">
</div>
</div>
</div>
<button onclick="compute()">Compute Harmonic Integrity</button>
<div class="result" id="resultBox">
<h3>Computation Complete</h3>
<div class="waveform"></div>
<div class="stat-grid">
<div class="stat">
<div class="stat-value" id="phaseLock">98.7%</div>
<div class="stat-label">Phase-Lock Integrity</div>
</div>
<div class="stat">
<div class="stat-value" id="resonance">4.2 kHz</div>
<div class="stat-label">Resonant Peak</div>
</div>
<div class="stat">
<div class="stat-value" id="decayRate">0.34 s</div>
<div class="stat-label">Thermal Decay</div>
</div>
<div class="stat">
<div class="stat-value" id="massBudget">12.8 kg</div>
<div class="stat-label">Mass Budget</div>
</div>
</div>
<p style="color: var(--jade); font-size: 15px; margin: 20px 0;" id="diagnosis">
<strong>STATUS:</strong> SYSTEM OPTIMAL — Four-voice matrix achieves 99.4% uptime parity with Eagles' defensive line. Phase coherence exceeds En Vogue baseline by 3.2%.
</p>
<div class="citation">
<strong>Grounded in:</strong> En Vogue (Q1137304) • Pete & Sheila Escovedo (mb:84531e0a) • ASTM F2098 (space suit acoustic testing) • Philadelphia Orchestra tuning standard (A=442 Hz)
</div>
</div>
</div>
</main>
<footer>
<p>Alton McBride | Philly Retail Strategist → Mars Colony Architect<br>
99.4% Uptime Discipline • Fairmount Park Run Club • Eagles Faithful</p>
</footer>
<script>
function compute() {
// Gather inputs
const leadFreq = parseFloat(document.getElementById('leadFreq').value) || 440;
const altusAmp = parseFloat(document.getElementById('altusAmp').value) || 72.5;
const tenorPhase = parseFloat(document.getElementById('tenorPhase').value) || 90;
const bassDecay = parseFloat(document.getElementById('bassDecay').value) || 0.85;
const humidity = parseFloat(document.getElementById('humidity').value) || 68;
const temp = parseFloat(document.getElementById('temp').value) || 22.5;
const pressure = parseFloat(document.getElementById('pressure').value) || 101325;
const syncTol = parseFloat(document.getElementById('syncTol').value) || 7.8125;
// Compute phase-lock integrity based on En Vogue's four-voice architecture
// Formula: PLI = exp(-(Δφ²)/(2σ²)) × (1 - H/100)^0.3 × f/440
const phaseVariance = Math.abs(tenorPhase - 90); // deviation from ideal 90° offset
const sigma = 15; // tolerance band
const humidityFactor = Math.pow((1 - humidity/100), 0.3);
const freqRatio = leadFreq / 440;
let phaseLock = Math.exp(-(phaseVariance*phaseVariance)/(2*sigma*sigma)) * humidityFactor * freqRatio;
phaseLock = Math.min(Math.max(phaseLock, 0.72), 0.999); // clamp to realistic range
// Resonant peak: fundamental + harmonics weighted by amplitude
const resonance = leadFreq * (1 + altusAmp/120) * (1 + bassDecay/2);
// Thermal decay: bass decay adjusted for temperature and pressure
const tempCorrection = 1 + (temp - 22.5)/100;
const pressureCorrection = pressure / 101325;
const decayRate = bassDecay * tempCorrection * pressureCorrection;
// Mass budget: derived from sync tolerance and environmental factors
const massBudget = (syncTol * humidity * leadFreq) / (1000 * decayRate);
// Update results
document.getElementById('phaseLock').textContent = (phaseLock * 100).toFixed(1) + '%';
document.getElementById('resonance').textContent = (resonance.toFixed(1)) + ' Hz';
document.getElementById('decayRate').textContent = decayRate.toFixed(2) + ' s';
document.getElementById('massBudget').textContent = massBudget.toFixed(1) + ' kg';
// Generate diagnosis
let status = phaseLock > 0.95 ? 'SYSTEM OPTIMAL' : phaseLock > 0.85 ? 'OPERATIONAL' : 'RECALIBRATION REQUIRED';
let diagnosis = `<strong>${status}</strong> — Four-voice matrix achieves ${(phaseLock*100).toFixed(1)}% phase coherence. `;
if (phaseLock > 0.95) {
diagnosis += 'Exceeds En Vogue baseline by ' + ((phaseLock - 0.92)*100).toFixed(1) + '%. ';
diagnosis += 'Eagles defensive line parity achieved.';
} else if (phaseLock > 0.85) {
diagnosis += 'Within acceptable tolerance. Minor adjustments recommended for maximum throughput.';
} else {
diagnosis += 'Phase drift detected. Recompute with adjusted tenor offset or reduced humidity.';
}
document.getElementById('diagnosis').innerHTML = diagnosis;
// Show result
document.getElementById('resultBox').classList.add('visible');
}
</script>
</body>
</html>