An open API service indexing awesome lists of open source software.

https://github.com/violet-black/midiverb3

Patch editor for Alesis Midiverb III hardware FX unit
https://github.com/violet-black/midiverb3

midi midi-controller midiverb reverb

Last synced: about 2 months ago
JSON representation

Patch editor for Alesis Midiverb III hardware FX unit

Awesome Lists containing this project

README

          

# MidiVerb 3

Patch editor for the [Alesis Midiverb III](https://www.vintagedigital.com.au/alesis-midiverb-iii/) hardware FX unit.

![Screenshot](/resources/screenshot.jpg?raw=true)

- [INSTALLATION](#Installation)
- [SETUP](#Setup)
- [USAGE](#usage)
- [MENU REFERENCE](#menu-reference)
- [PATCH REFERENCE](#patch-reference)
- [ROUTING](#routing)
- [TROUBLESHOOTING](#troubleshooting)

## Installation

Download the [latest build](https://github.com/violet-black/midiverb3/releases) for your OS. It may require some
OS permissions to launch.

All the app settings and the default bank are stored at your home folder, inside `.mverb3` hidden directory.

*For advanced users: you can download the sources as Python package, install the dependencies with `pip3 install -r pyproject.toml`
and run `python3 -m mverb3` with the same result. This should be a foolproof option if you have some compatibility problems
with the app.*

## Setup

Of course, you need a Midiverb III connected to your MIDI interface.
Go to `File/Settings` (`midiverb3/Preferences` on Mac) and set up your Midiverb ports and MIDI channel.

Go to `Device/Request Bank` and wait until the bank is loaded (~10s).

Ignore the next step you don't need to store programs on the device and only wish to edit the parameters
of the current buffer / store them manually from the device.

Dump the same bank back to the device unless you set up the MIDI program id to Midiverb program id mapping table by yourself.
The editor is organized in such a way that it maps all the editable presets to program numbers from 0 to 100.
I.e. preset 100 becomes MIDI prog num 0, preset 101 becomes 1 etc...

## Usage

NOTE: Midiverb III is an old artefact. To make the work process more smooth and to preserve the device memory the editor
doesn't send parameter changes to the device buffer automatically. So if you have loaded a program or bank what is not
stored on the device you have to manually send that program to the device buffer using `SYNC` button.
(However, when you edit particular parameters from the UI their values are synchronized instantly).

Select a program slot. Check that the device changed its program number on the LCD.

Edit some parameters. Check that the device noticed that (a dot should appear on the LCD).

Use `File/Save Bank` to save to the current bank *on the computer* or `File/Export Program` to export as a single
program SYX file. You can then load it to any other slot in any bank.

If you also want to store the edited parameters on the device itself, use `Device/Store Program`. It will be stored
to the currently selected program slot.

## 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 Bank

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 Bank 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/Export Program

Save a content of the buffer to a sysex file. Note that the program is stored with its current program id.
The action will NOT automatically sync the bank to the device.

### File/Copy

Copy the content of the buffer to the clipboard.

### File/Paste

Paste the content of the buffer from the clipboard. You can use this to copy patches between the slots.
This will automatically sync the buffer on the device but will NOT store in in the program slot.

### 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 flanger
- `DLY` - standard delay up to 100ms
- `XDLY` - extended delay up to 500ms
- `REV` - reverb
- `>` - section routed to another, for example `CHS > DLY` means *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 example `CHS > DLY | CHS > REV` means *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.*

## Troubleshooting

### Will the app work with Midiverb I / II?

I don't have one, so I don't know.

### Which file format does the editor use?

The editor stores everything in the Midiverb III sysex format (programs and banks). Since Midiverb doesn't have program
names, the names are stored separately in a text file. You should be able to load any Midiverb III sysex data into the
editor without a problem.

### Unable to select programs below 100 using MIDI program change

There's no program bank feature on the Midiverb III, so the total number of selectable programs is limited to 127.
Currently, I don't have a feature to manually map those slots from the editor, but it's planned for the future.

### 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.
You can press `Device/Store Program` button to actually save the program in the selected program slot. Alternatively
you can store your banks / programs on the computer and use the `SYNC` button to load single patches into the current
device buffer only when you need them.

### The app doesn't start anymore

Try going to your user home folder, locate and delete `.mverb3/settings.json` file.
This should reset the app to its default settings.

### App doesn't switch programs etc

Check that the `program change` option is enabled on your MidiVerb device.

### Strange behavior of sliders

To minimize the load on the device the sliders are designed to send their values only when you release the slider.

### Hard to set a precise value

Click on a slider once and then use the arrow up/down keys to set the exact value.

### There's a time lag during tweaking

Yes, there is some mandatory MIDI lag, which is recommended by the Midiverb III service manual. It's an old piece of
gear after all.

### The device produces pops / clicks when using MIDI modulation from my DAW

Well, for old hardware with a 3 mips CPU it's kinda expected. I've noticed that the unit can handle certain modulations
better than another. Note number modulation works much better for chorus speed than for delay time for example. You
have to experiment.

Cheers.