MidiVerb 3
Patch editor for the Alesis Midiverb III hardware FX unit.
- INSTALLATION
- CONFIGURATION
- USAGE
- MENU REFERENCE
- PATCH REFERENCE
- ROUTING
- MIDIVERB TIPS
- TROUBLESHOOTING
Installation
Go to the release page and download the binary for your OS.
It may require permissions to access the user directory, since the app stores its settings in .mverb3
hidden folder inside the user directory.
Alternatively there's a Python package available, which can be installed via
pip and run by executing midiverb3 command in the terminal (or alternatively python3 -m midiverb3).
The app uses pySide6 Qt binding for the GUI.
Configuration
-
Be sure that the MidiVerb is on and both MIDI in and MIDI out are plugged in.
-
Start the app, open
File/Settings(ormidiverb3/Preferenceson Mac). Set MIDI in and MIDI out to the MidiVerb ports. Click OK. -
Go to
Device/Request Bankmenu. The MidiVerb will now dump its current bank to the app. Then the bank will be sent back to the device. This operation may take up to 20 seconds. Once finished, you won't need to do it again or even use the device MIDI output. -
Try to switch programs from the app to verify that the device is reacting to it.
Usage
The easiest way to work with the app is to tweak sliders in the UI, then click File/Save Single and save the buffer
to a sysex file. Once you need it again, you can File/Open it. This will also automatically send the data to
the MidiVerb buffer.
This type of workflow doesn't require either storing data in a bank or saving it to the device program memory.
Alternatively you can duplicate the current bank by using File/Save As. Go to the settings and click
Send buffer to device on prog change checkbox. Now you can work with your bank, change presets, and they will be
automatically sent to the MidiVerb buffer. I.e. the bank itself is stored entirely on your computer, but the sliders
and switches are synchronized with the device. This way you can manage multiple banks at once by switching them using
File/Open.
If you actually need to store programs on the device, use Device/Store Program or Device/Store Bank. MidiVerb 3
can store only one bank and 100 user programs (slots 100-199).
Menu Reference
File/New
Create a new bank from the default template and open it. The action will NOT automatically sync the bank to the device.
File/Open
Open a bank or a single program in the sysex format from a file. This way you can import banks and programs. The action will NOT automatically sync the bank to the device.
File/Save
Save the current bank changes on the computer. The buffer is saved to the currently selected program slot. The action will NOT automatically sync the bank to the device.
File/Save As
Copy the current bank to another location on the computer. You can use this for backups. The action will NOT automatically sync the bank to the device.
File/Save Single
Save a content of the buffer to a sysex file. The action will NOT automatically sync the bank to the device.
Device/Store Program
Store the current buffer in the selected program slot in the device memory.
Device/Store Bank
Send the whole bank to the device. This operation may take up to 10 seconds. CAUTION: This operation will overwrite all the device data.
Device/Request Bank
Request the whole bank from the device. CAUTION: This operation will overwrite all the bank data on the computer.
Patch reference
LPF
Input EQ which is actually a lowpass filter.
CHORUS
Select a chorus or flanger algorithm. Letters XS to XL indicate the depth of the effect. The slider indicates
the rate (speed) of the effect.
DELAY
The delay parameters. The time is in milliseconds. Regen is the feedback level. Level indicates how much of the
delay is routed to the mix.
REVERB
Decay is the reverb decay, Level indicates how much of the reverb is routed to the mix. ALGORITHM allows you to
select the reverb algorithm.
LPF
Another lowpass filter may be either delay or reverb feedback signal filter depending on the algorithm.
MODULATION
You can select the source and the destination for the MIDI modulation of one of the delay parameter (yes, only one). The modulation itself can be kinda glitchy, so I'd recommend limiting the rate of MIDI messages and use mono mode if using the note number or velocity modulation. The slider indicates the depth of the modulation.
SYNC
Send current buffer (GUI values) to the device. To do this automatically on program switch you can set
Send buffer to device on prog change flag in the app settings. By default on program change the device retains its
stored program.
RECALL
Discard the edit buffer and revert to the program stored in the local bank (not on the device).
Routing
Although not ideal, there's a certain notation for the internal routing in the algorithm select menu. You may try to get familiar with it or just tweak by ear.
LP- input lowpass filter (EQ in the manual)CHS- chorus or flangerDLY- standard delay up to 100msXDLY- extended delay up to 500msREV- reverb>- section routed to another, for exampleCHS > DLYmeans chorus routed to reverb( )- section is not mixed to the output bus, for example(LP)means that the lowpass filtered signal, although routed somewhere, is not directly mixed to the output. Note that both delay and reverb may be routed to the mix bus, but their level may be set to zero. The chorus doesn't have a separate level parameter, so it's eiter all or nothing.|- parallel routing, for exampleCHS > DLY | CHS > REVmeans chorus routed to the reverb and to the delay in parallel
Examples:
(LP) > CHS > DLY | (LP) > CHS > REV
Lowpass filter is routed to the chorus which routed to the delay. Also in parallel lowpass filter is routed to the chorus which is routed to the reverb. Lowpass filter is not mixed to the output.
(LP) > (CHS) > XDLY
Lowpass filter is routed to the chorus which is routed to the extended delay. Both the lowpass filter and the chorus are not routed to the mix bus, but delay is.
MidiVerb Tips
Route your piano or another keyboard to the delay input in your DAW and apply note number modulation to the delay time. It will create 'random' glitchy echoes when played.
Alternatively try using negative reverb level / decay modulation on note velocity to create a glitchy 'compression' effect.
Use routing algorithms with extended delay (XDLY) to get delay time longer than 100ms.
Overload the input to produce ugly lo-fi digital distortion.
Troubleshooting
Will the app work with Midiverb I / II?
I don't have one, so I don't know. Probably it won't. I wouldn't recommend that.
Unable to select programs below 100
This is intentional, because there's no way to edit factory programs anyways and there are only 127 possible MIDI program numbers. On bank import the app will remap all program slots to presets 100-199 to be able to navigate between them using MIDI program change messages.
Presets are not saved on the device
By default, the app is configured such way that it uses the internal memory as less as possible (who knows how many writes it can withstand). The idea is that you load your device bank in the computer, and then you operate locally only sending changes to the device buffer while you are using it.
You can press Device/Store Program button to actually save the program in the selected program slot.
The app doesn't start anymore
Go to your user folder, locate and delete mverb3/ directory. This will reset the app to its default settings.
App doesn't switch programs etc
Check that the program change option is enabled on your MidiVerb unit.
There's lag between switching programs or other operations
It's by design. The official MidiVerb service guide says that the device requires at least 40 ms in between messages. It's a very old hardware after all, and midi processing speed is pretty limited, so some lags should be expected.
The device produces pops / clicks when using MIDI modulators
Well, it's an old hardware with 3 MIPS CPU so what can you do? It's a miracle that it even works. For such values as note number modulation or velocity modulation I'd suggest using mono note input. Note number modulation of the delay time can provide quite interesting results when used carefully.
Cheers.
Metadata
Release files for midiverb3 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| midiverb3-1.0.5-py3-none-any.whl | Python 3 | none | any | Details for midiverb3-1.0.5-py3-none-any.whl |
Release files / midiverb3-1.0.5-py3-none-any.whl
| Download URL | midiverb3-1.0.5-py3-none-any.whl |
|---|---|
| Size | 23.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4daba027290021b391e9b8c85ecd208c01d774b464fbd031c777888583326d73
|
|
BLAKE2b-256 checksum How to use checksums |
4856b8c675eccc6a9df4d4022c0fb4589f020f1119c0fe036ffc73411e5edd0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 23, 2025.
Transparency logSecurity for midiverb3 1.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 1 file in this release has been uploaded with provenance metadata.
Attestation for midiverb3-1.0.5-py3-none-any.whl
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 23, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.