mpc-vst-jv880, image 1 from its README
Firmware

mpc-vst-jv880

Rising79/100

JV-880 Emulator VST Plugin for MPC OS

mpc-vst-jv880 is custom firmware for the Akai Professional MPC Live, by @sd88me. Latest release v1.0.9 (November 2026), 17 stars on GitHub.

forAkai Professional MPC Live·by@sd88me

Unclaimed. Is this yours? Sign in with GitHub as @sd88me to claim it.

Downloads
0
Stars
17
Forks
3
Commits
70
Last commit
Download v1.0.9

JV-880-1.0.9-mpc-armv7.zip· 1.7 MB· +1 file

Custom license· sd88me/mpc-vst-jv880·downloads come from the creator’s GitHub releases

51
Commits
10
Releases
51 commits and 10 releases in the last year
Activity · last 12 months

MINI-JV

JV-880 Emulator VST Plugin for MPC OS

💬 Questions or feedback? Join the Open MPC Discord.

MPC OS. Tested on a Force (MPC OS 3.x). From v1.0.6 the plugin library and the touchscreen skin are built in the shapes MPC OS 2.15.1 reads, and the catalog labels that release "MPC OS 2.x + 3.x" from its checks, but it has not been tried on a 2.x unit yet: testers on an MPC Live / One / X / Key running 2.x are welcome (Discord link above). Earlier releases (v1.0.5 and before) are 3.x only: on 2.x they load and play from the Q-Links, but the touchscreen page stays empty. The catalog shows which MPC OS each release works on, and the installers warn before putting a 3.x-only plugin on a 2.x device. See MPC OS 2.x vs 3.x in the main repo.

MINI-JV as a native VST2 instrument for Akai MPC OS standalone devices (MPC Live/One/X/Key, Force). It loads in MPC's built-in plugin host and has its own touchscreen skin with Q-Link support.

Current release: v1.0.6 — see Releases.

Features

  • Roland JV-880 sample-based (ROM PCM) sound engine, with the JV-880's own reverb and chorus.
  • Play page: eight macros (cutoff, resonance, filter envelope depth, LFO depth, attack, decay, sustain, release), output (octave, patch pan, patch level, tone 1-4 on/off), patch settings (analog feel, bend range, portamento, key assign, velocity switch, solo legato) and reverb and chorus, all on one screen.
  • Banks page: a list of every loaded bank and its patches. Tap a bank to browse it, tap a patch to load it; the selected bank and the loaded patch stay highlighted. The top strip has three steppers (bank, patch, patch page) and the page's Q-Links and the data wheel step the bank, the patch and the page. The lists number top to bottom, and stepping the patch across a bank follows it.
  • Tone 1-4 pages: wave selection, pitch, pitch/filter/amp envelopes (knobs for every level and time) and both LFOs for each tone. Moving an envelope knob shows that tone's three envelope curves for a few seconds in place of the LFO blocks; the VIEW switch on the Amp panel holds them open.
  • SR-JV80 expansion cards load automatically and appear as extra banks (up to 19 in addition to the 3 built-in banks; verified with 4133 patches across 22 banks).
  • 16 Q-Links per page, following the page you are on.
  • Hardware-style panel: dark rack, amber highlights, green dot-matrix LCD, black keycap buttons. 2026-09-26T235059722Z

ROMs (required, not included)

The plugin makes no sound without your own JV-880 ROM dump, which must be v1.0.0 (v1.0.1 causes CPU traps in the emulated H8/300 core). The ROMs and any SR-JV80 expansion cards are copyrighted Roland firmware, so they are not included, bundled or committed anywhere in this repo or its release zip. Stage them on the device yourself: see docs/ROMS.md for exact filenames, sizes and locations (jv880-roms/roms/ inside the plugin folder, e.g. /sdcard/Synths/sd88me - VST - JV-880/jv880-roms/roms/, expansions under roms/expansions/).

Requirements

  • A first-generation MPC OS standalone device (32-bit ARM: Force, MPC Live / Live II, One, X, Key 61). Tested on a Force.
  • Root SSH access to the device. Installing plugins this way is unofficial: back up first, use at your own risk.

Install

  1. Download JV-880-1.0.7-mpc-armv7.zip from the latest release and unzip it.

  2. Copy the folder to the device and run the installer (it stops MPC, so save your project first):

    scp -r JV-880-1.0.7 root@<device-ip>:/tmp/
    ssh root@<device-ip> sh /tmp/JV-880-1.0.7/install.sh
    
  3. Stage your ROMs as described in docs/ROMS.md.

  4. Add JV-880 to a track from the plugin browser (Instrument plugins).

The zip's INSTALL.md has the manual steps and the uninstall command. Running the installer again upgrades in place. After replacing the plugin file on a running device, remove and re-insert the plugin on any track that uses it.

Build from source

Needs a sibling checkout of mpc-vst-plugins (the shared wrapper, build_port.sh, skin tooling) at ../mpc-vst-plugins, or set MPC_VST to point at one. Docker (with QEMU for arm32v7) is needed by its build pipeline.

./build.sh

Output in build/: jv880.so, the skin folder, and pluginlist-entry.xml. No third-party source is fetched at build time. To put a build on a device, package it and use the installer (the plugin is one folder in /sdcard/Synths, ROMs in its jv880-roms/roms/):

./release.sh <version>      # dist/JV-880-<version>-mpc-armv7.zip; unzip, copy to the device, run install.sh

A skin-only change needs no MPC restart: re-insert the plugin or reload the project. Registering the plugin in MPC.settings and the rest of the device workflow are in mpc-vst-plugins' docs/PORTING.md and .claude/skills/mpc-vst-plugin/SKILL.md.

Status

v1.0.0. Builds clean for armhf and runs on a real Force with all ROMs and 19 SR-JV80 expansions loaded; audio, bank/patch browsing and Q-Link control are checked on that hardware. The release zip was not run through its own installer on a device before publishing; the plugin and skin it contains are the ones tested.

CPU (Force, RK3288 at 1.8 GHz, one instance, 2026-09-27). The synthesis runs on the plugin's own jv880-emu thread, so it is measured from that thread's CPU ticks while the plugin is loaded on a track:

Statejv880-emu thread
Idle, no notesabout 20% of one core
Playing chords and held notes (30 s)about 47% of one core

The audio-path bench (tools/bench.sh) passes with a p99 of 3.3% of a block, but it does not measure that thread and understates this port (see mpc-vst-plugins' docs/NOTES.md). Plan for a few instances at most, not a full set of tracks. The playing figure is one measurement with an unrecorded patch and note count.

Background

The sound engine is a vendored copy of schwung-jv880, a plugin_api_v2 build of the JV-880's H8/300 MCU and PCM wavetable emulator originally written for Ableton Move. src/VENDORED.md lists exactly what is vendored, from which commit, and our local source changes. It is wrapped as an MPC OS VST2 plugin with mpc-vst-plugins' shared tooling.

The screen layout and colour palette started from force-jv880's Force Shadow page, then were reworked for this plugin (the Play/Patch merge, the Banks page and the palette are specific to this port). This repo is purely the VST port; force-jv880 remains the separate MockbaMod/Force Shadow addon for the Force's own on-device app, a different architecture (a separate host process with an audio-injection tap, not a VST).

More detail: docs/DESIGN-NOTES.md (port rationale and every deviation from the Force Shadow page), docs/ROMS.md (ROM and expansion staging), src/VENDORED.md (what is vendored and why).

Credits

  • Roland: the original JV-880 hardware and its ROMs (not included; see docs/ROMS.md).
  • nukeykt: the H8/300 MCU + PCM emulation core this traces back to (originally written for Nuked-SC55).
  • giulioz: mini-jv880 / juce-jv880, adapting that core specifically into a standalone JV-880 emulator.
  • charlesvestal: schwung-jv880, the plugin_api_v2 build for Ableton Move this port vendors directly.
  • sd88me: this MPC OS VST2 port, and force-jv880.