Firmware

pro-8000

Peaking96/100

Alternative firmware for the Behringer PRO-800: two layers, four LFOs, four envelopes per voice, a 16-route mod matrix, 128 patches with sequences, 5-pin MIDI in

pro-8000 is custom firmware for the Behringer PRO-800, by @klaine. Open source under MIT, latest release v0.9.5 (November 2026), 8 stars on GitHub.

forBehringer PRO-800·by@klaine

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

Downloads
0
Stars
8
Forks
3
Commits
142
Last commit
Download v0.9.5

pro8000-presets-0.9.5.json· 110 KB· +1 file

MIT· klaine/pro-8000·klaine.github.io/pro-8000/·downloads come from the creator’s GitHub releases

139
Commits
6
Releases
139 commits and 6 releases in the last year
Activity · last 12 months
6 releases
  1. v0.9.5PRO-8000 0.9.5Latest2 files

    PRO-8000 is an alternative firmware for the Behringer PRO-800. 0.9.5 gives the arp a mind of its own, with a walk mode, added chord tones and a Chaos knob, and the mod matrix finer control: a multiplier on every route and depths in tenths. Unison takes 2 to 8 voices a note, and replayed notes get their whole attack. The guides and the editor are at https://klaine.github.io/pro-8000/; the manual is MANUAL.md.

    PRO-8000 is an independent project, not affiliated with Behringer or Music Tribe. It exists because Music Tribe, Behringer's parent company, published PRO800-Firmware-Packer.

    [!WARNING] Wildly experimental. A hobby project, built and tested on a single synth. It replaces the PRO-800's firmware, drives its analog circuits directly and rewrites its patch memory. Use it entirely at your own risk: it comes as is, without warranty of any kind (see LICENSE), and the authors accept no liability if it harms your synth, your patches or anything connected to it.

    New in 0.9.5

    • A generative arp. A Walk mode (two notes on, one back; a new chord carries on from the nearest note), Arp range (1-3 octaves), Arp adds (an octave, fifth, seventh or ninth above the chord, by its root and third, or by the patch's scale) and Chaos (0-99, read at every step: jumps, random notes, added notes that come and go). Arp Chaos is a mod destination, so a wheel, an LFO or velocity can push it, and Arp note position is a mod source: where the step sits in the chord, from bottom to top. In the editor's Sequencer section, set arp-range|arp-extend|arp-chaos in the tool, and in the preset format.
    • Four presets for it, P75-P78: a pad on layer 1 with the arp walking on layer 2 (Walk on Glass, Ninth Bloom, Touch of Chaos, Wheel of Stars). The bank is 70 sounds.
    • Via on mod routes: a multiplier on each route, a number from 0.01 to 8 or any source but Fixed, in a column between Source and Destination. Depth 99 via 0.25 into an LFO rate is exactly one octave; the mod wheel as Via brings a route in as you push it. Editor and tool (route-via) and presets ("via:"); the panel keeps a route's Via but doesn't show it.
    • Depths in tenths: the number beside a route's slider takes steps of 0.1, so 53.5 into pitch is a fifth. The panel shows them ( 53.5) in MOD ASSIGN, browsing and the Shift velocity knobs, and VALUE goes to the next whole number that way.
    • Unison voices (#29): 2-8 voices a note, per patch, as a knob on the Sound tab and set unison-voices. In Poly as many notes play as fit: 2 voices give 4 notes, 3 or 4 give 2, 5 to 8 one line. Mono and Legato play one line on one stack.
    • Unison detune to 100 cents (#30), as a knob in place of the list of 51. Routes to detune stay at ±50 cents.
    • Editor: Init, Undo (as Shift + Perf on the panel; again redoes) and arrows to the previous and next patch in the top bar. Voice, Mod matrix and Sequencer fold away, and the browser remembers. On a synced cycling envelope a knob sets its stage's share of the cycle and the others make room, so a knob can no longer seem locked.
    • Shift + VALUE steps ten patches at a time (#21), round the ends.
    • Free tuning in tenths (#20): a FREQ knob in Free mode reads 12.3, and the display follows the knob while it shows, instead of standing still for 0.4 semitones.
    • The installer on the home page (#16), as a second strip under the editor's.

    Changed

    • Env 3 and Env 4 in Mono (#31) start again from 0 on every new note, so they're heard at a high sustain.
    • A replayed note gets its whole attack (#32): a retrigger with an attack of 30 ms or more fades out in up to 8 ms first, then attacks from 0. Shorter attacks go on from the level, so plucks and leads keep what they had.
    • Sustain follows the knob (#33): past the decay's time the level reaches the sustain within about 20 ms, not at the decay's rate. Modulation into a sustain is quicker for it too.
    • Patch records use spare bytes for the new fields, so sounds from 0.9.4 play as they did. On older firmware a route plays its nearest whole depth, a Via is ignored, and a Walk arp is off.
    • Host protocol: new requests 60 (undo), 61 (move a route to another destination), 62 / 63 (Via), 66 / 67 (depths in tenths); settings 91-94 (unison voices, arp range, adds and Chaos) move the read-only ones to 95-98.

    Fixed

    • A click from a closed filter (#17): a voice's VCA could open on the cutoff it had before the knob moved, so each voice clicked once after a cutoff change with the envelope amount at 0. A silent voice's cutoff now follows the knob, and a note read between two ticks gets its pitch and its cutoff together.
    • Shift's envelope knobs showed the wrong envelope's value on the filter and amp knobs for Env 3 / 4.
    • Mod matrix: a changed destination moves the route in place instead of adding one and removing the old; longer sliders with single steps; no jump while the range text changes.

    Install

    pro800-0.9.5.syx is a packed update for the synth's own bootloader. Save any edits to your current sound first, as the restart drops them. Close every page that uses MIDI first, the web editor and the MIDI patch bay included: the bootloader's USB port has the same name, and a page left open in Chrome can keep talking to it during the update, which makes the update fail. The easiest way is the installer page (Chrome or Edge). Or use the command-line tool from this repository:

    # macOS (build it with scripts/tools.sh)
    build/pro800 install pro800-0.9.5.syx --yes
    
    # Windows (Python 3.8 or later, nothing to build)
    python tools/pro800.py install pro800-0.9.5.syx --yes
    

    Or hold buttons 0 and 7 at power-up to enter the bootloader and send the file with any SysEx sender that paces its output (the bootloader takes about 9.6 kB/s). Patches and tuning from 0.8.x and 0.9.x are kept.

    Coming from the stock firmware? PRO-8000 can't read stock patches, so the slots start empty or unreadable (nonE). Open the editor (https://klaine.github.io/pro-8000/editor/, Chrome or Edge), go to Patches, and click Format the patch memory, then Install the preset bank and/or Copy the whole factory bank.

    If the synth shows noFW at power-up and then boot, or just stays in boot, the update didn't land. Close whatever else uses the PRO 800 and send the file again; the synth waits in the bootloader until it gets one.

    Use the editor from the site and the tool from this version, and reload any open editor tab. An older page doesn't know unison voices, Via, tenths or the arp's new settings, so it can't show or set them. pro8000-presets-0.9.5.json (attached) is the 0.9.4 bank plus the four arp presets in P75-P78.

    Tune once it's warm. The filters kept moving for about an hour after switching on, by nearly 200 cents at the low notes when measured on the synth, while the oscillators stayed within a couple of cents. For the best filter tracking, press Tune after that.

    Going back

    The bootloader is never touched. MANUAL.md has the tested steps for going back to the stock firmware and restoring the stock patch memory.

  2. v0.9.4PRO-8000 0.9.42 files

    PRO-8000 is an alternative firmware for the Behringer PRO-800. 0.9.4 makes new sounds play to velocity from the start, with a knob for it, and lets a synced LFO's delay and fade run in note values. It boots on your last patch, and a crash now leaves a record instead of freezing the synth. The guides and the editor are at https://klaine.github.io/pro-8000/; the manual is MANUAL.md.

    PRO-8000 is an independent project, not affiliated with Behringer or Music Tribe. It exists because Music Tribe, Behringer's parent company, published PRO800-Firmware-Packer.

    [!WARNING] Wildly experimental. A hobby project, built and tested on a single synth. It replaces the PRO-800's firmware, drives its analog circuits directly and rewrites its patch memory. Use it entirely at your own risk: it comes as is, without warranty of any kind (see LICENSE), and the authors accept no liability if it harms your synth, your patches or anything connected to it.

    New in 0.9.4

    • Velocity on the init sound: new sounds start with velocity → VCA at 70 and velocity → cutoff at 20, on both layers. They are ordinary mod routes, using 2 of each layer's 16 slots. The init sound's cutoff knob is at the top, so velocity is only clearly heard in the filter once you turn it down. Saved patches, the preset bank and factory imports get nothing added.
    • Velocity knobs in the editor: one in the filter section and one in the amp section of the Sound tab. They set the same routes as the mod matrix and MOD ASSIGN, so all three stay in step.
    • Velocity on the panel: Shift (the Sync Source button) + M VOL is velocity → VCA (VE.A, shown as uE.A), and Shift + FIL ENV AMT is velocity → cutoff (VE.F, shown as uE.F).
    • Synced LFO delay and fade in note values: with an LFO on the clock, its delay and fade-in run from 1/32 to 8 bars at the current tempo, on the panel, in the editor and in the tool. Free-running LFOs stay in seconds.
    • Sweeping through 0 keeps a route: a route at depth 0 now waits 5 seconds before it goes, on the panel, in the editor and from the tool. It plays nothing meanwhile, and turning it back up within that time keeps its slot and its Both mark. A save stores no route at 0.
    • Boots on the last patch (#14), whichever mode you left it in. Blank or stock memory, or an unreadable last slot, still starts on the panel.
    • PAnL stays on the display (#15) in manual mode, so the display no longer looks switched off.
    • Faster patch browsing (#1): VALUE speeds up to 8 slots a step, and the patch loads when the turn rests.
    • Controllers show on the display: an incoming CC shows its value as its knob does.
    • A crash leaves a record: the synth restarts and shows CrSh for 1.5 s, and pro800 fault prints what happened. Three crashes in a row without 10 s of running stop it, so a crash at boot can't reboot for ever.
    • Editor: the mod matrix has a Range column in real units, an LFO rate's in Hz or note values, and a knob with several sources draws a ring for each. Back up everything now has a Restore everything, which writes back only the slots that differ and reads each back.
    • USB bursts arrive whole: the synth now makes the computer wait when it can't keep up, where it used to drop MIDI. During a Tune, incoming notes are discarded instead, so no old notes replay afterwards.

    Changed

    • Knob pickup moved to Shift + PMOD FIL ENV (P.UP). It was Shift + FIL ENV AMT in 0.9.3. The setting itself is kept.
    • M VOL can now wait in pickup: after a turn under Shift, it picks up like any other knob, and the volume holds until it does. If you leave the knob at the bottom, it has to come back up past the current level before it can turn the volume down. While Shift is latched, M VOL doesn't change the volume at all.
    • Saved sounds with a synced LFO delay or fade change timing: the stored number now means a note value. In the preset bank this affects P62 Trance Gate and P66 BsSQ/LD.Split 1.
    • System settings are stored a second after the last change, not on every step of a knob: the MIDI channel, CC A / B, pickup, clock source and tempo. Switching off inside that second loses the change.
    • Matrix Remove leaves a row at 0 for its 5 seconds. The row says so.
    • Tool: flash now checks the bootloader's answers by default and fails with a nonzero exit if it isn't confirmed. It refuses a file that isn't a whole update. update-mode needs --yes, because it leaves the synth without a firmware until it's flashed. install waits 8 s for the bootloader's port first. New: fault and fault-test --yes.
    • Tool on Windows: tools/pro800.py has the same commands as the macOS tool, with nothing to build, apart from audio recording.

    Fixed

    • CC 74 now moves cutoff. The manual always said it did, but it only reached the Timbre mod source. It still feeds that source too. In the 8CH and nPE modes it stays per-note Timbre, as MPE keyboards expect, and leaves the knob alone.
    • The boot patch lost its knob values to the panel's first reading.
    • A dead crystal hung the boot. The synth now starts and plays over the MIDI socket without USB.
    • A jump with pickup off: letting go of a Shift gesture while a knob's reading was still settling could jump the parameter to the knob.
    • USB packets could be lost silently after a host reset the MIDI connection.
    • One late MIDI clock tick could change a synced LFO's tempo for a tick, and an internal clock could stall for about 12 seconds after a tune.
    • Panel: undo right after boot brought back nothing, Shift + Rec's no never cleared, a Shift press just after boot counted as a tap, and a load over an open menu, MOD ASSIGN or a typed number lost the display. A program change during a save changed the sound being saved.
    • Factory import over a used slot left its old sequence behind.
    • Editor: a second installer tab no longer talks over a running install, the installer refuses a cut update file, and a drag no longer writes to the other layer if the layer changes mid-drag.
    • Host protocol: the format reply's slot count and some route depths weren't valid MIDI bytes, an out-of-range memory read is refused, and a sequence tempo over 255 is clamped.

    Install

    pro800-0.9.4.syx is a packed update for the synth's own bootloader. Save any edits to your current sound first, as the restart drops them. Close every page that uses MIDI first, the web editor and the MIDI patch bay included: the bootloader's USB port has the same name, and a page left open in Chrome can keep talking to it during the update, which makes the update fail. The easiest way is the installer page (Chrome or Edge). Or use the command-line tool from this repository:

    # macOS (build it with scripts/tools.sh)
    build/pro800 install pro800-0.9.4.syx --yes
    
    # Windows (Python 3.8 or later, nothing to build)
    python tools/pro800.py install pro800-0.9.4.syx --yes
    

    Or hold buttons 0 and 7 at power-up to enter the bootloader and send the file with any SysEx sender that paces its output (the bootloader takes about 9.6 kB/s). Patches and tuning from 0.8.x and 0.9.x are kept.

    Coming from the stock firmware? PRO-8000 can't read stock patches, so the slots start empty or unreadable (nonE). Open the editor (https://klaine.github.io/pro-8000/editor/, Chrome or Edge), go to Patches, and click Format the patch memory, then Install the preset bank and/or Copy the whole factory bank.

    If the synth shows noFW at power-up and then boot, or just stays in boot, the update didn't land. Close whatever else uses the PRO 800 and send the file again; the synth waits in the bootloader until it gets one.

    Use the editor from the site and the tool from this version, and reload any open editor tab. An older page or tool on this firmware leaves the init sound's two velocity routes in every preset it loads. pro8000-presets-0.9.4.json (attached) is the same 66-sound bank as 0.9.3.

    Tune once it's warm. The filters kept moving for about an hour after switching on, by nearly 200 cents at the low notes when measured on the synth, while the oscillators stayed within a couple of cents. For the best filter tracking, press Tune after that.

    Going back

    The bootloader is never touched. MANUAL.md has the tested steps for going back to the stock firmware and restoring the stock patch memory.

  3. v0.9.3PRO-8000 0.9.30 files

    [!NOTE] The files of this release have been removed. This version has bugs that later releases fix; install the latest release instead. The notes below are kept for the record.

    PRO-8000 is an alternative firmware for the Behringer PRO-800. 0.9.3 lets the two layers share a filter, envelope or LFO, puts chords and a piano roll in the sequencer, and adds one-shot LFOs. The guides and the editor are at https://klaine.github.io/pro-8000/; the manual is MANUAL.md.

    PRO-8000 is an independent project, not affiliated with Behringer or Music Tribe. It exists because Music Tribe, Behringer's parent company, published PRO800-Firmware-Packer.

    [!WARNING] Wildly experimental. A hobby project, built and tested on a single synth. It replaces the PRO-800's firmware, drives its analog circuits directly and rewrites its patch memory. Use it entirely at your own risk: it comes as is, without warranty of any kind (see LICENSE), and the authors accept no liability if it harms your synth, your patches or anything connected to it. Flashing unofficial firmware may also void the synth's warranty.

    New in 0.9.3

    • Layer links: in split, stack and channel mode, layer 2 can follow layer 1's filter, any of the four envelopes, or either LFO, so a stack of two oscillator sounds shares one filter sweep or one vibrato. Layer 2's own values stay stored and come back when you unlink. Set them with the Link buttons on the web editor's Sound tab, or pro800 set link. Saved in the patch. Modulation routes can be also applied to both layers by choice.
    • Chords in the sequence: a step can play up to three notes. Choose them under Chords on the editor's Sequencer; each extra note takes a lane's room, so three notes leave 40 steps.
    • Notes that hold on their own: a note in a step can last past the step's gate and on into the next, so a long bass can run under short notes.
    • Piano roll (web editor): the current page's notes over their step columns, three octaves at a time with a keyboard beside them. Click to add a note, drag to move it, drag its right edge to stretch it, double-click or right-click to remove it.
    • Duplicate and Halve (web editor): repeat the pattern, or keep its first half. The step length stays.
    • One-shot LFOs: two new retrigger types, 1Sht and 1S.Po (shared, or a phase per voice). The LFO restarts on every key, runs 1-99 cycles and holds where the shape ended. Set them on Settings 2 or in the editor.
    • LFOs can restart from a sequence's keys instead of its steps, set per patch in the editor's Sequencer (pro800 set lfo-restart).
    • Knob pickup off (#4): Shift (the Sync Source button) + FIL ENV AMT (P.UP), or the editor's System tab. A knob then takes over as soon as it moves, as on the stock firmware. Pickup stays the default. A system setting.

    Changed

    • The pulse width knob now runs from a 5 % to a 95 % pulse, and 50 is a true square. Before, 92-99 were silent and 50 was a 57 % pulse. Saved sounds using the square change a little: at PW 50, slightly hollower; other values move a bit too. A sound with PW above 92 now plays a thin pulse instead of silence.
    • The default LFO step pattern keeps its second last step on. Patches that stored a pattern keep it.
    • The editor's LFO step grid no longer has its Trance and Euclid buttons.
    • Knobs turned under Shift (the Sync Source button) now cover a little more than their range per sweep, so they move slightly faster.

    Fixed

    • Oscillator B sounding with all its waveforms off (#7). One case remains, and it's in the manual: while poly-mod from B is in use, a thin pulse can still be heard, because silencing it would detune oscillator A and the filter.
    • Oscillator A sounding with Sync on and all its waveforms off (#9).
    • System settings lost at power-up on memory that was never formatted (#10): the MIDI channel, pickup, clock and CC numbers. Changing one now marks the memory as ours, as saving a patch does, without erasing a slot.
    • MIDI channel 16 out of reach on Shift (the Sync Source button) + NOISE (#11).
    • Typed slot numbers: a number that could still take a digit was only held, so Rec saved to the slot in use and still showed donE, and P1-P9 couldn't be chosen by key for loading. Rec now takes the number, and a 3-second pause ends it.
    • Tool: pro800 install now checks that the synth reached the bootloader and is running the file's version afterwards.

    Install

    pro800-0.9.3.syx is a packed update for the synth's own bootloader. Close every page that uses MIDI first, the web editor and the MIDI patch bay included: the bootloader's USB port has the same name, and a page left open in Chrome keeps talking to it during the update, which makes the update fail. Then, with the command-line tool from this repository (scripts/tools.sh, macOS):

    build/pro800 install pro800-0.9.3.syx --yes
    

    Or hold buttons 0 and 7 at power-up to enter the bootloader and send the file with any SysEx sender that paces its output (the bootloader takes about 9.6 kB/s). The first start autotunes (tUnE), silently. Patches from 0.8.x and 0.9.x are kept.

    Coming from the stock firmware? PRO-8000 can't read stock patches, so the slots start empty or unreadable (nonE). Open the editor (https://klaine.github.io/pro-8000/editor/, Chrome or Edge), go to Patches, and click Format the patch memory, then Install the preset bank and/or Copy the whole factory bank.

    If the synth shows noFW at power-up and then boot, or just stays in boot, the update didn't land. Close whatever else uses the PRO 800 and send the file again; the synth waits in the bootloader until it gets one.

    Use the editor from the site (or this repository) and the tool built from this version: 0.9.3 adds nine settings, and older copies don't know them. pro8000-presets-0.9.3.json (attached) is the same 66-sound bank as 0.9.2.

    Going back

    The bootloader is never touched. MANUAL.md has the tested steps for going back to the stock firmware and restoring the stock patch memory.

  4. v0.9.2PRO-8000 0.9.20 files

    [!NOTE] The files of this release have been removed. This version has bugs that later releases fix; install the latest release instead. The notes below are kept for the record.

    PRO-8000 is an alternative firmware for the Behringer PRO-800. 0.9.2 adds tuning modes for each oscillator, contributed by @planist79, and ships the preset bank as one file you install from the web editor in one click. The guides and the editor are at https://klaine.github.io/pro-8000/; the manual is MANUAL.md.

    PRO-8000 is an independent project, not affiliated with Behringer or Music Tribe. It exists because Music Tribe, Behringer's parent company, published PRO800-Firmware-Packer.

    [!WARNING] Wildly experimental. A hobby project, built and tested on a single synth. It replaces the PRO-800's firmware, drives its analog circuits directly and rewrites its patch memory. Use it entirely at your own risk: it comes as is, without warranty of any kind (see LICENSE), and the authors accept no liability if it harms your synth, your patches or anything connected to it. Flashing unofficial firmware may also void the synth's warranty. Back up your patches first, and know the way back (below).

    New in 0.9.2

    • Oscillator tuning modes (thanks, @planist79, #6): FREQ A and FREQ B each have a mode per layer, saved with the patch.

      • Semitones (SEnI): ±36 in steps, as before.
      • Octave (OCt): ±3 octaves in octave steps.
      • Free (FrEE): continuous ±36 semitones.
      • Fixed (FIHd): a set pitch from C1 to C8, whatever key you play. Pitch bend, unison spread, drift and pitch routes still move it, and a scale snaps around it. The display shows the pitch in Hz.

      Hold Seq 1 or Seq 2 and turn FREQ A or B to step through the modes (a quarter turn a step). Or use the web editor's Oscillator A / B tuning menus, or pro800 set osc-tune <layer> a|b <mode>. Patches from earlier versions read as Semitones and sound as before.

    • The preset bank, 66 sounds: pro8000-presets-0.9.2.json (attached) holds the bank as it is on the author's synth. 40 of the 64 presets were updated, and P65 "Pad + Arp!" and P66 "BsSQ/LD.Split 1" are new. In the web editor's Patches tab, Install the preset bank (the site has its own copy) or Install a bank file… with this file puts them in P1-P66.

    • Fill the patch memory in one go (web editor, Patches tab): Format the patch memory, Copy the whole factory bank (the 100 stock sounds into the empty slots, in order) and Install the preset bank, each after a confirmation. A bank pasted or opened in the JSON box installs too. Empty slots are hidden in the patch list unless you tick "show empty slots".

    • Tool: pro800 sysex passes SysEx requests from scripts and prints the replies, over one MIDI connection.

    Changed

    • An empty slot still loads the init sound, but the display now keeps showing the slot number (P 67) instead of InIt. Perf still shows InIt.

    Install

    pro800-0.9.2.syx is a packed update for the synth's own bootloader. Close the web editor first: the bootloader's USB port has the same name, and an editor left open in Chrome keeps talking to it during the update, which makes the update fail. Then, with the command-line tool from this repository (scripts/tools.sh, macOS):

    build/pro800 install pro800-0.9.2.syx --yes
    

    Or hold buttons 0 and 7 at power-up to enter the bootloader and send the file with SynthTribe or any SysEx sender that paces its output (the bootloader takes about 9.6 kB/s). The first start autotunes (tUnE), silently. Patches from 0.8.x and 0.9.x are kept.

    Coming from the stock firmware? PRO-8000 can't read stock patches, so the slots start empty or unreadable (nonE). Open the editor (https://klaine.github.io/pro-8000/editor/, Chrome or Edge), go to Patches, and click Format the patch memory, then Install the preset bank and/or Copy the whole factory bank.

    If the synth shows noFW at power-up and then boot, the update didn't land. Close whatever else uses the PRO 800 and send the file again; the synth waits in the bootloader until it gets one.

    Use the editor from the site (or this repository) and the tool built from this version: 0.9.2 adds four settings (the tuning modes), and older copies don't know them.

    Going back

    The bootloader is never touched. Hold 0 and 7 at power-up and flash Behringer's stock firmware .syx the same way; MANUAL.md covers restoring the stock patch memory.

  5. v0.9.1PRO-8000 0.9.10 files

    [!NOTE] The files of this release have been removed. This version has bugs that later releases fix; install the latest release instead. The notes below are kept for the record.

    PRO-8000 is an alternative firmware for the Behringer PRO-800. 0.9.1 makes the envelopes play with the clock and with the key release, reworks the mod matrix on the panel, adds a MIDI channel setting, and lets the web editor read and write sounds as JSON. The guides and the editor are at https://klaine.github.io/pro-8000/; the manual is MANUAL.md.

    PRO-8000 is an independent project, not affiliated with Behringer or Music Tribe. It exists because Music Tribe, Behringer's parent company, published PRO800-Firmware-Packer.

    [!WARNING] Wildly experimental. A hobby project, built and tested on a single synth. It replaces the PRO-800's firmware, drives its analog circuits directly and rewrites its patch memory. Use it entirely at your own risk: it comes as is, without warranty of any kind (see LICENSE), and the authors accept no liability if it harms your synth, your patches or anything connected to it. Flashing unofficial firmware may also void the synth's warranty. Back up your patches first, and know the way back (below).

    New in 0.9.1

    • Envelope trigger, per envelope: key down or key up, in every mode, cycling included. A cycling amp envelope on key up plays a burst of repeats after each note. On the panel it's its own step on Settings 6 (Arp Up-Dn: tr.A …, dn / UP).
    • Cycle counts: a cycling envelope runs endlessly (LOOP) or for 1-99 cycles (Cn.A …). From key down it then rests at zero until the key is let go; from key up it stops.
    • Stage times in note values: each envelope can take its times in seconds (SEC) or synced to the clock (SYnC, tI.A …). The time knobs, delay and hold then step through 0, 1/32 … 8 bars at the clock's tempo (120 BPM with no clock).
    • MIDI channel: Shift + NOISE (CHnL): ALL (the default, as before) or 1-16. Notes, controllers, bend, pressure and program changes on other channels are ignored; clock and SysEx aren't. The layer modes that play by channel count from it (channel mode: N and N + 1; 8CH: N to N + 7; nPE: N master, N + 1 to N + 8). It's a system setting, kept when you load patches.
    • Mod matrix on the panel, in three stages: tap Arp Assign (SrC), then take a source, a destination and the depth. Each stage waits until you take something: a number key, a knob or an LFO button, or Arp Assign on the one VALUE shows. VALUE only scrolls, one item per click cycle. A knob you turned in the 5 seconds before Arp Assign is the destination already, so you go straight from the source to the depth.
    • Route browsing by number: hold Arp Assign. VALUE steps through the routes (nod1, nod2 …); when it rests, the route shown cycles through its number, source, destination and depth. A tap edits it.
    • Empty slots load the init sound (InIt), ready to build and save there with Rec, Rec. This applies to the number keys, VALUE, program change and the web page.
    • The preset bank, in one click: pro8000-presets-0.9.1.json (attached) holds 66 PRO-8000 sounds. In the web editor's Patches tab, Install the preset bank (the site has its own copy) or Install a bank file… with this file puts them in P1-P66. The same row has Format the patch memory and Copy the whole factory bank (the 100 stock sounds into the empty slots); each asks first.
    • Web editor, sounds as JSON (Patches tab): show, copy or download the current sound as JSON, in the same format as the preset bank. Open or paste JSON to load it, then save it to a slot with its name. Every name and range is checked before anything is sent.
    • Web editor, any firmware from 0.9.0: the editor adapts to the connected firmware and hides what it doesn't have.
    • Web editor, envelopes: a Trigger and a Timing menu and a Cycles knob per envelope; a MIDI channel menu next to CC A / B; the Play tab follows the synth's channel.

    Changed

    • The envelope modes on Settings 6 are now AdSr, dAHd, CYCL and the synced divisions. The 0.9.0 key-up modes UP.AS and UP.dA became the trigger switch. 0.9.0 patches load and sound as they did: their key-up envelopes become ADSR or DAHDSR with the key-up trigger, and a cycling envelope ignores key up as before.

    Fixed

    • A tap on Arp Assign could open route browsing instead of the mod matrix, and a tap on Sync Clock could restart the bar instead of setting the tempo: a press could count as a hold straight away.
    • Holding Arp Assign on a layer with no routes showed nonE and did nothing. It now starts the mod matrix (#5).
    • In the mod matrix, VALUE scrolled only one source before moving on to destinations, and turning an ADSR or LFO knob to pick the source also took it as the destination.
    • Leaving the mod matrix or route browsing left the last text on the display. It now returns to the patch number.
    • Shift + Perf (undo) after the init sound brought back the sound but not its step sequence, morph target or name. Undo now restores all of them, and the slot.
    • FIXED → VCA (or → VOL) did nothing. It now turns the layer down by the route's depth: 50 is about −6.5 dB, 99 silent. Use it to set one layer's level against the other's.
    • Web editor: Import refused every .p8p file exported since 0.8.0. It now takes them, and refuses damaged ones without writing anything.
    • Web editor: "Back up everything" read past the patches. It now reads the 128 (96 kB).
    • Tool: the sequence tempo is 30-255 BPM, so higher values no longer wrap round to a slow tempo.

    Install

    pro800-0.9.1.syx is a packed update for the synth's own bootloader. Close the web editor first: the bootloader's USB port has the same name, and an editor left open in Chrome keeps talking to it during the update, which makes the update fail. Then, with the command-line tool from this repository (scripts/tools.sh, macOS):

    build/pro800 install pro800-0.9.1.syx --yes
    

    Or hold buttons 0 and 7 at power-up to enter the bootloader and send the file with SynthTribe or any SysEx sender that paces its output (the bootloader takes about 9.6 kB/s). The first start autotunes (tUnE), silently. Patches from 0.8.x and 0.9.0 are kept.

    Coming from the stock firmware? PRO-8000 can't read stock patches, so the slots start empty or unreadable (nonE). Open the editor (https://klaine.github.io/pro-8000/editor/, Chrome or Edge), go to Patches, and click Format the patch memory, then Install the preset bank and/or Copy the whole factory bank.

    If the synth shows noFW at power-up and then boot, the update didn't land. Close whatever else uses the PRO 800 and send the file again; the synth waits in the bootloader until it gets one.

    Use the editor from the site (or this repository) and the tool built from this version: 0.9.1 added settings, and earlier copies read the patch number and preset mode from the wrong place.

    Going back

    The bootloader is never touched. Hold 0 and 7 at power-up and flash Behringer's stock firmware .syx the same way; MANUAL.md covers restoring the stock patch memory.

  6. v0.9.0PRO-8000 0.9.00 files

    [!NOTE] The files of this release have been removed. This version has bugs that later releases fix; install the latest release instead. The notes below are kept for the record.

    PRO-8000 is an alternative firmware for the Behringer PRO-800, and this is its first public release. The voice board stays fully analog; the firmware adds two layers (split, stack, by channel, 8 mono channels or MPE), four LFOs, four envelopes per voice, a 16-route mod matrix per layer with two macros, a step sequence in every patch, autotune within a cent, 128 named patches, the 5-pin MIDI IN socket, and a WebMIDI editor. The guides and the editor are at https://klaine.github.io/pro-8000/; the manual is MANUAL.md.

    PRO-8000 is an independent project, not affiliated with Behringer or Music Tribe. It exists because Music Tribe, Behringer's parent company, published PRO800-Firmware-Packer: the main-board schematic, the chip's memory layout, and the packer that turns a firmware image into an update the bootloader accepts.

    [!WARNING] Wildly experimental. A hobby project, built and tested on a single synth. It replaces the PRO-800's firmware, drives its analog circuits directly and rewrites its patch memory. Use it entirely at your own risk: it comes as is, without warranty of any kind (see LICENSE), and the authors accept no liability if it harms your synth, your patches or anything connected to it. Flashing unofficial firmware may also void the synth's warranty. Back up your patches first, and know the way back (below).

    New in 0.9.0

    • Envelopes, per envelope and layer: a key-up trigger, DAHDSR (delay and hold) and analog / linear / swell curves. Settings 6 is the envelope page.
    • The M TUNE knob is Macro 1's own knob; master tune is gone (autotune keeps the voices in tune).
    • Noise LFO shape (nOIS): 16 glided random values per cycle.
    • Rec + Seq 1 records sequence steps from the notes you play (Seq 2 a rest).
    • Split, stack and channel modes: layer 1 takes 1-7 voices or automatic.
    • Web editor: envelope mode and curve menus, delay and hold knobs, voices next to layers, the oscillator pictures at the measured levels.
    • From 0.8.4 / 0.8.5: the filters are checked through their tuning tables, the firmware may use up to 128 kB, and the DAC80501's setup is re-sent about 8 times a second so a garbled boot heals itself.

    Install

    pro800-0.9.0.syx is a packed update for the synth's own bootloader. With the command-line tool from this repository (scripts/tools.sh, macOS):

    build/pro800 install pro800-0.9.0.syx --yes
    

    Or hold buttons 0 and 7 at power-up to enter the bootloader and send the file with SynthTribe or any SysEx sender that paces its output (the bootloader takes about 9.6 kB/s). The first start autotunes (tUnE), silently, and 0.7.x patch records are wiped: back up your patches first (build/pro800 backup <dir>). 0.8.x patches are kept.

    Going back

    The bootloader is never touched. Hold 0 and 7 at power-up and flash Behringer's stock firmware .syx the same way; MANUAL.md covers restoring the stock patch memory.