MIDI Arpeggiator

Licence and limited warranty
MIDI Arpeggiator may be freely distributed on FTP and Web sites, cover CD-ROMs and disks, so long as all the files pertaining to the program remain unaltered and present in the archive, and no charge is made for the software. Although MIDI Arpeggiator has been thoroughly tested, neither its author, or Electronic Cow will be held accountable for any loss, consequential or otherwise, incurred during the use and/or misuse of the software. This program is freeware. Consequently, there is limited technical support (via the Cow-net Web site at www.cow-net.co.uk), no upgrades, and no promise of new versions is implied.

Contents


Tool bar
MIDI Arpeggiator's tool bar is the hub of all activity in the program. All disk functions, and other menu options that couldn't otherwise be accessed when the software is run as a desktop accessory, can be accessed from here.

Save as...
[control]+[s]
The save function allows you to store Arpeggios on disk for later retrieval. MIDI Arpeggiator not only saves the track information, but all of the settings too (even the current sequencer position!), so you can return to exactly where you left off.

Open
[control]+[o]
When an Arpeggio is loaded from disk, all the controller data set in the file will be automatically transmitted via MIDI, to set-up the sound module ready for play back. All revisions of the *.ARP file format are accommodated in version 3.0; parameters that didn't exist in older versions are filled with default values.

Export MIDI file
[alternate]+[s]
Individual patterns can be saved as type 1 standard MIDI files, so that the Arpeggios you create in MIDI Arpeggiator can be used in other sequencers too! The MIDI file MIDI Arpeggiator generates contains three tracks: A, B, and Duophonic (if active), the tempo, and all MIDI controller data (including program changes) at the beginning of each track. Also, if the track was 'flipped', then flipped note data is stored instead of the original notes.

New
[control]+[n]
Pressing the eraser button can either completely clear the Arpeggio, or selectively delete parts. A dialogue box will appear asking you to make a choice from deleting data from: track A; track B; both tracks; the MIDI mixer; or alternatively, the whole thing, or nothing at all (for when you change your mind).

Reset all notes
[control]+[r]
Should any notes hang, MIDI Arpeggiator can send an all-notes-off message on all channels that, in most cases will squish them. It won't work if your sound module does not recognise the MIDI controller 0x7b as all-notes-off.

MIDI clock
[control]+[c]
MIDI Arpeggiator can be used to control a sequencer or other MIDI device (like an arpeggiator or LFO clock), using standard MIDI clock messages. Additionally, MIDI Arpeggiator will also transmit and receive standard MIDI sequencer controllers for song start (0xfa) and stop (0xfc).

Semi-Quaver/Quaver step-rates
[control]+[f] / [control]+[e]
Each sequencer entry in MIDI Arpeggiator has a uniform duration, and this can be globally changed to either semi-quavers (where one pattern is equal to one bar), or quavers (two bars to one pattern).

Duophonic
[control]+[d]
This control switches on and off the 'duophonic' part, or track D. Unlike tracks A and B, you cannot record onto the duophonic track, since it is automatically generated. However, it is possible to affect certain performance parameters; controllers such as pan, volume, and program change can all be set using the MIDI mixer (see below for more details). The duophonic part also has four different algorithms, each with very distinct characteristics, but each still using the notes you input into the recordable tracks as the seeds from which the part derives its own.

Send MIDI Controllers
[alternate]+[p]
All of the controller messages (set using the MIDI mixer) can be sent simultaneously by pressing the joystick button. Since MIDI Arpeggiator only sends controller data when the dials are moved, simply changing the auxiliary controller numbers will not send the data to the new controller selected. Pressing this button is the remedy.

Back to top

Various attributes of the Arpeggio can be controlled using MIDI Arpeggiator's mixer. In fact, it's much like an audio mixer with a volume fader, a pan control, and two auxiliaries, except that it sends MIDI controller data as opposed to affecting the sound directly. The dials can be turned using the left and right mouse buttons, for anti-clockwise, and clockwise respectively. By holding the [shift], or [shift]+[control] simultaneously, the dial will move around much faster. There are three channel strips; A and B correspond to the two editable tracks; D is the duophonic part, and this lets you control performance parameters for the automatically-generated part.

Dial control

MIDI Controller number

Aux 1
Aux 2
Pan
Fader

User-definable (0 - 127), preset to 91 (GM reverb)
User-definable (0 - 127), preset to 95 (GM chorus)
10 (pan)
07 (main volume)

Underneath the dials are a set of buttons for determining each track's status: [s] is select, and with this highlighted, the track will play; [r] is record enabled; [a] is to enable auto-panning; [f] is to flip the note data in the track. With the record button active it is possible to enter notes onto that track using the on-screen keyboard (or external MIDI controller), and also to use the Edit tools. Both tracks can even be recorded onto or edited upon at once. However, when using an external MIDI keyboard to input notes, it must correspond to one (or both, if it has keyboard zones!) of the track's MIDI channels, else no notes will be recorded.

Select

Record Enable

Auto-pan

Flip

Track A

F1

F3

F7

F9

Track B

F2

F4

F8

F10

Auto-pan is one of two special effects which can be applied to the track; it simply moves the music on the track around the stereo field, mostly somewhat randomly! Flip is the second special effect, and this takes all of the high notes in the track and plays them low, and vice versa, rotating them around the central-most point in the note bandwidth. It is not-destructive in that no alterations are actually made to the note data, rather all the processing is done in real-time. The four buttons on the duophonic channel determine the algorithm.
All three channel strips have four input boxes at the bottom. These set the MIDI channel (for polyphonic arpeggios, each track can be set to the same channel), program change number, and the controllers for the two user-definable auxiliaries. Auxiliaries one and two can be set to any controller and so, depending on your sound module, could be used for anything: opening filters, increasing resonance, or accelerating LFO modulation! In addition, each track's auxiliaries are independently set, and so effectively, you have real-time control over eight MIDI parameters (including pan and volume)! By holding down the [shift] or [shift]+[control] buttons, the value set can be changed in steps of 10, and 100 respectively.

Back to top

This huge bar displays the actual data in tracks A and B, with each section corresponding to a single step. Underneath each step is an LED which denotes the current song position (you can click on these to jump to steps to input more notes). Note data is represented numerically, and so for example, 60 is middle C. A 0 means that the entry is empty. In additional to displaying note data, the sequencer bar may also display each note's velocity as well. To toggle the display press the view button in the bottom right corner, or press [control]+[v].
Once recorded, note or velocity data can be edited by clicking upon the number with the left or right mouse button to subtract from or add to the current value. Again, holding down the [shift] or [shift]+[control] buttons, values can be changed in steps of 10, and 100 respectively. By pressing [delete] it is possible to clear the currently selected step (either note or velocity data, depending on what the view mode is set to display); [backspace] however, will erase both the note and velocity data for the currently selected step.

Button

Keyboard short-cut

Button

Keyboard short-cut

Play
Stop
Rewind
Fast forward
Record

[enter] or [return]
[space]
cursor left
cursor right
[*] on keypad

Forward
Backward
Ping-pong
Random
Record Controllers

[alternate]+[1]
[alternate]+[2]
[alternate]+[3]
[alternate]+[4]
[alternate]+[r]

Back to top

Just like any sequencer, MIDI Arpeggiator has a set of tape-like buttons for whizzing around the tracks with. Fast forward and rewind can be used to move the song pointer along, so that notes may be erased or over-written; they can even be used to jump around whilst the sequencer is actually playing! Record starts the direct-to-disk MIDI file recording, and so does not have to be pressed just to play notes into the sequencer.
Unlike most other sequencers, MIDI Arpeggiator will actually let you play back patterns in different ways; straight-forward looping (normal or reversed), ping-pong, and random, can all be selected (even in real-time) from the directional arrow buttons. There is one last button in the transport bar, and this is used in conjunction with the direct-to-disk MIDI file recorder (see below),

Sequencer control
There are actually sixty-four steps on tracks A and B, but these are arranged into four patterns each comprising sixteen entries. The Sequencer control box determines which of the four patterns is to be played, and it can either be done manually, or automatically using one of the song play modes. In manual mode (the square button), MIDI Arpeggiator will only play the pattern pointed to by the arrow. You can press any of the four numbered buttons to change patterns at any time (even whilst the sequencer is playing), or use keys [1]...[4] on the number pad.
Like the pattern play modes, MIDI Arpeggiator can play back the song in many different ways: straight-forward looping (normal and reversed), ping-pong, and random. When the song mode is set to one of the above, instead of repeating the pattern, MIDI Arpeggiator will move onto the next one. However, it is worth noting that the Sequencer box does not move with the patterns, rather it remains on the pattern currently being edited. This allows you to record and edit patterns in real-time, whilst MIDI Arpeggiator plays back another one!
In addition to accommodating the song play modes, the Sequencer control also has two settings for the left and right locators (editable by clicking upon the number boxes with the left and right mouse buttons). These allow you to loop around sub-sections within the patterns, making bizarre off-beat time signatures and so on.

Scale tools
[alternate]+[c]
The snap-to-scale function is designed to make sure that whatever note is inputted, it is never 'out of key'. The key itself is user-definable: by disabling the buttons on the keyboard map, you effectively remove that note from your user-scale. If this note is then played in, it is automatically moved to the nearest note in the scale (the scale tool is intelligent enough to even transpose to another octave, if necessary, to find a suitable note). Whether MIDI Arpeggiator moves the rogue note up or down to a value that is acceptable on the user-scale is set using the up and down arrows on the left of the keyboard. Snap-to-scale can be disabled, or changed at any time during your composing.

Edit tools
[alternate]+[f]
As well as being able to manually edit steps using the Sequencer box, MIDI Arpeggiator has a special set of tools for automatically 'filling in' patterns. The Edit tools box also determines which of MIDI Arpeggiator's four patterns is currently being edited (and thus displayed in the Sequencer box). To switch between the four patterns, use the numbered buttons or press [control]+[1]...[4].
Fills can be limited to a sequential group of steps in a pattern by setting the start and end markers (click on the numbers with the left or right mouse button). By setting the start to 1 and the end to 16, the automatic fill will cover the entire pattern. In addition, it is possible to give the fill a certain attribute, just like you would with an art program, but instead of colour or pattern, you get direction: a choice of upwards, downwards, random, or flat. In all cases, the 'fill' never exceeds the ranges set in the boxes pointed to by the arrow. In flat mode, the topmost box is taken as the 'seed' value.
On its own, the fill tool has lots of uses, and combined with the snap-to-scale, it has even more. Note that the fill will only work on tracks that are record enabled, and on note and velocity data separately (depending on the sequencer box display mode).

Back to top

Copy and Paste patterns
Note and velocity data may also be exchanged between any of MIDI Arpeggiator's four patterns, using a built-in clipboard function. To copy the currently selected pattern, press [control]+[x], and to paste it back again, press [control]+[p]. Both copy and paste take into account the edit range markers, and so some very interesting hybrid patterns can be made with creative use of these tools. Note that tracks may only be pasted onto if they are record enabled, and data cannot be pasted from one track to the other.

Direct-to-disk MIDI file recorder
[*] on keypad
In addition to saving individual patterns as MIDI files, MIDI Arpeggiator can save entire 'performances' as type 0 MIDI files, in real-time, direct-to-disk. Unlike audio recording, MIDI files only use a few kilobytes of information, and so it is possible to use a floppy disk for this feature.
Each performance will record everything you do in MIDI Arpeggiator, from the time you press the record button (and enter a file name), until the time the stop button is pressed. This includes altering the step time, muting tracks, adding new notes, 'flipping' notes, and playing different patterns in different modes. With the Record Controllers option, MIDI Arpeggiator will even store a stream of MIDI controllers (volume, pan, and the two user-definable) alongside the notes, so that fades, auto-panning, and other effects can be saved. The only thing that is not saved in the MIDI file are any tempo changes (although it will save the tempo at the beginning of the track).
Type 0 MIDI files contain all the three parts in one track, and so to edit the Arpeggio performance, you must have a sequencer that can explode the song into its composite parts (Cubase and Logic both have this facility).

Virtual Keyboard
You don't have to use an external MIDI keyboard to use MIDI Arpeggiator, as it has one of its own! Although it it only two octaves on-screen, using the transpose up and down buttons (or pressing the cursor up and down keys), all eight octaves from MIDI note 0 to 127 can be played. Octave transposition can be reset so that the middle C on the keyboard is middle C (note 60), by pressing the keyboard reset button. MIDI Arpeggiator's keyboard is even velocity sensitive. Well, sort of. Using the slider on the left of the keys it is possible to alter the velocity depth of each note inputted.

Automatic Arpeggiator
[control]+[m]
This is a completely separate function from the main sequencing/compositional engine in MIDI Arpeggiator. It is a simple, real-time, sixteen-note polyphonic, traditional arpeggiator. When this is selected, it is not possible to play or record using the sequencer, and only the tempo and Auto-mode buttons A and B (and obviously the MIDI mixer!) will have any effect.
In Automatic Arpeggiator mode, the software will only transmit and receive on MIDI channel 1. However, there are two arpeggio types to choose from: A and B. Arpeggio A uses a rhythm and accent template, whilst B is a more traditional up and down arpeggiator, but with octave jumping thrown in for good measure.
Back to top