TBbard

A specialized MIDI parser, converter, and player

Technologies

  • Java
  • Swing
  • MIDI
  • JNI

TBbard

TBbard is a desktop automation tool for Final Fantasy XIV’s in-game music performance system. It decodes traditional MIDI files, adapts their notes to the game’s three-octave instrument range, and then orchestrates the required keyboard input in real time.

Workflow

  1. Import & Decode — MIDI files are parsed into an intermediate representation tailored to FFXIV Bard’s custom scripting language.
  2. Adaptation — Notes outside the game’s range are remapped to the optimal octave, velocities are normalised, and frame-based delays are inserted so repeated notes register correctly.
  3. Playback — The generated script drives a Java automation layer that injects keystrokes, optionally slowed or accelerated based on the user’s latency with the game.

TBbard playing music

User Interface

The Swing UI keeps playback controls and instrument filters accessible while exposing the generated script for manual tweaking. Drag-and-drop support for MIDI files speeds up experimentation, and settings like tempo multipliers or octave bias can be persisted between sessions.

TBbard interface

Engineering Challenges

Platform & Stack