LV2 Doc «MIDI Strum» [Filter]

Description

A midi arpeggio effect intended to simulate strumming a stringed instrument (e.g. guitar). A chord is 'collected' and the single notes of the chord are played back spread out over time. The 'Note Collect Timeout' allows for the effect to be played live with midi-keyboard, it compensates for a human not pressing keys at the same point in time. If the effect is used with a sequencer that can send chords with all note-on at the exactly time, it should be set to zero.

Title
MIDI Strum
URI
http://gareus.org/oss/lv2/midifilter#midistrum
Class
Filter
Author
Robin Gareus
Author's Email
mailto:robin@gareus.org
Author's Homepage
http://gareus.org/
Required Feature
  • URID map
Optional Feature
  • Hard Realtime Capable
Screenshot
   
0) MIDI In
(midiin)
 
(midiout)
1) MIDI Out
3) BPM source
(bpmsrc)
 
(latency)
2) latency
4) BPM
(bpm)
 
5) Strum Direction
(mode)
 
6) Note Collect Timeout [ms]
(collect)
 
7) Strum Duration in Beats
(duration)
 
8) Strum Acceleration
(adjspeed)
 
9) Velocity Change
(adjvelocity)
 
10) Randomize Acceleration
(randspeed)
 
11) Randomize Velocity
(randvelocity)
 
   

Port List

0) MIDI In

(Midi Input)

3) BPM source

(Control Input)

Port Properties:

  • Integer
  • Enumeration

Default: 1.000000

Scale Points
0Control Port
1Plugin Host (if available)

4) BPM

(Control Input)

base unit for the time (unless host provides BPM)

Range
min1.000000
max280.000000
default120.000000

5) Strum Direction

(Control Input)

Port Properties:

  • Integer
  • Enumeration

Default: 2.000000

Scale Points
0Always Down (low notes first)
1Always Up (high notes first)
2Alternate
3Up/Down Beat
4Up/Down 8th

6) Note Collect Timeout [ms]

(Control Input)

Time to wait for chord to be 'complete'. Keys pressed withing given timeframe will be combined into one chord.

Range
min0.000000
max300.000000
default15.000000

7) Strum Duration in Beats

(Control Input)

Range
min0.000000
max4.000000
default0.250000
Scale Points
0.0Immediate
0.12532th
0.2516th
0.5Eighth
1.0Quarter
2.0Half Note
4.0Whole Note

8) Strum Acceleration

(Control Input)

Accellerate/Decelerate over the time of the strum. The total duration remains unchanged. If the value is greater than zero, early notes are further apart and later notes will be closer together.

Range
min-1.000000
max1.000000
default0.000000

9) Velocity Change

(Control Input)

Modify velocity over stroke time. If the value is greater than zero, later notes will played louder.

Range
min-112.000000
max112.000000
default0.000000

10) Randomize Acceleration

(Control Input)

Amount of randomization to apply to the accel/decel setting. A Value of 1.0 means to add a random-number of the full-range (-1..1) to the given value.

Range
min0.000000
max1.000000
default0.000000

11) Randomize Velocity

(Control Input)

Amount of randomization to apply to the acceleation value. A value of 1.0 means to add a random-number of the full-range (-112..112) to the given value.

Range
min0.000000
max1.000000
default0.000000

1) MIDI Out

(Midi Output)

2) latency

(Control Output)

Port Properties:

  • Reports Latency
  • Integer
  • Not On GUI

Range
min0.000000
max192000.000000