Project page: https://freemidichords.com/fp30x
Microsoft Store: Get PianoPilot for FP-30X
A desktop application for macOS and Windows that lets you control your Roland FP-30X digital piano from your computer over standard USB MIDI or Bluetooth. Adjust sounds, layers, metronome, tuning, and deep piano parameters from a single window—without reaching for the instrument’s panel for every change.
Disclaimer: This is an independent, open-source project. It is not affiliated with, endorsed by, or sponsored by Roland Corporation. Roland and FP-30X are trademarks of their respective owners. If you publish this app in a store, verify naming and trademark use with qualified counsel and comply with each store’s policies.
- Full-screen comfort: Edit parameters on a large monitor with mouse, trackpad, or keyboard.
- Cross-platform: Same workflow on Mac and Windows (see Requirements).
- MIDI-native: Uses the same class of messages as the official documentation (SysEx, RPN/CC where applicable)—no replacement for the Roland Piano App on mobile; this targets desktop users who want a native PC/Mac controller.
| Item | Notes |
|---|---|
| OS | macOS 10.15+ or Windows 10/11 (64-bit) |
| Python | 3.11 or newer |
| FP-30X | Connected via USB, MIDI driver installed (OS usually provides this) |
| MIDI | The piano must appear as a MIDI input/output device to the OS |
Dependencies (see pyproject.toml): PySide6 (Qt UI), mido, python-rtmidi. On macOS, pyobjc-framework-Cocoa is used optionally for a correct Dock / app switcher icon when running from Python.
git clone <your-repo-url>
cd RolandFP30xController
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .Run the app:
roland-fp30x
# or
python -m roland_fp30x_controllerOptional verbose MIDI trace (stderr):
python -m roland_fp30x_controller --verboseOptional debug UI helpers (shows the Read Piano Values button):
python -m roland_fp30x_controller /debug- Connect the FP-30X with USB and power it on.
- Launch the app and choose the piano under Device (MIDI output). Use Connect.
- If MIDI input opens successfully, the app can sync tones and some state from the instrument.
- Explore the tabs below. Piano Designer and Note voicing are marked (Beta) and apply only under the conditions described in-app (e.g. Single mode, compatible piano tones).
- MIDI device list with Refresh, Connect / Disconnect.
- Optional MIDI input for reading state from the piano (tone, transpose, etc.).
- English and Spanish UI.
- Status line for connection, errors, and operation feedback.
--verbosemode to log MIDI traffic for troubleshooting.
- Master volume (SysEx; keeps the panel LEDs in sync with the instrument where supported).
- Master tuning (fine pitch).
- Key Touch (Fix / Light / Medium / Heavy).
- Brilliance.
- Transpose (Universal MIDI Master Coarse Tuning).
- Ambience depth.
- Metronome quick Start / Stop (probe/toggle) from the header area.
- Reset to defaults (local UI + send to piano when connected).
- Keyboard modes: Single, Split, Dual, Twin.
- Tone selection by category and preset (catalog aligned with FP-30X tone map / GM2-style banks).
- Split: left/right tones, balance, split point, octave shifts per side.
- Dual: two tones, balance, shifts per tone.
- Twin: tone + Pair / Individual mode.
- Sending tones uses Roland DT1-style encoding for mode-appropriate SysEx.
- BPM (tempo).
- Volume.
- Tone (e.g. Click, Electronic, Japanese, English).
- Rhythm pattern (8th, triplet, 16th, etc.).
- Beat / time signature grid matching FP-30X metronome presets.
- Start / Stop.
- Cabinet: lid position.
- String / Damper / Key Off resonance levels.
- Temperament and temperament key (multiple historical temperaments).
- Save to Piano to persist settings on the instrument (where supported).
- First-time guidance dialog when entering Designer-related tabs if mode/tones are not compatible.
- Per-key editing across the 88 keys (MIDI note range).
- Single note tuning (fine, in tenths of a cent in the UI logic).
- Single note character.
- Debounced sends to avoid MIDI flooding while dragging sliders.
- Persisting to hardware is done via Save to Piano on the Piano Designer tab, as noted in the in-app hint.
Authoritative MIDI behavior is documented in:
docs/FP-30X_MIDI_Imple_eng01_W.pdf— official FP-30X MIDI Implementation (primary spec).docs/midi_reference.md— consolidated SysEx address map and notes (includes reverse-engineered context from Roland Piano App 1.5.9 where applicable).
Application architecture (see CLAUDE.md):
midi/— Pure Python MIDI: messages, ports, parsers, tone catalog.ui/— PySide6 widgets, i18n, MIDI input worker.
pip install -e ".[dev]"
pytest
ruff check srcUse the blocks below as a starting point. Replace placeholders ([…]), add your privacy policy URL, support email, and screenshots. Review trademark and minimum age requirements before submission.
Name (30 characters max for display—verify in App Store Connect):
e.g. FP-30X Controller
Subtitle (30 characters max):
Desktop MIDI for FP-30X
Promotional text (170 characters max, editable without review):
Control your Roland FP-30X from a desktop application.
Description (up to 4000 characters):
Roland FP-30X Controller brings FP-30X editing to your Mac. Connect the piano via USB or bluetooth, select it as your MIDI device, and manage:
Piano settings
Master volume and fine tuning, key touch response, brilliance, transpose, and ambience depth—plus quick metronome start/stop.
Tones
Switch between Single, Split, Dual, and Twin. Browse presets by category (piano, E.piano, organ, strings, pads, synth, drums, GM2, and more). Adjust balances, split point, and octave shifts as modes require.
Metronome
Set BPM, volume, click character, subdivision pattern, and beat/time signature from a clear grid.
Piano Designer
Shape cabinet lid, resonances, temperament and root key. Save your setup back to the piano when supported.
The interface is available in English and Spanish.
Keywords (100 characters total, comma-separated, no spaces after commas in App Store Connect):
midi,piano,fp30x,keyboard,metronome,transpose,digitalpiano,controller,tuning,layers,roland,usb
(93 chars — 7 chars of headroom. Do not include the app name; Apple indexes it separately. Avoid competitor brand names.)
| Keyword | Rationale |
|---|---|
midi |
Core technology; high-volume search term |
piano |
Primary instrument type |
fp30x |
Exact model — captures buyers who already own the piano |
keyboard |
Broader instrument category |
metronome |
Prominent feature; users search for metronome apps |
transpose |
Specific parameter many pianists need |
digitalpiano |
Compound form to cover "digital piano" searches |
controller |
Describes the app role; common search term |
tuning |
Covers master tuning and note voicing use cases |
layers |
Dual/Split mode feature; differentiator |
roland |
Brand association (no trademark conflict with keywords) |
usb |
Clarifies connection method; filters out Bluetooth-only users |
Name:
FP-30X Controller
Subtitle:
Control MIDI para FP-30X
Promotional text (170 characters max, editable without review):
Controla tu Roland FP-30X desde una aplicación de escritorio.
Description (up to 4000 characters):
Roland FP-30X Controller lleva la edición del FP-30X a tu Mac. Conecta el piano por USB o bluetooth, selecciónalo como dispositivo MIDI y gestiona:
Ajustes del piano
Volumen maestro y afinación fina, respuesta al tacto, brillo, transposición y profundidad de ambiente, más arranque rápido del metrónomo.
Timbres
Cambia entre los modos Single, Split, Dual y Twin. Explora presets por categoría (piano, piano eléctrico, órgano, cuerdas, pads, synth, batería, GM2 y más). Ajusta balances, punto de división y transposiciones de octava según el modo.
Metrónomo
Configura BPM, volumen, tipo de click, patrón de subdivisión y compás desde una cuadrícula clara.
Piano Designer
Moldea la posición de la tapa, resonancias, temperamento y tónica. Guarda la configuración en el piano cuando el instrumento lo permite.
La interfaz está disponible en español e inglés.
Keywords (100 characters total, sin espacios tras las comas en App Store Connect):
midi,piano,fp30x,keyboard,metronome,transpose,digitalpiano,controller,tuning,layers,roland,usb
(93 chars — 7 chars de margen. No incluir el nombre de la app; Apple lo indexa por separado.)
| Keyword | Justificación |
|---|---|
midi |
Tecnología central; término de búsqueda de alto volumen |
piano |
Tipo de instrumento principal |
fp30x |
Modelo exacto — capta a compradores que ya tienen el piano |
keyboard |
Categoría de instrumento más amplia |
metronome |
Función destacada; los usuarios buscan apps de metrónomo |
transpose |
Parámetro específico muy buscado por pianistas |
digitalpiano |
Forma compuesta para cubrir búsquedas de "digital piano" |
controller |
Describe el rol de la app; término de búsqueda común |
tuning |
Cubre afinación maestra y Note voicing |
layers |
Función Split/Dual; diferenciador frente a apps genéricas |
roland |
Asociación de marca (sin conflicto de marca en keywords) |
usb |
Aclara el método de conexión; filtra usuarios solo Bluetooth |
Support URL:
https://freemidichords.com/fp30x
Marketing URL (optional):
https://freemidichords.com/fp30x
Privacy policy URL:
https://sites.google.com/d/1e04u-XgmzXTBorPbcV9R-RX34QansCTX/p/1YuchH8tmmW80RuHM-8RiOrg9mcs86Y5u/edit
What’s to Test (for App Review):
- Connect Roland FP-30X via USB.
- Grant no special permissions unless future versions add microphone, files, or network.
- Select MIDI port and Connect; adjust a slider and confirm the piano responds.
- Note: Piano Designer / Note voicing require compatible mode (Single + supported tones)—dialog explains this.
Age rating: Typically 4+ if no user-generated content, no web browsing, and no social features—confirm with Apple’s questionnaire.
Suggested product name (check trademark rules):
FP-30X MIDI Controller or [YourBrand] for FP-30X
Short description (≤ 500 characters recommended):
Control your Roland FP-30X digital piano from Windows: choose tones, layers, metronome, tuning, ambience, and advanced Piano Designer options over USB MIDI—comfortable full-screen editing without relying on the small onboard display.
Long description:
Roland FP-30X Controller is a desktop companion for musicians who use an FP-30X connected to a PC. Pick MIDI input and output, then adjust:
- Piano settings: master volume and tuning, key touch, brilliance, transpose, ambience
- Tones: Single, Split, Dual, and Twin modes with category-based preset selection, balances, split point, and octave shifts
- Metronome: tempo, volume, click type, rhythm pattern, and time signature
- Piano Designer (Beta): cabinet lid, string/damper/key-off resonance, temperament and key, save to instrument
- Note voicing (Beta): per-key tuning and character
The app speaks standard USB MIDI. An optional verbose mode helps diagnose connection issues. English and Spanish interface.
Search keywords (Microsoft Store uses free-form tags; more flexibility than App Store):
MIDI, FP-30X, Roland piano, digital piano, controller, metronome, transpose, USB MIDI, tuning, layers, keyboard, music production
| Keyword | Rationale |
|---|---|
MIDI |
Core technology |
FP-30X |
Exact model — high-intent buyers |
Roland piano |
Brand + category combination |
digital piano |
Broad category |
controller |
App role descriptor |
metronome |
Prominent feature |
transpose |
Specific parameter |
USB MIDI |
Connection method; filters out Bluetooth-only users |
tuning |
Master tuning and note voicing |
layers |
Split/Dual mode differentiator |
keyboard |
Instrument category |
music production |
Reaches broader musician audience |
Capabilities / notes for submission:
- Declares use of MIDI devices (USB).
- No account required unless you add cloud features later.
- Add Privacy policy URL (even if you only process data locally).
What’s new (template):
Initial release on Microsoft Store. [List fixes after updates.]
Short description (≤ 500 characters recommended):
Controla tu piano digital Roland FP-30X desde Windows: elige timbres, capas, metrónomo, afinación, ambiente y las opciones avanzadas del Piano Designer por USB MIDI. Edición cómoda en pantalla completa sin depender del pequeño panel del instrumento.
Long description:
Roland FP-30X Controller es el compañero de escritorio para músicos que usan un FP-30X conectado al PC. Selecciona entrada y salida MIDI y ajusta:
- Ajustes del piano: volumen maestro y afinación, tacto, brillo, transposición, ambiente
- Timbres: modos Single, Split, Dual y Twin con selección de presets por categoría, balances, punto de división y transposiciones de octava
- Metrónomo: tempo, volumen, tipo de click, patrón rítmico y compás
- Piano Designer (Beta): tapa del cabinet, resonancias, temperamento y tónica, guardar en el instrumento
- Note voicing (Beta): afinación y carácter por tecla
La app usa USB MIDI estándar. Un modo verbose opcional ayuda a diagnosticar problemas de conexión. Interfaz en español e inglés.
Search keywords (Microsoft Store — formato libre, más flexibilidad que App Store):
MIDI, FP-30X, Roland piano, piano digital, controlador, metrónomo, transposición, USB MIDI, afinación, capas, teclado, producción musical
| Keyword | Justificación |
|---|---|
MIDI |
Tecnología central |
FP-30X |
Modelo exacto — compradores de alta intención |
Roland piano |
Marca + categoría |
piano digital |
Categoría amplia |
controlador |
Describe el rol de la app |
metrónomo |
Función destacada |
transposición |
Parámetro específico muy buscado |
USB MIDI |
Método de conexión; filtra usuarios solo Bluetooth |
afinación |
Afinación maestra y Note voicing |
capas |
Diferenciador Split/Dual frente a apps genéricas |
teclado |
Categoría de instrumento |
producción musical |
Alcanza a músicos con perfil productor |
What’s new (template):
Versión inicial en Microsoft Store. [Listar correcciones tras actualizaciones.]
- Project code: LICENSE (MIT).
- Bundled libraries (Qt/PySide6, mido, etc.): THIRD_PARTY_NOTICES.md, including LGPL-3.0 notes for Qt/PySide6 when you distribute binaries.
- Store / frozen builds: see docs/packaging_store.md.