Ultra Hold 1.0

UltraHold is a completely free midi tool for the EWI 4000s wind controller from Akai Professional. It is implemented as command line tool without any graphical user interface. Nevertheless it is a fully functional midi processor with no noticable delay and easy to use. It can be considered as a case study, to get feedback for a future application with a modular architecture and a graphical user interface.

Download Ultra Hold 1.0

Click here to download Ultra Hold 1.0 for Windows
Click here to download Ultra Hold 1.0 for Mac OsX

Easy Legato Playing

Ultra Hold includes a feature for easy legato playing. Arpeggios over several octaves and difficult triller notes (e.g. C/D) can be played much easier. This is done by restricting the intervals which can be played legato to a perfect fourth. So if e.g. a major arpeggio is played legato and the left thumb shifts the octave position a little too early, the unwanted note (octave jump) will be transposed. Then the transposed note will be recognized as the current note and therefore will be filtered. If the left thumb shifts the octave position a little too late, the unwanted octave jump is suppressed in a similar way. For all triller notes, the left thumb can now be rest in the position of the starting note. It is also easy to play quick large interval jumps (e.g. larger than two octaves). Just roll the left thumb to the position of the new note while playing the note before the jump. The old not will just be held. Then tongue the new note. This effect will be customizable in future versions. Please let me know your experiences with this playing mode.

Defining a Pedal Base Note

The lowest octave position is reserved to define the base notes and cannot be used otherwise. The lowest octave can be reached very comfortable by just removing the left thumb from the octave roller bar. The definition of a base note can be done very quickly: If a melody note was played before the base note definition, then the note will be held out until the air stream stops or another note is fingered after the the base note definition.

Exercise Mode

Using the exercise mode (see section 'options'), the new defined base note will be played together with the next tongued (non legato) note. The base note can be stopped by touching the bend up plate.

Standard Mode

Using the standard mode (see section 'options'), the new defined base note can be played by pressing one of the two pitch bend sensors. If already a base note is held out, the old base note has to be stopped by removing the thumb from the bend plate before the new base note can be played. The base line has a range of two octaves. The pitch up sensor is used for the higher base octave, the pitch down sensor for the lower. The pressure sensitive pitch bend fields also control the volume of the base note. Thereby the midi control change types chosen for the breath sensor output are used. You can use the CcView midi tool to monitor the different midi events.

Additional Modes

Future versions will have additional, more flexible modes. It would e.g. be possible to transform the base notes to special articulation notes for software sampler. Or the 'base notes' could be used to choose among different transformations of the bend plate midi events. Please give me some feedback.

Midi Channel

The midi channel used for the melody output is always the same as the midi channel of the incoming midi events. The next midi channel number will be used for the base notes (e.g. melody channel 1, base channel 2).

Options

Bypass: The midi stream will not be processed.
Exercise Mode: See section 'Exercise Mode'.
Standard Mode: See section 'Standard Mode'.
Transpose Base Line Down: Base notes will be played one octave lower.
Transpose Base Line Up: Base notes will be played one octave higher.
Select Bb-Instrument: Important! See explanation below.
Select C-Instrument: Important! See explanation below.
Select Eb-Instrument: Important! See explanation below.
Quit: Quit application.

The instrument selection (Bb, C or Eb) has to match the selection of the EWI. Otherwise the lowest octave roller position cannot be detected correctly.

EWI 4000s Setup for Ultra Hold

There is only one important condition: The bend plates must send control change (CC) events. If the bend plates are sending pitch bend events in addition, then all pitch bend will be filtered (explanation see below). The reasons for this restrictions is following: To obtain maximum flexibility, it is desirable to receive four independent signals from the breath sensor, the bite sensor and the two bend plates of the EWI4000s. Thereto the midi output of the bite sensor has to be set to pitch bend only. Otherwise breath sensor and bite sensor output will be mixed. Thus the pitch bend events for both bend plates have to be disabled. Then the EWI can be set to send following, independent midi signals:

Midi Learn Procedure

For user-friendliness, Ultra Hold uses a midi learn procedure to detect the CC events that your EWI is sending. Just follow the instructions after starting the Application. Please read the section 'EWI 4000s Setup for Ultra Hold' if any warnings are shown.

Sending the Processed Midi Data to the main Application

If you start Ultra Hold, you will be first asked to select the midi input port connected to the EWI. The windows version will then ask you to select the midi output port. You will need a good virtual midi cable in order to send the midi signal to another application. This is a pseudo driver which mirrors the incoming midi signals back to the computer instead of sending it to a hardware midi interface. I made very good experience with the free Midi Yoke cable. I had problems with the LoopBe cable. It has a protection mechanism which consider large CC streams to be midi feedback. If this happens, the signal will be muted.

The Mac OsX implementation is different as it creates a virtual midi input node named 'UltraHoldInterface' itself. This node can be selected as midi input from the main application. Therefore the user is not questioned for a midi output port.

It has to be mentioned that Ultra Hold cannot be used properly together with Garage Band, as it is not possible in Garage Band to select or filter the midi input. Thus the unprocessed midi input from the EWI will allways be mixed with the processed midi output from Ultra Hold

Installation

No installation is needed! Just extract the zip file and run the executable.

System Requirements

Windows 98/Me/2000/XP/Vista or Mac OsX.


NOLOOPS © 2007 by Jan Hofmann