Site preferences

Composition

Harmony & Motif

Audition harmony, voice leading, and motivic transformation.

MIDI Keyboard

Polyphonic keyboard with sustained browser synthesis

Keyboard
Register
C3–B4
Pedal & safety
Engine Organ · sound starts with the first note Sounding No notes Input Touch · computer keyboard

ZM lower octave QU upper octave Arrow keys move piano-key focus Tap Sustain to build a chord one note at a time

A steady additive organ that keeps harmonic lines distinct.

Notes

Play the on-screen keys with a mouse, pen, or touch; independent pointers can hold several notes at once. The printed QWERTY map turns the computer keyboard into the same set of notes. It follows physical key positions (KeyboardEvent.code) so that the playing shape stays stable across keyboard layouts, even when the characters printed on those keys differ.

If the browser offers Web MIDI, grant access to connected inputs to play the same synthesizer from a hardware controller. MIDI carries note and controller events, not audio. Note-on and note-off messages therefore open and release local synth voices; velocity shapes their level, and the sustain pedal extends released notes. Pointer, QWERTY, and MIDI input can be combined, and the panic control releases every held voice.

Every sound is synthesized locally with the Web Audio API. The timbres are deliberately basic and sustain cleanly so that intervals, spacing, and voice leading remain audible for as long as needed. They are listening aids rather than sampled imitations of acoustic instruments; changing a preset changes the spectrum and envelope, not the pitches being held.

No microphone is requested, no MIDI output is sent, and this tool does not upload or save notes, controller messages, or recordings. MIDI access is handled by the browser’s permission system, and ordinary input access is requested without System Exclusive (SysEx) messages. Device enumeration can itself reveal identifying hardware information, so access begins only after an explicit request.

Web MIDI is optional: it requires browser support, a secure context, user permission, and a connected device. If any of those is absent, the pointer and QWERTY keyboard still work. QWERTY input has no independent velocity or aftertouch, touch behavior and audio latency vary by device, and browsers may suspend audio until the first user gesture. This is not a sequencer, recorder, General MIDI sound module, Standard MIDI File player, or MIDI output utility; it is a compact polyphonic instrument for auditioning harmony.

以滑鼠、觸控筆或觸控操作畫面上的琴鍵;各個獨立指標可以同時按住多個音。 琴鍵上印出的 QWERTY 對照會把電腦鍵盤變成同一組音高。對照採用實體按鍵位置 (KeyboardEvent.code),因此即使不同鍵盤配置在按鍵上印出不同字符,演奏的 手形仍保持一致。

若瀏覽器提供 Web MIDI,可在授予權限後使用已連接的輸入裝置,以硬體控制器 演奏同一套合成器。MIDI 傳送的是音符與控制事件,而非聲音本身;因此鍵下與鍵起 訊息會開啟及釋放本機合成聲部,力度決定音量,延音踏板則延續已放開的音。指標、 QWERTY 與 MIDI 輸入可以混合使用;緊急停止控制會釋放所有仍在發聲的聲部。

所有聲音都以 Web Audio API 在本機瀏覽器內合成。這些音色刻意保持基本,並能 乾淨地持續發聲,讓音程、音域配置與聲部進行可以按需要聽得足夠久。它們是聆聽 輔助,而非對真實樂器的取樣模仿;切換音色改變的是頻譜與包絡,不會改變正在 按住的音高。

本工具不要求麥克風權限、不傳送 MIDI 輸出,也不會上傳或保存音符、控制訊息或 錄音。MIDI 存取由瀏覽器的權限系統處理,普通輸入存取不要求系統專屬訊息 (SysEx)。列舉裝置本身可能透露可識別身分的硬體資訊,因此只有在使用者明確 提出要求後才會開始存取。

Web MIDI 是可選功能:它需要瀏覽器支援、安全來源、使用者權限及已連接的裝置。 其中任何一項缺少時,指標與 QWERTY 鍵盤仍可使用。QWERTY 輸入沒有獨立力度或 觸後,觸控行為與聲音延遲會因裝置而異,瀏覽器亦可能在第一次使用者操作之前 暫停音訊。本工具不是音序器、錄音機、General MIDI 音源、標準 MIDI 檔案播放 器或 MIDI 輸出工具;它是一件用於試聽和聲的精簡多聲部樂器。

References

Melodic Transformation

Transposition, inversion, retrograde, rotation

Material

Notes

Load a series of notes with octaves (C4 D4 F4 E4 G4). Then apply operations in any order: transposition by semitones, inversion around an explicit axis note, retrograde, rotation. Every step is appended to the chain readout (T+2 → I(C4) → R), and Undo pops one step — the chain is the document. The graph shows the original contour dashed and the current result in red; both can be played at a neutral pulse.

Operations act on absolute pitch (MIDI), not pitch classes: inversion around C4 means registral mirroring through middle C, the strict dodecaphonic sense. For pc-space reflection — register preserved, only chroma flipped — use Tool No. 12, which exists precisely because conflating the two domains is the classic error. Double inversion around the same axis restores the original; the test suite holds the operations to their group properties.

Grander operations from the proposal — contour-preserving remaps, spacing normalization, anchor-note preservation — are each a composite of the four primitives plus judgment, and judgment should stay with the composer; a tool that “normalizes spacing” makes compositional decisions silently. The provenance chain, by contrast, is pure tooling value: undo, reproducibility, and a sketch diary at once. This is also the module the other tools build on — the reflection and serial operations are its special cases.

Relevant repertoire: the contrapuntal canon from Bach (Musical Offering) through Webern’s mirror forms; Hindemith, Ludus Tonalis (postlude = prelude inverted and retrograded); Dallapiccola and Berio; anyone writing canons by inversion at the fifth still does exactly this arithmetic.

載入一串帶八度的音符(C4 D4 F4 E4 G4)。然後以任意順序施加操作:以 半音移位、繞某明確軸音倒影、逆行、旋轉。每一步都會附加到操作鏈讀數上 (T+2 → I(C4) → R),Undo 則彈出一步——操作鏈即是文件。圖以虛線 顯示原型輪廓、以紅線顯示當前結果;兩者都能以中性脈衝播放。

操作作用於絕對音高(MIDI),而非音級:繞 C4 倒影意指以中央 C 為軸的 音區鏡射,即嚴格十二音的意義。若要在音級空間反射——保留音區、只翻轉 音名——請用第 12 號工具,它的存在正因為混淆這兩個範疇是典型的錯誤。 繞同一軸兩次倒影會還原原型;測試套件對這些操作的群性質加以檢核。

提案中更宏大的操作——保輪廓的重映射、音距正規化、錨音保留——每一個都是 那四種基本操作加上判斷的合成,而判斷應留給作曲者;一個會「正規化音距」 的工具是在默默地替你做作曲決定。相對地,這條來源鏈是純粹的工具價值: 復原、可重現性,與一本草稿日記,三者兼具。這也是其他工具所倚賴的模組 ——反射與序列操作都是它的特例。

相關曲目:自 Bach(Musical Offering)到 Webern 鏡像形式的對位卡農; Hindemith,Ludus Tonalis(終曲 = 前奏的倒影兼逆行);Dallapiccola 與 Berio;任何以五度倒影寫卡農的人,做的仍正是這套算術。

References

  • Lewin, D. (1987). Generalized Musical Intervals and Transformations. Yale University Press.
  • Morris, R. (1987). Composition with Pitch-Classes. Yale University Press.
  • Straus, J. N. (2016). Introduction to Post-Tonal Theory (4th ed.). Norton.
  • Mead, A. (1994). An Introduction to the Music of Milton Babbitt. Princeton University Press.
  • Bach, J. S. (1747). Musikalisches Opfer, BWV 1079.

Neo-Riemannian Transformations

L, P, R, S, N chains; hexatonic cycles

Triad & chain
Notes

Choose a starting triad and type a chain — letters P, L, R, S, N in any order (PLR, LPLPLP…). The table shows every intermediate triad, its pitch classes, and the common tones retained from the previous step, which is the point of the theory: these operations move triads while holding the maximum in place. Hexatonic cycle runs the alternating P–L cycle from your triad (six chords, back to the start). Playback uses nearest-voice-leading realization — common tones stay put in the audio, semitone moves sound as semitones.

Conventions: P exchanges C↔c (parallel); R sends C→a, c→E♭ (relative); L sends C→e, c→A♭ (leittonwechsel); S is the slide C→c♯ (shared third); N the nebenverwandt C→f. The domain is exactly the 24 consonant triads, and the tool rejects anything else — that restriction is the theory, not a limitation: the parsimonious behavior of L, P, and R is a special algebraic fact about how the major/minor triad sits inside the chromatic 12, and extending the buttons to seventh chords would require a different theory. Each of P, L, R, S is an involution — applied twice it returns home — and the tests enforce this.

A Tonnetz/graph visualization was considered and set aside: the step table with common-tone accounting contains more analytic information than a lattice rendering of the same six chords.

Relevant repertoire and literature: Cohn on Schubert; Wagner (the Tarnhelm progression), Franck, and late-Romantic chromaticism generally; in contemporary pan-triadic writing, Adès (Asyla, slow movement), John Adams’s harmonic drift, and much post-tonal film scoring — the hexatonic cycle is the standard map of triadic motion without functional syntax.

選一個起始三和絃,鍵入一條鏈——P、L、R、S、N 各字母任意順序(PLRLPLPLP…)。表格顯示每一個中間三和絃、其音級,以及自前一步保留的 共同音,這正是該理論的要點:這些操作在移動三和絃的同時,把最多的音 保持原位。Hexatonic cycle 自你的三和絃運行 P–L 交替循環(六個 和絃,回到起點)。播放採用最近聲部進行的實現——共同音在音響中留在 原位,半音的移動就聽成半音。

約定:P 交換 C↔c(同主音);R 把 C→a、c→E♭(關係調);L 把 C→e、 c→A♭(導音交換,leittonwechsel);S 是滑移 C→c♯(共享三音);N 是 nebenverwandt,C→f。其論域恰為 24 個協和三和絃,工具會拒絕其餘 一切——這個限制就是理論本身,而非侷限:L、P、R 的簡約行為,是大/小 三和絃如何嵌入半音十二之中的一項特殊代數事實,把這些按鈕擴展到七和絃 需要一套不同的理論。P、L、R、S 各自都是對合——施加兩次便回到原處—— 測試對此加以強制。

一個 Tonnetz/圖視覺化曾被考慮而擱置:帶共同音計帳的步驟表,比同樣 那六個和絃的格狀繪製包含更多分析資訊。

相關曲目與文獻:Cohn 論 Schubert;Wagner(隱身盔進行)、Franck,以及 晚期浪漫派的半音化整體;在當代泛三和絃寫作中,有 Adès(Asyla,慢 樂章)、John Adams 的和聲漂移,以及大量後調性電影配樂——六音循環是 無功能語法之三和絃運動的標準地圖。

References

  • Cohn, R. (1996). "Maximally Smooth Cycles, Hexatonic Systems, and the Analysis of Late-Romantic Triadic Progressions." Music Analysis 15(1), 9–40.
  • Cohn, R. (1997). "Neo-Riemannian Operations, Parsimonious Trichords, and Their Tonnetz Representations." Journal of Music Theory 41(1), 1–66.
  • Cohn, R. (2012). Audacious Euphony: Chromaticism and the Triad's Second Nature. Oxford University Press.
  • Lewin, D. (1987). Generalized Musical Intervals and Transformations. Yale University Press.
  • Gollin, E., & Rehding, A., eds. (2011). The Oxford Handbook of Neo-Riemannian Music Theories. Oxford University Press.

Advanced Reflection

Negative harmony and registral inversion

Reflection
Notes

Enter material as note names with octaves. Choose the domain: pitch classes reflects chroma and keeps each note near its original register; absolute pitch mirrors the staff upside-down around an explicit axis note. In pc mode, either pick the “negative harmony in key of X” preset — for C this is the axis between E♭ and E (sum 7), sending C→G, D→F, E→E♭, the mapping popularized from Levy’s book — or set any axis sum 0–11 manually. The chromatic mapping table shows the whole involution at once; fixed points (even sums only) are highlighted.

Reflection in pc space is the standard inversion operator I_s: pc ↦ s − pc (mod 12). Even s fixes two pitch classes (s/2 and s/2+6); odd s fixes none — the table makes this visible. Double reflection is always identity; the tests enforce it in both domains.

On the skepticism the source proposal already voiced: “negative harmony” as an internet phenomenon is a single inversion operator under a new name. The substantive content is Levy’s harmonic dualism — which concerns functional meaning under reflection, not just pitch mapping — and the general I_s operator, which post-tonal theory has owned for a century. So the engine is general (twelve axes, two domains) and the famous mapping is a labeled preset, no more privileged than I₀. For the dualist theory itself, read Levy and Harrison; this tool supplies the arithmetic and the audition.

Relevant repertoire and literature: Riemann’s dualism and its rehabilitation in Harrison (1994); Bartók’s axis thinking in Lendvai’s account; strict-inversion practice from Bach’s Musical Offering table canon to Webern’s mirror canons; recently, Steve Coleman and Jacob Collier put the C-axis preset into wide circulation.

以帶八度的音名輸入素材。選擇論域:音級會反射音名並使每個音留在接近 原本的音區;絕對音高則繞某明確軸音把譜表上下鏡射。在音級模式下,可選 「X 調的負和聲」預設——對 C 而言,軸在 E♭ 與 E 之間(和為 7),把 C→G、D→F、E→E♭,即由 Levy 一書推廣開來的映射——或手動設定任意 和為 0–11 的軸。半音映射表一次顯示整個對合;固定點(僅偶數和才有) 會被標亮。

音級空間的反射即標準倒影算子 I_s:pc ↦ s − pc(mod 12)。偶數 s 固定 兩個音級(s/2 與 s/2+6);奇數 s 一個也不固定——表格把這點顯示出來。 兩次反射恆為恆等;測試在兩個論域都加以強制。

關於原始提案早已表達的懷疑:作為網路現象的「負和聲」,不過是同一個 倒影算子換了個新名字。有實質內容的是 Levy 的和聲二元論——它關乎反射 之下的功能意義,而不只是音高映射——以及一般的 I_s 算子,後者後調性 理論已掌握逾一世紀。因此引擎是通用的(十二個軸、兩個論域),而那個 著名的映射只是一個貼了標籤的預設,並不比 I₀ 更受偏待。至於二元論本身, 請讀 Levy 與 Harrison;本工具提供的是算術與試聽。

相關曲目與文獻:Riemann 的二元論及其在 Harrison(1994)中的復權; Lendvai 對 Bartók 軸心思維的論述;自 Bach Musical Offering 表式 卡農到 Webern 鏡像卡農的嚴格倒影實踐;晚近則有 Steve Coleman 與 Jacob Collier 把 C 軸預設帶入廣泛流傳。

References

  • Levy, E. (1985). A Theory of Harmony. SUNY Press.
  • Harrison, D. (1994). Harmonic Function in Chromatic Music: A Renewed Dualist Theory and an Account of Its Precedents. University of Chicago Press.
  • Lendvai, E. (1971). Béla Bartók: An Analysis of His Music. Kahn & Averill.
  • Straus, J. N. (2016). Introduction to Post-Tonal Theory (4th ed.). Norton.
  • Rehding, A. (2003). Hugo Riemann and the Birth of Modern Musical Thought. Cambridge University Press.