Get Started: Mapping Synthesizer Parameters to Harmonic Tension
npx @bluesprincemedia/thiri-mcp or hosted mcp.thiri.ai/mcp). New here? Play the instruments → This project links music theory and synthesis. By querying THIRI’s /v2/analyze endpoint, we get a tension value between 0.0 and 1.0.
This value is mapped directly onto Csound synth controls. As the progression enters high-tension dominant zones, the synth automatically detunes, opens the filter cutoff, and increases distortion.
Csound Score Mapping:
; Map tension coefficient to filter cutoff (P5 parameter)
i1 0 4 0.5 800 ; Tension low, warm tone
i1 4 4 0.5 4500 ; Tension high, bright, open filter
🤖 File an Issue for an Autonomous Coding Agent
This project requires setting up an external application or workflow environment. If you want an autonomous coding agent (like Claude Code) to implement it in your repository:
- Click here to open a pre-filled GitHub Issue on the repository
- Submit the issue to trigger your repository’s autonomous builder agent.
Alternatively, you can copy the raw agent prompt instruction below:
Task Context: Build a code project utilizing the THIRI Model Context Protocol (MCP) server. Prompt Instruction: Create a Csound instrument definition (.orc) and write a Node.js controller that feeds live MIDI streams to it. The controller must fetch harmonic tension coefficients dynamically from the THIRI MCP analyze_chord tool. Map the tension value (0.0 to 1.0) directly onto Csound channel parameters to open synth filter cutoffs and increase FM index values as tension builds.