emu3bm is an E-Mu EIII and EIV bank manager. It allows to create banks, add and extract mono or stereo samples and edit some preset parameters.
Although Emulator samplers from series EIII and EIV use the same filesystem, the bank format is very different and only banks for the EIII series are supported.
On EIV banks, content listing and sample extraction is possible by using the emu4bm binary included in this project. Note that emu4bm is very experimental.
Other interesting features are:
- Preset import from SFZ files
- Bulk edition
- Setting the pitch bend range beyond the 12 semitones limit
As with other autotools project, you need to run the following commands.
autoreconf --install
./configure
make
sudo make install
The package dependencies for Debian-based distributions are:
- automake
- libtool
- build-essential
- libsndfile1-dev
- libsamplerate0-dev
You can easily install them by running this.
sudo apt install automake libtool build-essential libsndfile1-dev libsamplerate0-dev`
Use -v for additional information and use it more than once for even more information.
List presets and samples in a bank.
$ emu3bm Vintage+InstrmtX
Preset 001: Grand Piano
Preset 002: Slack Piano
Preset 003: Tight Piano
[...]
Sample 001: puls98c0
Sample 002: puls96c0
Sample 003: puls94c0
[...]
$ emu4bm 619\ Grooved
Sample 001: 619 Grvd Kick 1
Sample 002: 619 Grvd Kick 2
Sample 003: 619 Grvd Snare 1
[...]
Extract samples from existing bank including the loop points and the loop enabled option. Use -X to prepend the sample number.
$ emu3bm -x bank
$ emu4bm -x bank
Create a new bank.
$ emu3bm -d esi2000 -n bank
$ emu3bm -d emu3x -n bank
$ emu4bm -n bank
Import a sample including the loop points and the loop enabled in it.
$ emu3bm -s bd.wav bank
$ emu4bm -s bd.wav bank
Add a new preset from a SFZ file.
$ emu3bm -S marimba.sfz
Create a new preset.
$ emu3bm -p BassDrum bank
Add a primary layer to preset 0 from sample 001 with original key F#2 from C2 to C3. Upper and lower case note names are allowed.
$ emu3bm -e 0 -z 1,pri,F#2,c2,c3 bank
The same thing can be accomplished by using key numbers.
$ emu3bm -e 0 -Z 1,pri,33,27,38 bank
Set preset 0 filter to the first one.
$ emu3bm -e 0 -f 0 bank
Set preset 0 cutoff to 200.
$ emu3bm -e 0 -c 200 bank
Set preset 0 Q to 10.
$ emu3bm -e 0 -q 10 bank
Set preset 0 VCA level to 100%.
$ emu3bm -e 0 -l 100 bank
Set preset 0 pitch bend range to 24.
$ emu3bm -e 0 -b 24 bank
Set all presets realtime controllers. In this case, we are setting:
- Pitch Control to Pitch
- Mod Control to LFO -> Pitch
- Pressure Control to Attack
- Pedal Control to Crossfade
- MIDI A Control to VCF Cutoff
- MIDI B Control to VCF NoteOn Q
- Footswitch 1 to Off
- Footswitch 2 to Off
$ emu3bm -r 1,4,8,9,2,10,0,0 bank
This section includes some notes on implementation details and device limitations that are worth sharing even though they might have nothing to do with the code in the project.
- Loop start must be greater or equal than
2. - Loop end must be lower than
lenth - 2 - Loop length need to be 10 samples at least.
- Based on all this constraints,
emu3bmwill try its best to convert loop points. Also, if loop start equals loop end, loop is disabled.
- Device note range go from
A-1(MIDI note21) toC7(MIDI note108). Notice that other vendors call the same MIDI notesA0andC8. - Based on this,
emu3bmwill not be able to set the note outside this range regardless of the name, and exporting might change the note number.
- SDS upload seems to add a zero sample at the beginning and remove the last one. This means that on every upload-download pair of operations, the last sample would be shifted out.