PulseStage — MIDI Studio Operator Guide

Version 1.1.0 · Windows desktop operator guide

First session · no musical hardware needed
  1. Install Setup.exe and open the PulseStage shortcut.
  2. Click Connect keybed, then click and release a piano key. RECEIVED counts the note messages.
  3. Click Connect receiver. Send a preset or controller from the command station and watch the reference pedal respond.
  4. Click the small metal Footswitch button: the amber light and ON/OFF text confirm CC64 receipt.
  5. Open Test bench for guided checks. Internal practice requires no loopMIDI or MIDI-OX.

MIDI carries instructions. This lab is silent; it does not synthesize audio.

1. What PulseStage Does (And What It Does Not)

PulseStage is a dedicated Windows application engineered for stage musicians, keyboardists, guitarists, and studio engineers who need reliable, direct control over their MIDI equipment. It manages preset changes, continuous controllers, master tempo clocks, and custom performance sequences while offering real-time diagnostic monitoring.

What PulseStage Is:

What PulseStage Is NOT:

2. Installation and First Launch

PulseStage is distributed as a self-contained Windows setup executable: PulseStage-Setup-1.1.0-x64.exe.

3. Non-Musician MIDI Primer

ConceptWhat It DoesReal-World Analogy
Note On / OffTriggers and releases a musical pitch with velocity.Pressing and releasing a key on a piano.
Program Change (PC)Switches the active sound patch or preset.Selecting "Preset 24: Overdrive Lead" on a pedal.
Bank Select (CC0/CC32)Expands presets into multiple banks of 128.Flipping to a new folder of presets.
Control Change (CC)Continuous controller values (0–127).Adjusting an expression pedal or volume knob.
MIDI Clock24 PPQN pulses synchronizing tempo.A digital conductor's metronome.

4. Hardware Discovery & Signal Direction

Connect your USB-MIDI keyboard or USB-MIDI DIN interface to Windows. In PulseStage's top connection bar, click Refresh MIDI ports and select your device.

Signal Direction:
RX (Receive): Listens to incoming data from hardware controllers.
TX (Transmit): Sends commands and clock pulses to your equipment.
No Automatic Thru: Incoming notes are not automatically echoed to the output to prevent stage feedback loops.

5. Dual-Mode Practice Lab

PulseStage provides two distinct practice and testing modes:

6. Console Tour & Controls

The Studio interface includes:

7. Event Monitor & Diagnostics

The Event Monitor records, timestamps, and decodes every MIDI packet. Includes real-time controller graphs, clock interval timing traces, and export options (JSON, CSV, formatted text).

8. Test Bench: Receiver-Verified Diagnostics

Four automated tests verify: Note On/Off, Preset Change, Parameter Control, and 120 BPM Clock tracking. Tests only PASS when confirmed receipt bytes arrive at the receiver.

9. Performance Actions & Utilities

Create and execute multi-step macros with ordered steps and requested millisecond delays. Pitch bend (14-bit bipolar), Channel Pressure, and raw SysEx tools are built-in.

10. Troubleshooting & FAQ

Consult the guide for port conflict resolution, driver restarts, and single-instance handling.

Reference footswitch

The metal footswitch displays received CC64 status. Its amber lamp and ON/OFF readout follow MIDI received by the reference receiver. Clicking the metal button alternates 127 and 0 to the reference receiver only. OFFLINE means disconnected. Consult the device manual for real hardware mappings.

Desktop installation and technical notes

Desktop architecture and qualification

PulseStage 1.1 bundles Python, its application packages and a Qt WebEngine renderer. Edge, Chrome, WebView2, Python and pip are not required as separately installed applications. The desktop shell loads packaged local assets through an internal resource scheme and calls the MIDI engine through Qt WebChannel IPC. It does not start Uvicorn, an HTTP server, a WebSocket server or an application TCP listening port. Users never enter a localhost address or IP.

The renderer is still web technology inside a native window. Bundling that engine makes the installer and installed footprint larger than the former browser-dependent build. Chromium renderer helper processes belong to PulseStage; they are not an installed browser. Standard Windows system libraries and supported graphics drivers remain operating-system prerequisites. Keep Qt/Chromium patched in future releases.

Install and open

Install `PulseStage-Setup-1.1.0-x64.exe`, then use the PulseStage shortcut. Windows 10/11 x64 is the intended target; qualification is limited to the recorded test environment. The installer contains the UI engine and requires no renderer download. The build is unsigned unless accompanied by a verified signing record.

The title bar belongs to PulseStage. Closing the window shuts down the MIDI engine and releases owned notes/handles. Launching a second copy for the same user-data directory activates the existing window using a user-scoped Windows named pipe. There is no browser-process lifetime dependency or port-conflict selection. Help > User guide opens the offline guide inside the application.

Settings and actions remain under `%APPDATA%\PulseStage\config\user_config.json`. Renderer cache/state is under `%APPDATA%\PulseStage\renderer`; logs are under `logs`. Export opens a native Save dialog, initially in the `exports` folder. Installation/upgrade must preserve these user files. The desktop renderer's theme storage is separate from the old external browser's storage; choose the theme once in the new window. The dedicated desktop saves the theme through native Windows settings (HKCU/Software/PulseStage/PulseStage), avoiding browser local storage.

Practice without hardware or extra drivers

Open Test bench and use Internal Practice Lab. Connect the keybed and reference receiver. No loopMIDI or MIDI-OX installation is needed for this mode. The paths are separate: keybed -> internal input monitor; command station -> internal reference receiver. Incoming notes are not automatically forwarded to the chosen output.

Run the guided note, preset, parameter and clock checks. They require received evidence in the active transport. A changing editor value alone is not a send: click Send command. The reference knobs display received settings. The metal footswitch sends a CC64 test message; its lamp and readout confirm received state. They do not process audio. The keybed has adjustable velocity; this is not a pressure-sensitive physical piano.

Switch to Windows loopMIDI mode only for independent OS-port inspection or inter-application testing. Create `PulseStage Keyboard` and `PulseStage Pedal Test` in separately installed/running loopMIDI, then connect. The mode switch stops engine activity, releases notes and clears input/output selections. Missing ports produce an error. Never describe internal practice as Windows-driver or physical-hardware qualification.

Physical equipment

Compatible USB-MIDI hardware uses Windows-exposed MIDI ports; some devices need their manufacturer's driver. DIN equipment needs a USB-MIDI interface/cables. Select the actual port, match channel and documented PC/CC/bank mapping, and enable external MIDI clock if supported. Direct hardware operation does not need loopMIDI or MIDI-OX. An ordinary audio instrument/cable/footswitch is not automatically a MIDI endpoint. Sound requires the instrument's own sound generator and audio path. Physical hardware was not verified in this desktop conversion.

Development and build

Normal source launch: `python run_app.py` after installing the pinned build environment. Developer tools are not operator prerequisites. For reproducible packaging, install `requirements-build.lock`, run `python -m PyInstaller --clean --noconfirm pulsestage.spec`, then compile `installer.iss` with Inno Setup 6. Build files resolve the checkout directory instead of hard-coding a developer drive. Source-only HTTP development is explicitly separate: `python -m src.launcher.development_server`; it is not started by the desktop product.

`PulseStage.exe --self-check --report result.json` exercises the socket-free application transport with temporary configuration and simulated hardware. It checks internal RX note-on/off and received PC24, and shuts down. It is not a visual renderer, installer or physical-device test.

Known limits

Actual physical instrument response, a clean Windows VM without any browsers installed, long-duration physical timing, broad accessibility/high-DPI coverage and every supported GPU remain separate qualification work. The architecture does not discover/launch installed browsers or expose a network-control server in desktop mode. The existing video predates this conversion and describes the old loopMIDI-based demo; follow this guide for the new internal default. Do not distribute that video as an exact 1.1 installation walkthrough without updating it.