01
Source
Upload MIDI
Format 0/1 SMF files. Tempo maps, note events, channel data, and time signatures are parsed locally.
Load Demo MIDI
Import Project JSON
Project title
Subtitle
Composer
Arranger
Copyright
Title layoutClassic top-left Lower-third card Corner credit card Centered poster card
02
Canvas Preset
Preset
FPS
Width
Height
Duration modeExact uploaded MIDI Arrangement length Manual seconds cap
Export seconds
Video qualityDraft / fast Standard High
03
Background
Image spanning full canvas
FitCover entire canvas Contain Stretch
Overlay
Vignette
03B
Visual Template
Template familyPiano roll / timeline Radial / orbit scopes Spectrum / channel bars Poster / title-card views Constellation maps Wave tunnel views Keyboard wall views Hybrid performance stage Ribbon stream Particle burst field Orbital equalizer
Variation01 Clean master 02 Dense grid 03 Minimal glass 04 Wide cinematic 05 Vertical social 06 Bass-weighted 07 Treble shimmer 08 Channel parade 09 Neon club 10 Archive poster
Note styleRounded bars Sharp block bars Glow dots Neon rails Hollow outlines Diamonds Comet tails Diagonal slashes Spark crosses Glass chips Matrix ticks Capsules Ring pulses Split beams Rune wedges Wave marks
Color paletteCyan / violet Fire / ice Gold / emerald Laser pop Moonlit mono Sunset brass Arctic glass Blood / gold Forest neon Black temple
Grid intensity
Safe margin
03C
Visualizer Designer Presets
Designer preset
Preset name
Density
Trail seconds
Blur px
Blend modeNormal Lighten / glow Screen Multiply Overlay Color dodge
Motion rate
Visual scale
SymmetryNone Mirror X Mirror Y Quad mirror
Note weight
Apply Preset
Save Preset
Delete Saved
Export Preset JSON
Import Preset JSON
Designer preset controls ready.
03D
Overlay Cleanup + Visualizer Box
Title / credit overlayShow title + credits Hide title + credits
MIDI stats textHide note/channel stats Show note/channel stats
Progress / timecodeHide progress + timecode Show progress + timecode
Template labelHide template/take label Show template/take label
Viz X %
Viz Y %
Viz W %
Viz H %
Viz opacity
GFX layerNone Starfield Digital rain Snow drift Spark embers CRT scanlines Aurora haze Soft bokeh Vinyl dust
GFX intensity
Reset Visualizer Box
03E
Layout Keyframes + Cards
Keyframe presetOff / static layout Intro/outro focus Slow cinematic drift Pulse swell Orbit visualizer box Social reveal stack Poster zoom
Strength
Intro card sec
Outro card sec
Card styleCinematic panel Shield / standard Lower-third slate Minimal text No cards
Animate visualizerYes No
Animate titleYes No
Animate BG intensityYes No
Apply Keyframe Preset
Reset Keyframes
Keyframes are static until a preset is selected.
03F
Preset Gallery + Visual QA
Finished Look Gallery
Choose a full export layout by visual intent instead of digging through raw controls. Phase 7 keeps the existing finished preset engine intact, then adds a branded gallery layer with search, category filters, badges, and clearer active-state feedback.
Mobile-safe
Heavy motion
Clean masters
Finished preset
Preset pack note
Apply Finished Preset
Random Finished Look
Run Visual QA
Export Visual QA JSON
Choose a finished preset or run visual QA.
04
Audio Layout
ChannelsMono Stereo 5.1 surround plan
Sample rate44.1 kHz 48 kHz
Instrument engineTimGM6mb sampled kit GM Lite / MIDI programs Legacy warm synth Legacy square lead Legacy soft sine
NormalizeNormalize No normalize
RoomDry Tight studio Wide room Soft hall
Stereo spread
Render + Play / Stop Audio
05
Timeline + Arrangement
Trim start sec
Trim end sec
Lead-in sec
ArrangementTrim once Loop to max seconds
Tempo scale
Transpose
Fade in sec
Fade out sec
Reset Timeline
Sync Export Duration to MIDI
06
Export Performance
Export modeSafe / low memory Balanced Turbo / larger exports
Frame formatJPEG frames PNG frames
Frame quality
Memory guardStrict Normal Large browser budget
Export safetyAuto optimize / continue Warn / continue selected Strict block Force try anyway
Export strategyAdaptive animated / recover Low-frame reliable animation Poster-frame + full audio Try full selected animation
Frame batch4 frames 8 frames 16 frames 32 frames
Auto cleanupClean FFmpeg FS Keep files for debug
Export Profile Wizard
Phase 10.9.2 estimates the current MIDI before export and can apply safer FPS, resolution, frame-format, and ribbon-compositor defaults for long songs.
Recommended settings for this MIDI
Preview Export Estimate
Load a MIDI to unlock the Phase 10.9.2 export profile wizard.
06B
Resource Governor
Resource profileEco / older laptops Balanced Quality / high power
Preview scale35% 50% 75% 100%
Preview FPS cap8 fps 12 fps 18 fps 24 fps
Max visual notes72 96 120 128 144 160 176 190 260 420
GFX particle cap24 36 40 48 52 60 80 140 240
Trail layer cap0 layers / ribbon compositor 1 layer 2 layers 3 layers 6 layers 10 layers
Apply Eco Mode
Apply Balanced Mode
Resource governor ready. Phase 10.9 uses export profiles: long/high-res MP4 exports get a preflight estimate, safer recommendations, a reduced-FPS fallback, a reduced-visual-complexity fallback, then poster-frame + full audio if needed.
09
QA + Failure Detectors
Run Host QA Diagnostics
Run 1s MP4 Smoke Test
Export QA Report JSON
QA not run yet.
PLAN
Diagnostics / Export Reliability
UI Phase 9 motion and microinteraction polish
The OREV shell now adds restrained hover lift, animated export-menu reveal, crest-stage pulse accents, preset-card glow feedback, calm-motion controls, and reduced-motion guardrails while leaving rendering/export logic untouched.
Motion polish Calm mode Core logic untouched
Exact duration: default exports lock to the full uploaded MIDI duration, not an arbitrary max cap.
Project save/load: export a reusable project JSON, or a simple stored ZIP bundle with the MIDI/background assets.
Timeline trim: arrangement mode can still trim/loop when exact-duration lock is turned off.
Playback transforms: tempo scaling, transpose, lead-in, and master fade in/out are applied to browser preview, WAV, and MP4 output.
Timeline strip: channel lanes show the arranged notes with horizontal overflow for longer sequences.
TimGM6mb sample kit: Browser playback, WAV export, and MP4 audio still use the same imported sample-backed path by default.
Lazy sample loading: The app fetches only the piano/drum reference samples required by the loaded MIDI instead of preloading the whole kit.
Channel controls: MIDI pan, volume, expression, and reverb controller data are preserved where present.
Spatial audio: stereo spread, room reflections, and 5.1 distribution are applied before export.
MP4 encoder: bundled FFmpeg WASM, H.264 attempt with MPEG-4 fallback.
UI shell: export menu, bottom-right toast notifications, cloud-hostable static files.
CSP fix: Cloudflare/Netlify-style headers and meta policy now allow WASM compilation for FFmpeg.
Visual templates: expanded template families now include piano, radial, spectrum, poster, constellation, wave tunnel, keyboard wall, and hybrid performance views.
Variations: each template family has ten visual takes, giving roughly eighty combinations before note-style changes.
Title-card metadata: project title, subtitle, composer, arranger, and copyright can be burned directly into the MP4 canvas.
Background images: PNG/JPEG uploads remain full-canvas cover/contain/stretch assets, with overlay and vignette controls for readable visualizer output.
Overlay cleanup: template/take labels, note/channel stats, and bottom progress timecode can be hidden so they do not burn into MP4 exports.
Preview control: the live visual preview can now pause and scrub without forcing the arrangement timeline marker to keep moving.
Visualizer box: the main visualizer can be resized and repositioned inside the canvas so uploaded art or title treatments can stay visible.
GFX layer: first-pass starfield, rain, snow, sparks, and scanline effects can dress the background behind the MIDI visualizer.
Extra looks: Phase 10.3 keeps ribbon streams, particle burst fields, orbital equalizers, color palettes, and four more note-shape modes.
Designer presets: visual-only preset save/load, import/export JSON, and built-in designer looks now sit above the overlay cleanup controls.
Single audio preview: Render + Play is now a toggle. Press it while rendering or playing to stop/cancel the active preview instead of stacking another copy.
Layout keyframes: visualizer position, size, scale, opacity, title visibility, and background intensity can animate over the MP4 timeline.
Intro/outro cards: configurable title slates can appear at the beginning and end of the export without changing MIDI timing.
Preview lifecycle: loading a new MIDI or changing audio/timeline settings stops the old preview so only one playback buffer can exist at a time.
Phase 10 transport: the stage toolbar now uses a recognizable Play/Pause and Stop transport. Play starts the audio-linked preview when MIDI is loaded, while Stop halts playback and resets the marker.
Advanced knobs: density, trail length, blur, blend mode, motion rate, scale, symmetry, and note weight can reshape the visualizer without changing MIDI/audio timing.
Performance pass: JPEG frame pipeline, dynamic frame caps, export preflight estimates, batch yielding, and FFmpeg filesystem cleanup.
Resource governor: Eco/Balanced profiles cap preview FPS, preview backing resolution, active visual notes, GFX particles, trail layers, and export guard budgets to reduce browser memory/CPU spikes.
Frame budget rescue: recommended budgets are advisory in Auto/Warn/Force modes, so standard long-MIDI templates can still export instead of failing before FFmpeg tries.
Export profile wizard: one click applies recommended FPS, resolution, frame format, memory guard, and resource-governor defaults for the loaded MIDI.
Automatic estimate: the wizard shows duration, selected/effective FPS, resolution, frame format, staged-frame estimate, and memory-pressure level before export.
Fallback chain: MP4 export now tries the selected profile, then ribbon-compositor safe animation for ribbon presets, then reduced FPS, then reduced visual complexity, then poster-frame + full audio.
Failure detectors: host/CSP, FFmpeg asset shards, sample-kit assets, browser APIs, canvas encoding, and export-plan guardrails are checked in one pass.
Smoke test: a one-second internal MP4 encode can verify the FFmpeg worker without downloading a file.
Finished preset pack: YouTube, Shorts/Reels, square album cover, music poster, X/Twitter, club, minimal, and portrait presets can be applied in one click.
Preview thumbnails: the preset grid shows quick visual swatches for each finished export layout.
Phase 7 gallery: preset cards now include branded fire/ice/gold treatment, filter/search controls, orientation tags, motion/safety badges, and stronger active-preset visibility.
Phase 8 responsive/a11y: skip links, stronger focus rings, touch-target sizing, safe-area padding, responsive stage behavior, reduced-motion support, and a quick UI check layer improve mobile and keyboard accessibility.
Phase 9 motion polish: restrained hover lift, export-menu reveal motion, crest-stage pulse accents, preset-card glow feedback, calm-motion toggle, and reduced-motion safeguards improve perceived quality without altering export behavior.
Phase 10 release repair: demo MIDI loading, header title, audio-linked transport, and keyboard-only skip navigation are repaired for final UI QA.
Visual QA: burn-in clutter, title/visualizer collision, title fit, background contrast, safe margins, box size, exact-duration lock, and frame budget can be checked before export.
Expanded look library: added arctic, sunset, blood/gold, forest neon, and black temple palettes plus aurora, bokeh, and vinyl-dust GFX layers.
QA report: diagnostics can be exported as JSON for hosting/browser troubleshooting.
Ribbon compositor: heavy Club Spectrum ribbon streams use a cached trail buffer instead of redrawing multiple historical ribbon layers every frame, preserving the neon ribbon look with less browser pressure.
Fallback safety: Missing sample notes fall back to the Phase 3/5 GM-lite synth instead of killing an export.
Cloud/static deploy ready
Upload index.html, styles.css, app.js, _headers, the complete ffmpeg/ folder, and the complete assets/reference-kit/ folder to the same cloud/static hosting directory. Phase 10.9 keeps exact MIDI duration, TimGM6mb samples, QA diagnostics, FFmpeg hosting checks, overlay burn-in toggles, single-instance audio preview, resizable visualizer box, expanded note styles, GFX layers, designer presets, keyframes, visual QA, and the resource governor. UI Phase 10 repairs the demo MIDI loader crash, changes the header to OREV MIDI-to-MP4 Studio, replaces the awkward stage preview button with a Play/Pause/Stop transport, keeps audio and visual preview together, and converts the skip navigation into keyboard-only accessibility links instead of visible bubbles.
Run QA diagnostics to populate the Phase 10.9 browser/codec matrix, or use Visual QA for layout/title safety checks.
No MIDI loaded yet.