Overview 

ChipArp is a very basic MIDI arpeggiator VSTi. It takes pre-recorded or
realtime MIDI stream and produces modified data with polyphonic chords being
converted into arpeggios. Unlike all MIDI arpeggiators known to me, this one
is actually designed to produce true chiptune arpeggios rather than traditional
music ones. This is achieved by smoothly changing the pitch using Pitch Bend
messages rather than note on/off events that would rapidly restart a
sample/sound, creating unwanted buzz. The MIDI output can then be used to
control any VSTi that supports instant pitch bends and RPNs to set up the
pitch bend range.

What makes ChipArp different compared to existing arpeggiators is the
transparent interface (just play chords like usual), smooth rapid arpeggios
of configurable speed rates, and potential to use it in unform way with
different synths, compared to the always different native arpeggio
implementations in some chiptune-targeted VSTi synths.



Controls

BPM - set BPM as the base clock for arpeggio. It is done in BPM rather than Hz
      to make it easier to sync the arpeggio with a song tempo. Keep in mind,
	  however, than starting playing mid-song will cause misaligned arpeggio
      until next note off/on.

Speed - this is multiplier for given BPM to easily increase/decrease speed of
        arpeggio without calculating and changing the BPM setting.

Direction - sets up the arpeggio direction to either all-up, all-down,
            up-and-down. To make sure lowest or highest note will play first,
			you can either start all notes of a chord at exact same tick, or
			give all but the first note a slight deiay, for a tick or so.

Bend range - sets up one of the extended or compatibility pitch bend range,
             see section below



Compatibility

Please note that ChipArp abuses the Pitch Bend messages in order to work. This
causes a number of compatibility issues.

ChipArp has been designed specifially to use with my 1bitstudio synth plugins.
These were all designed with full pitch bend support, including ability to
change its range using RPNs to any number of semitones (up to 127). This
gives ChipArp a range of five octaves in one arpeggio when it set to the
60 (Extended) mode, active by default.

Unfortunately, it is not very usable with most of other existing VSTi synths,
because of a very limited/quirky pitch bend support in these. Most of them only
support the maximum 'standard' bend range of 12 semitones up/down. Some of them
override the bend range setup with a user control, most of them also
interpolate the bend curve, and so on, making the bends imprecise or too slow,
thus producing undesired results. There is the 'Compatibility' option in the
ChipArp to force it down to the standard 12 semitones range, which is severely
limits possible arpeggios (they has to have all notes within a single octave).

Here is a (incomplete) list below of tested VSTi's that displayed a usable
support in the compatibility mode.

- TAL U-NO-62 (set the pitch bend slider to the max)
- VST2413 (set PWheel to 12)
- Magical 8bit Plug (set BendRange to 12)



License 

The plugin and its source code comes without any warranty. You can 
redistribute it and/or modify it under the terms of the WTFPL. See 
http://www.wtfpl.net/ for more details. 



History 

v0.2  19.04.17 - a number of extended range settings; incoming
                 bend messages now take effect as usual (arpeggio
				 can be additionally pitch bended up/down)
v0.12 01.04.17 - pitch bend depth RPN is re-sent constantly now,
				 to avoid glitches when the syntn gets replaced
v0.11 30.03.17 - improved note off/on handling in the same tick
v0.1  29.03.17 - initial release



by Shiru http://shiru.untergrund.net/