🔄 Shepard-Ton — Die unendliche Glissando-Illusion
Ein Shepard-Ton stapelt oktavgetrennte Sinustöne unter einer sich über die Zeit verschiebenden Gauß'schen Spektralhülle: die wahrgenommene Tonhöhe steigt endlos, erreicht aber nie den Gipfel — eine klangliche Penrose-Treppe.
Über diese Simulation
Dieser Simulator rendert einen Shepard-Ton: einen Stapel von Sinusoszillatoren, jeder genau eine Oktave voneinander entfernt, deren Lautstärke durch eine Gauß'sche Glockenkurve im log₂-Frequenzraum geformt wird. Während die Grundfrequenz nach oben gleitet und modulo einer Oktave zurückspringt, verblassen Partialtöne am oberen Ende der Kurve genau dann, wenn neue am unteren Ende einblenden — sodass das Ohr stets dasselbe mittlere Register hört, obwohl die Tonchroma weiter steigt. Die Web Audio API steuert jeden Partialton über einen eigenen OscillatorNode und GainNode, die live zum Ausgang summiert werden.
🔬 Was gezeigt wird
Oktavgetrennte Sinuspartialtöne (f₀·2ᵏ) werden als rotierendes Tonhöhenrad, ein scrollendes Spektrogramm und ein Live-Amplituden-Balkendiagramm dargestellt. Die Gauß'sche Hüllkurve gleitet über das Balkenfeld und hält dabei stets den lautesten Partialton nahe demselben logarithmischen Frequenzzentrum — der Mechanismus hinter der Illusion des endlosen Aufstiegs.
🎮 Bedienung
Drücken Sie ▶ Play, um die Oszillatoren zu starten. Speed (0,1×–4,0×) legt fest, wie schnell die Grundfrequenz steigt; Partialtöne N (3–12) fügt Oktavebenen hinzu oder entfernt sie; Gauß'sches σ (0,5–3,0) verbreitert oder verengt die Hülle; Grundfrequenz (55–440 Hz) legt den tiefsten Partialton fest; ↑/↓ Dir kehrt steigend/fallend um; ⟲ Reset stellt alles auf still.
💡 Wussten Sie schon?
Der Psychologe Roger Shepard entwickelte diese Illusion 1964, um zu zeigen, dass Tonchroma (Notenname) und Tonhöhenlage (Register) unabhängig voneinander wahrgenommen werden können. Hans Zimmer nutzte einen ansteigenden Shepard-Ton, um die unerbittliche Batpod-Verfolgungsjagd in The Dark Knight zu vertonen.
Häufig gestellte Fragen
Wie viele Oszillatoren verwendet dieser Simulator?
Standardmäßig acht (N = 8), jeder genau eine Oktave über dem vorherigen gestimmt: f₀, 2f₀, 4f₀ … bis zu 2⁷f₀. Das Ziehen des Partialtöne-N-Reglers ändert dies in Echtzeit von 3 auf 12 Ebenen und baut die Oszillatorbank sofort neu auf.
Was steuert der Gauß'sche σ-Regler eigentlich?
σ legt die Breite der glockenförmigen Hülle im log₂-Frequenzraum fest, die die Verstärkung jedes Partialtons gewichtet. Ein kleines σ (0,5) macht nur ein oder zwei Partialtöne gleichzeitig hörbar; ein großes σ (3,0) verteilt die Lautstärke auf nahezu alle, was die Illusion abschwächt.
Warum springt die Grundfrequenz zurück, statt endlos zu steigen?
Jeder Animationsframe multipliziert die Grundfrequenz mit einem kleinen geschwindigkeitsabhängigen Faktor; sobald sie das Doppelte ihres Startwerts erreicht, wird sie wieder halbiert (und umgekehrt beim Absteigen). Dieser Modulo-eine-Oktave-Sprung, verborgen unter der Gauß'schen Überblendung, lässt die Tonhöhe scheinbar ohne Ende steigen.
Was ist der Unterschied zwischen Speed und der Direction-Taste?
Speed (0,1×–4,0×) legt fest, wie viele Oktaven pro Sekunde die Grundfrequenz durchläuft, während ↑/↓ Dir einfach das Vorzeichen dieses Sweeps umkehrt und so zwischen einem endlos steigenden und einem endlos fallenden Glissando wechselt, ohne dessen Geschwindigkeit zu ändern.
Kann ich sehen, welche Partialtöne am meisten zum Gehörten beitragen?
Ja. Das Balkendiagramm der Partialton-Amplituden zeigt die aktuelle Verstärkung und Frequenz jedes Oszillators in Hertz, und das Tonhöhenrad stellt die Chroma jedes hörbaren Partialtons als farbigen Punkt dar, sodass sich leicht verfolgen lässt, welche Frequenzen zu einem bestimmten Zeitpunkt dominieren.
Ein Shepard-Ton stapelt oktavgetrennte Sinustöne unter einer sich über die Zeit verschiebenden Gauß'schen Spektralhülle: die wahrgenommene Tonhöhe steigt endlos, erreicht aber nie den Gipfel — eine klangliche Penrose-Treppe.
3D · Three.js / WebGL-Renderer · Ziel 60 FPS · läuft vollständig clientseitig, keine Installation nötig