yamaha clavinova clp-820 functions
-
f7 3 is the function for
local control disabling -
f7 1 and 2 are midi send/ receive channels
-
f2 1 sets temperament
1 is Equal
2 maj
3 min
4 pythagorean
5 meantone
6 werkmeister
7 kirnberger
yamaha clavinova clp-820 functions
f7 3 is the function for
local control disabling
f7 1 and 2 are midi send/ receive channels
f2 1 sets temperament
1 is Equal
2 maj
3 min
4 pythagorean
5 meantone
6 werkmeister
7 kirnberger
in loopy pro ndercustom midi messages
to pull up the drums:
B0 00 78 B0 20 00 C0 00
i forgot the last 00 at the end which is why it didn't work before.
Instrument MIDI Command
piano B0 00 00 B0 20 00 C0 01
bass B0 00 00 B0 20 00 C0 21
jazz-gt B0 00 00 B0 20 00 C0 1A
brass B0 00 00 B0 20 00 C0 3d
strings B0 00 00 B0 20 00 C0 30
tonewheelorg B0 00 00 B0 20 00 C0 10
clav B0 00 00 B0 20 00 C0 07
trombone B0 00 00 B0 20 00 C0 39
mute gt B0 00 00 B0 20 00 C0 1c
choir B0 00 00 B0 20 00 C0 34
barisax B0 00 00 B0 20 00 C0 43
press shift + tempo + 0 + enter to disable the external midi clock
had a similar problem with microkorg giving errors when trying to send patches over midi cable. I think it just sends too much data at once and gets garbled so this reduces that significantly.
made an insturment for the decentsampler vst that can also run on ios. Its 64 digital waves you can swap between using the modwheel. If you rename the .dslibrary file to zip and extract there is a .sfz mapping which uses the same samples but maps them differently. The soundfont has no UI but its got a lowpass filter and amp and filter egs that correspond to the mk. The sfz is monophonic while the decentsampler patch is polyhonic.
Guru lets you load presaved mappings for controlling hardware synths
so you dont need to reinvent the wheel and map everything out each time
on linux the scripts go in somewhere in /.config/renoise/scripts/tools
The Renoise Tool Guru
return SynthDefinition {
id = "korg_microkorg",
name = "Microkorg",
author = "Bweew",
Section {
Group {
name = "Filter",
Parameter { id="filter_type", name="Type", type="cc", number=83 },
Parameter { id="cutoff", name="Cutoff", type="cc", number=74 },
Parameter { id="resonance", name="Resonance", type="cc", number=71 },
Parameter { id="filter_eg_int", name="Filt EG", type="cc", number=79 },
Parameter { id="kbd_track", name="KBD Track", type="cc", number=85 }
},
Group {
name = "Filter EG",
Parameter { id="feg_attack", name="Attack", type="cc", number=23 },
Parameter { id="feg_decay", name="Decay", type="cc", number=24 },
Parameter { id="feg_sustain", name="Sustain", type="cc", number=25 },
Parameter { id="feg_release", name="Release", type="cc", number=26 }
},
Group {
name = "Amp EG",
Parameter { id="aeg_attack", name="Attack", type="cc", number=73 },
Parameter { id="aeg_decay", name="Decay", type="cc", number=75 },
Parameter { id="aeg_sustain", name="Sustain", type="cc", number=70 },
Parameter { id="aeg_release", name="Release", type="cc", number=72 }
},
Group {
name = "Delay",
Parameter { id="delay_time", name="Time", type="cc", number=13 },
Parameter { id="delay_depth", name="Depth", type="cc", number=94 }
},
Group {
name = "Mod FX",
Parameter { id="mod_speed", name="Speed", type="cc", number=12 },
Parameter { id="mod_depth", name="Depth", type="cc", number=93 }
},
Group {
name = "Mixer",
Parameter { id="osc1_level", name="Osc1 Level", type="cc", number=20 },
Parameter { id="osc2_level", name="Osc2 Level", type="cc", number=21 },
Parameter { id="noise_level", name="Noise Level", type="cc", number=22 }
},
Group {
name = "Osc 1",
Parameter { id="osc1_wave", name="Wave", type="cc", number=77 },
Parameter { id="osc1_ctrl1", name="Ctrl 1", type="cc", number=77 },
Parameter { id="osc1_ctrl2", name="Ctrl 2", type="cc", number=15 }
},
Group {
name = "Osc 2",
Parameter { id="osc2_wave", name="Wave", type="cc", number=78 },
Parameter { id="osc2_mod", name="Osc Mod", type="cc", number=82 },
Parameter { id="osc2_semi", name="Semitone", type="cc", number=18 },
Parameter { id="osc2_tune", name="Tune", type="cc", number=19 }
},
Group {
name = "LFO 1",
Parameter { id="lfo1_wave", name="Wave", type="cc", number=87 },
Parameter { id="lfo1_freq", name="Frequency", type="cc", number=27 }
},
Group {
name = "LFO 2",
Parameter { id="lfo2_wave", name="Wave", type="cc", number=88 },
Parameter { id="lfo2_freq", name="Frequency", type="cc", number=76 }
},
Group {
name = "V Patch",
Parameter { id="vpatch1", name="P1 Int", type="cc", number=28 },
Parameter { id="vpatch2", name="P2 Int", type="cc", number=29 },
Parameter { id="vpatch3", name="P3 Int", type="cc", number=30 },
Parameter { id="vpatch4", name="P4 Int", type="cc", number=31 }
}
}
}
been using this to sample the microkorg into renoise
Using the Dashboard Plugin In FL studio 10 I made a control surface for the Microkorg that has everything on a single page unlike the fruity midi out plugin that splits everything across several pages. I like it all on one because I find it easier to see everything and map them to hardware controllers or automate. Dropbox link
| Key | Giant Steps |
|---|---|
| G | B D7 | G Bb7 | Eb | Am7 D7 | G Bb7 | Eb F#7 | B | Fm7 Bb7 | Eb | Am7 D7 | G | C#m7 F#7 | B | Fm7 Bb7 | Eb | C#m7 F#7 |
| Ab | C Eb7 | Ab B7 | E | Bbm7 Eb7 | Ab B7 | E G7 | C | F#m7 B7 | E | Bbm7 Eb7 | Ab | Dm7 G7 | C | F#m7 B7 | E | Dm7 G7 |
| A | C# E7 | A C7 | F | Bm7 E7 | A C7 | F G#7 | C# | Gm7 C7 | F | Bm7 E7 | A | D#m7 G#7 | C# | Gm7 C7 | F | D#m7 G#7 |
| Bb | D F7 | Bb Db7 | Gb | Cm7 F7 | Bb Db7 | Gb A7 | D | Abm7 Db7 | Gb | Cm7 F7 | Bb | Em7 A7 | D | Abm7 Db7 | Gb | Em7 A7 |
| B | D# F#7 | B D7 | G | C#m7 F#7 | B D7 | G A#7 | D# | Am7 D7 | G | C#m7 F#7 | B | Fm7 A#7 | D# | Am7 D7 | G | Fm7 A#7 |
| C | E G7 | C Eb7 | Ab | Dm7 G7 | C Eb7 | Ab B7 | E | Bbm7 Eb7 | Ab | Dm7 G7 | C | F#m7 B7 | E | Bbm7 Eb7 | Ab | F#m7 B7 |
| Db | F Ab7 | Db E7 | A | Ebm7 Ab7 | Db E7 | A C7 | F | Bm7 E7 | A | Ebm7 Ab7 | Db | Gm7 C7 | F | Bm7 E7 | A | Gm7 C7 |
| D | F# A7 | D F7 | Bb | Em7 A7 | D F7 | Bb C#7 | F# | Cm7 F7 | Bb | Em7 A7 | D | G#m7 C#7 | F# | Cm7 F7 | Bb | G#m7 C#7 |
| Eb | G Bb7 | Eb Gb7 | Bbm | Fm7 Bb7 | Eb Gb7 | Bbm D7 | G | C#m7 F#7 | Bbm | Fm7 Bb7 | Eb | Am7 D7 | G | C#m7 F#7 | Bbm | Am7 D7 |
| E | G# B7 | E G7 | C | F#m7 B7 | E G7 | C D#7 | G# | Dm7 G7 | C | F#m7 B7 | E | A#m7 D#7 | G# | Dm7 G7 | C | A#m7 D#7 |
| F | A C7 | F Ab7 | Db | Gm7 C7 | F Ab7 | Db E7 | A | Ebm7 Ab7 | Db | Gm7 C7 | F | Bm7 E7 | A | Ebm7 Ab7 | Db | Bm7 E7 |
| F# | A# C#7 | F# A7 | D | G#m7 C#7 | F# A7 | D F7 | A# | Em7 A7 | D | G#m7 C#7 | F# | Cm7 F7 | A# | Em7 A7 | D | Cm7 F7 |
with a pattern length of 48 with each beat being 4 lines
set the speeds both to 2: 09-02, and 0F-02 to align with 8th note quarter notes
in 2 columns set 09 01 and 0f 01
then to reset back 09 03 0f 03
that lets you sequence like regular quarter notes across 8 lines
In the history of music trackers (especially on early computers like the Commodore 64 and Commodore Amiga), timing systems evolved because different hardware offered different ways to measure time. Terms like PPQN, CIA, VBlank, NTSC, PAL, and LPB refer to how trackers scheduled musical events such as notes and effects.
VBlank = Vertical Blank interrupt
Early trackers synchronized playback with the screen refresh interrupt.
These standards come from analog television systems used by machines like the Commodore 64 and early Amiga 500.
A tracker row advanced every N frames.
Example (classic Amiga trackers):
Speed = 6
PAL 50 Hz
Row duration:
6 frames / 50 Hz = 120 ms per row
This system was used in early trackers such as Soundtracker (1987).
The Commodore Amiga had CIA chips (Complex Interface Adapters) with programmable timers.
Later trackers used CIA Timer A instead of VBlank interrupts.
CIA timers allow arbitrary interrupt rates, independent of video refresh.
Example:
Timer frequency ≈ 709379 Hz / divider
This allowed:
Trackers such as ProTracker used this technique.
LPB = Lines Per Beat
This concept appeared in later trackers during the PC era.
Trackers such as FastTracker II and Impulse Tracker separated:
LPB defines how many rows equal one beat.
Example:
BPM = 125
LPB = 4
Meaning:
This makes timing more musical and flexible.
PPQN = Pulses Per Quarter Note
This timing concept comes from MIDI sequencing rather than trackers.
Common MIDI timing resolutions:
24 PPQN
96 PPQN
480 PPQN
960 PPQN
Higher PPQN values give finer timing resolution.
Later tracker-inspired software and modern trackers adopted similar high-resolution internal clocks.
Examples include modern trackers and DAWs such as Renoise and OpenMPT.
| System | Used In | Resolution | Hardware Dependence |
|---|---|---|---|
| VBlank | early Amiga / C64 trackers | low | tied to video |
| PAL / NTSC | video standards | defines frame rate | hardware |
| CIA timer | later Amiga trackers | medium | hardware timer |
| LPB | PC trackers | high | software |
| PPQN | MIDI / DAWs | very high | software |
For ProTracker-style trackers:
row_time = speed × tick_time
Where:
tick_time = 2.5 / BPM seconds
Example:
speed = 6
BPM = 125
Tick time:
2.5 / 125 = 0.02 s
Row time:
6 × 0.02 = 0.12 s
This produces the famous 125 BPM / speed 6 groove used in many Amiga modules.
1980s
Early 1990s
Mid 1990s
Late 1990s
2000s+
deflemask default is ntsc basetime 1 = 150bpm
sunvox default is 125 6tpl
- to match deflemask to sunvox:
set to pal, increase basetime from 1 to 2
- to match sunvox to defle:
lower tpl from 6 to 3 and increase bpm to 150
for quarter note (8 lines) to be equivalent
sunvox at 6tpl is half the speed of deflemask pal basetime 1.
increasing basetime lowers the speed
while decreasing the tpl increases the speed
32 lines
half note triplet
00, 11, 21
16 lines
quarter note triplet
00, 05, 11
8 lines
eighth note triplet
00, 03, 05
4 lines
sixteenth note triplet
00, 01, 03
64 lines
1 bar triplet
00, 21, 43
1/16 note | 4 lines | 00 01 03
1/8 note | 8 lines | 00 03 05
1/4 note | 16 lines | 00 05 11
1/2 note | 32 lines | 00 11 21
1 bar | 64 lines | 00 21 43
for f in *.wav; do sox "$f" -r 8000 -e signed-integer -b 16 "${f%.wav}_16bit.wav"; done