MIDIClock Quick Quide by Serge. Rev apr Midiclock.com tutorial 1

Similar documents
OWNER S MANUAL rev. 2.02

CV.OCD USER MANUAL. CV.OCD has four assignable continuous analog CV outputs and twelve assignable gate/trigger outputs. MIDI-TO-CV

LiveProfessor 2. User Manual. Rev audiostrom.com

DX PATCH LIBRARY MANUAL

User Guide. English. Manual Version 1.0

Table of Contents Kiwi-106 Features...5 Kiwi 106 Flow Chart...6 Kiwi 106 Front Panel...7 Control Description...8 Key Transpose...

Procussion operation manual Basic Operation 15 BASIC OPERATION

Prophet Rev2 OS Addendum

User Manual V

LIQUID FOOT+ SERIES MIDI FOOT CONTROLLERS. FIRMWARE PLATFORM V6.00beta. This documentation will be updated

Mastertracks Pro 4 Review

MIDI Player Pro v1.3.0 basic users guide By Hans Petter Selasky, November 2015

Frame Editor 2 Manual

FRONT PANEL OVERVIEW...1 REAR PANEL OVERVIEW...3 HOOKUP DIAGRAM...4 DISPLAYING INFORMATION...6

Profiler MIDI Parameter Documentation

PS04 Pattern Editor. Last Update: Feb,

CZPL PATCH LIBRARY OWNER S MANUAL

MK2 Programmer s Reference Manual

PSQ-1684 Operation Manual

Chaos Culture. MIDI Modulators / Multiclip Note preview 1.6. Edited by Jason Cowling

SD9 Update Voice Improved the synchronization of the Live Audio Drums when using the HARMONY or DOUBLE features with the lead voice.

Kameleono. User Guide Ver 2.1

Firmware Version 1.60 User s Guide

SD7 - Update Half Bar Tempo accelerando/ritardando Step Lower Limit Upper Limit

User Manual. Manual Sections. Download a PDF version of the manual here: carbon-manual.pdf

Cameo D4 Available on

Model ver OWNER S MANUAL Rev CHD Elektroservis

DER OTO. With this firmware revision, you can use your Biscuit as a standard one (Revision 1.2) or as Der OTO.

MOOG SUB 37 - FIRMWARE UPDATE UPDATE INSTRUCTIONS FOR WINDOWS (Skip to the next section for Mac OSX instructions)

What s needed is a reasonably priced, versatile, low-hp module that can effectively bridge the gap between MIDI and CV.enter, the Mutant Brain!

Chaos Culture. Multiclip Editor / Multiclip Note preview 1.5. Edited by Jason Cowling

StepPolyArp Unit. Step Polyphonic Arpeggiator / Sequencer App & Audio Unit MIDI effect for ios

Mark III Series Full-Function Models

GNInsertController insert commands into MIDI files. (c) 2016 Günter Nagler

virtual controller 4

CARBON. User Manual - firmware ver Manual Sections. Download a PDF version of the manual here: carbon-manual.pdf

[KRM-100] MIDI-CV-Arpeggiator

MCompressor. Presets button. Left arrow button. Right arrow button. Randomize button. Save button. Panic button. Settings button

Supplemental Notes March 10, 1999 SN79 V1.0. The Basics of MIDI

User Guide. Manual Version 1.0

Sales Manual Part II

rekordbox TM Default Keyboard Shortcut Reference

Digitakt OS 1.07 Release Information

USER MANUAL BETA 1.03

+ => Pattern Edit Tap mode. + => Config mode (To access the Second page press SHIFT + TEMPO again) => Select pattern to be Played (0 to 15)

ic-mh16 Evaluation Software Software Description

MIDI Sysex Messages for the Eventide Factor series pedals

Digitakt OS 1.10 Release Information

K-Series Editor Owner's Manual

Tracktion Shortcut Keys

GNMIXER GN MIDI Solutions

Q170 MIDI Gates. Q170 MIDI Gates Specifications. Aug 23, 2018

About this manual. Conventions in this manual. The manuals and how to use them

BeatMaker 3 User Manual. Revision:

Documentation Addendum (Covers changes up to OS v1.20)

Connecting the SMARTClock

Main Features. 8 Assignable Knobs Deliver Real-time Control of Your Musical Software

AdrenaLinn III MIDI Implementation Version Software

RS-232 Control of the Advantage EQ281/8, EQ282/8 and Advantage SMS200

Major new functions of version 1.5

Digitakt OS 1.06 Release Information

Show Designer 1. Software Revision 3.11

Congratulations on purchasing CTL-Sync by Molten Voltage

KARMA Motif Getting Started

Manual. Note: This software has only been tested with VF-1 firmware Compatibility with other firmware versions cannot be guaranteed!

MPC Essentials Release Notes

Xequence MIDI Workstation Quickstart Guide

Grooving with Cyclone DXi

Inear Display AMALGAME

Appendix 1: Upgrading the system software

CZ PATCH LIBRARY MANUAL

INTRODUCTION. Product summary. Tempo modification. Serial I/O Port

Version 2.0 Release Notes for Kurzweil Mark 150/10 & Young Chang DG 150

User Guides. Basics. Working with Audio. Working with MIDI. Customizing Cantabile

MIDISynth-Control 1.0.6

GETTING STARTED MANUAL Rev9

New Features in Nuendo 4.2

Bass Station II v4.14 New Features User Guide

Versa Mix. User Guide and Reference Manual Charter Street Los Angeles Ca /07

Crazy8 User Manual Mar 2017

OPERATION MANUAL VST / AU

Drum Machine Manual V1.2.0

This document is available at BIOS Communication version 1.4 or later. Application Notes. For STEPPII-55/56 & STEPPII-55/56-LT

and close the various Traktor Panels. Setup: click on the setup icon to open the setup dialog. Close: clicking this icon will close TRAKTOR DJ Studio.

Using BOSS TONE STUDIO for ME-80

1. Welcome to System 9 Pattern Sequencer

MPX 1 V1.10. MIDI Implementation Details

DMX Revision 3 Firmware / Memory Expansion Owner's Manual Addendum 12/12/83

KORG KROME Music Workstation - Product Specifications

DMPro Midi Sysex Specification v /25/99

SRF02 Ultrasonic range finder Technical Specification

UPB US2-40 Series Quad Rocker Wall Switch with Dimmer Firmware Specification

Chapter 2: Basic Operation...17

QUICKSTART GUIDE ENGLISH

Energy profiler and Network analyzer Training Lab manual for

Bram Bos Quick Setup & Automation Guide version 1.0.7

GETTING STARTED WITH DJCONTROL COMPACT AND DJUCED 18

Worlde TUNA MINI MIDI Controller User s Manual

Table of contents. Disk mode Introduction Sequencer mode Other new functions Sampling mode Global mode...

ENSPIRE Controller Operation Manual

Transcription:

MIDIClock 4.01 Quick Quide by Serge Rev 4 12 apr 2014 www.midiclock.com Midiclock.com tutorial 1

Introduction What is MIDIClock? A program that can be used to synchronize synths, effects, sequencers, arpeggiators,... Its main function is generating a midi beat clock signal on a midi output device at a selectable bpm rate. Other output signals are also possible through custom output drivers The software has no installer, simply unzip to where you need it. It is portable : it can be run from a removable disk/stick without installing anything. The latest trial version of MIDIClock can be downloaded from midiclock.com. Midiclock.com tutorial 2

What is the midi clock protocol? From wikipedia : MIDI beat clock is a clock signal that is broadcast via MIDI to ensure that several synthesizers stay in synchronization. It is not MIDI timecode. Unlike MIDI timecode, MIDI beat clock is sent at a rate that represents the current tempo, at 24 ppqn (pulses per quarter note). It is used to maintain a synchronized tempo for synthesizers that have BPM-dependent voices and also for arpeggiator synchronization. It does not transmit any location information (bar number or time code) and so must be used in conjunction with a positional reference (such as timecode) for complete sync. MIDI beat clock defines the following real time messages: * clock (decimal 248, hex 0xF8) * start (decimal 250, hex 0xFA) * continue (decimal 251, hex 0xFB) * stop (decimal 252, hex 0xFC) All the above real-time messages are supported by MIDIClock Midiclock.com tutorial 3

MIDIClock Features : 2 MIDI output drivers supported Up to 32 midi simultaneous MIDI input action mappings with MIDI learn function Fractional BPM rates from 0.001 BPM to 1000 BPM Highly customizable through INI files. Stable, usable for gigs, studio, live shows,... Registration & Support : midiclock.com/upgrade Midiclock.com tutorial 4

MIDIClock Shapes The form size of your midiclock can be resized to reduce the claimed screen real estate. Midiclock.com tutorial 5

Main Screen functionality (1/2) Start /stop the timer Fractional part of the BPM Main BPM rate slider Tap tempo input button Small form factor Device #1 Selection Device #1 Enable/Disable Device #1 Config editing Device #1 Tempo divider Device #1 Output driver Tempo Chart Visualisation Midiclock.com tutorial 6

Main Screen functionality (2/2) Device #2 Selection Device #2 Output driver Device #2 Enable/Disable Device #2 Tempo divider Device #2 Config editing Input MIDI Device Selection Input MIDI Device Enable/Disable Input Map Editing Preset patch selection/edit Midiclock.com tutorial 7

Input Patch Editor MIDI command to action mapping Click on any line to edit the mapping Enable Realtime MIDI Clock Input processing : this makes midiclock respond to an incoming midi clock signal Save as a new input driver Store as current input driver Midiclock.com tutorial 8

Editing Input Map #0 (1/2) Status byte Midi channel Parameter 1 of midi message Parameter 2 of midi message PC Keyboard Learning function : shows hex code for the key pressed Filter on selected channel for incoming data in learning mode Apply the mask range when data comes in, in learning mode Keyb Auto Enter : enters key code in fields automatically MIDI Learning function --> updates map to incoming midi date. Use this for quick mapping. Filter on status byte in learning mode Automatically update the hex code in the editor on input Midiclock.com tutorial 9

Editing Input Map #0 (2/2) Action mapped to the defined input midi code (for a list of actions see the special commands decription at the end of this document) Descriptive comment for this map Press ok to apply the settings Midiclock.com tutorial 10

Tempo Chart Visualisation Enable Output BPM rate display Enable display of Filtered Clock Input Values Enable display of Raw Clock Input Values Save chart as BMP Enable/Disable chart logging Midiclock.com tutorial 11

Keyboard Shortcuts CTRL+ALT+S : save current settings to clockpresets.ini. It creates the file if it does not yet exist. F1/RETURN : Start/Stop timer toggle F2 : Pause timer F3 : Continue/Resume timer F5 : set BPM to Preset #5 CTRL+F5 : Store current BPM rate at preset #5 F6/F7/F8 : Change BPM to Preset #6/7/8 CTRL+F6/F7/F8 : Store BPM at preset #6/7/8 SPACE : tap tempo trigger Any custom key can be mapped through the input map!! Midiclock.com tutorial 12

File Overview MIDIClock.exe : The application binary. Clicking this application starts up midiclock. clockpresets.ini : Startup application presets. These are saved by pressing CTRL+ALT+S. MidiclockRegistration.ini (optional) : contains the key for registered users. *.mcp files : alternative application preset patches. Same file format as clockpresets.ini. outdrv subdirectory : contains output drivers, such as : GMBASSDRUM.ini : a GM bass metronome GMCLICHEROCK1.ini : a typical GM pop-rock drum rhythm G71UT.ini : interfacing to a Zoom G7.1ut effect pedal indrv subdirectory : contains input drivers Midiclock.com tutorial 13

Clockpresets.ini layout (1/3) [APPLICATION_PRESETS] ; Section indicating general application presets MAINSCREENPOSITIONTOP=155 ; Main screen top pixel position at program startup MAINSCREENPOSITIONLEFT=565 ; Main screen left pixel position at program startup DEFAULTSPEED=120 ; BPM Rate used at program startup SHOWFLASHING=1 ; 0 = disable window color flashing ; 1=enable window flashing at ¼ beat FULLFLASHING=0 ; 1 = enable full window flashing ; 0 = disable FLASHINGDURATION=1000 ; Color duration (unit = 1/24 th of a beat). Set to 1000 for normal use. FLASHINGPERIOD=24 ; Cycle period for the flashing, define in 1/24 th of a beat units IGNOREMOUSEWHEEL=0 ; 1=Disable mouse wheel influence on bpm rate IGNOREKEYBOARDTAP=1 ; 1=Ignore keyboard 'SPACE' for tapping and 'RETURN' for start/stop ALWAYSONTOP=0 ; 1= keep application window always in front of other applications AUTOSTARTONTAP=0 ; 1= automatically start the midi clock signal at beat 1 after tapping beat 4 TAPTEMPOTIMEOUT = 5000 ; Tap tempo input state reset timeout (in milliseconds) TAPTEMPOCOUNT=2 ; number of taps needed to trigger a tempo change (2, 3 or 4) BPMROUNDING=0.001 ; rounding step taken into account when determining the BPM rate BPMMINIMUM=0.001 ; the minimal BPM rate selectable in the midi clock GUI BPMMAXIMUM=330 ; the maximal BPM rate selectable in the midi clock GUI DONTASKSAVESETTINGS=0 ; 1= Shows do you want to save settings CLOSEMINIMIZESWHENRUNNING=0 ; 1 = Closing the application minimizes it when the clock is running Midiclock.com tutorial 14

Clockpresets.ini layout (2/3) [MIDIOUTPORT1] ; section containing the midi port #1 application settings MIDIPORTINDEX=1 ; Selection Order number of the midi port #1 MIDIPORTNAME=Out To MIDI Yoke: 1 ; Device name of the midi port #1 DEVICETYPE=MidiClock ; Output driver selected for this midi port #1 CLOCKDIVIDER=1 ; Divider used on the clock signal on port #1 [MIDIOUTPORT2] ; section containing the midi port #2 application settings (same structure) MIDIPORTINDEX=9 ; Selection Order number of the midi port #2 MIDIPORTNAME=E-MU Xmidi1X1 ; Device name of the midi port #2 DEVICETYPE=MidiClock ; Output driver selected for this midi port #2 CLOCKDIVIDER=1 ; Divider used on the clock signal on port #2 [MIDIINPORT1] ; section containing the midi input port application settings MIDIPORTINDEX=2 ; Selection Order number of the midi input port MIDIPORTNAME=In From MIDI Yoke: 3 ; Device name of the midi input port DEVICETYPE=AKAILPD8_CH10 ; Input driver selected for this midi port Midiclock.com tutorial 15

Clockpresets.ini layout (3/3) [BPM_PRESETS] ; section containing BPM rate preset values. F5BPM=100 ; pressing F5 will set the BPM rate to 100 F6BPM=120 ; pressing F6 will set the BPM rate to 120 F7BPM=140 ; pressing F7 will set the BPM rate to 140 F8BPM=160 ; pressing F8 will set the BPM rate to 160 Note : since 4.00, custom keymaps can be set up in the input map editor. The F5/F6/F7/F8 presets are supported for backwards compatibility Midiclock.com tutorial 16

Input drivers : General Layout [SPECIAL_COMMANDS] ; Powerful decription of remote controlling midi clock by MIDI messages INPUT0=933C40 ; MIDI Message to be parsed. (replace 933C40 with your midi message in hex) ACTION0=150 ; Action to be taken when receiving that MIDI message....up to INPUT31 : 32 INPUT/ACTION pairs can be defined. INPUT specifier : Speficies the 3 midi bytes in hex (status byte + 2 data bytes) on which midiclock reacts When the status byte is 0x60, the input is a PC keyboard keypress. The 2nd data byte determines the key code. For example the midi message 933C40 The keyboard plays middle C (note number 60, hexadecimal 3C) on channel 4 (the zero nibble of 94), at half the full velocity (velocity 64, hexadecimal 40). INPUT0=933C40 ; this would define the above midi message as input signal ACTION0= 150 ; the action would be to set the bpm rate to 140 bpm What about velocity sensitive keyboards? Use masking : using F0 as data byte 2 will make midiclock trigger on all non zero velocities Example : INPUT0=933CF0 : for every middle C played (note on event), the ACTION0 will be run ACTION0=130 ; example : set BPM RATE to 130 when the INPUT0 MIDI Message is received More advanced options and usage for INPUT/ACTION will be described on the next pages. Midiclock.com tutorial 17

Input drivers : Actions The following target action codes can be executed on incoming midi commands : 0 = do nothing 1 --> 200 = set this specific BPM value 10000 = perform midi byte 2 to tempo transformation (see further on for the input masking options) 10000.1 = perform midi byte 1 to tempo transformation (see further on for the input masking options) 10001 = start-stop 10002 = pause 10003 = continue 10004 = start 10005 = stop 10006 = decrease tempo 10007 = increase tempo 10008 = tempo - 2 10009 = tempo + 2 10010 = double tempo 10011 = halve tempo 10016 = tempo rounding step 10017 = tempo + rounding step 10101 = beat reset 20001 = tap tempo trigger 20001.1 = single byte special tap tempo trigger : ignores byte 2 and uses byte 1 only for range limits (can be used for 'any key' tap tempo) Midiclock.com tutorial 18

Input drivers : Tempo Transformation Input Masks (1/3) In case of an action = 10000 --> several midi value to tempo transformation can be selected by input midi data byte 2 In case of an action = 10000.1 --> several midi value to tempo transformation can be selected by input midi data byte 1 This is useful for mapping a specific controller range or patch onto a tempo range of choice. For byte E0 EF, a custom transformation can be defined in the input driver. For example, for E0 : [CUSTOMRANGE_TRANSFORMS] RANGEMIN_E0=00 RANGEMAX_E0=7F RANGEMULTIPLIER_E0=1.5 RANGEOFFSET_E0=30 Speficic values can also be overwritten by an explicit map, for example E1 : [CUSTOMRANGE_TRANSFORMS] RANGEMIN_E1=00 RANGEMAX_E1=7F RANGEMULTIPLIER_E1=1 RANGEOFFSET_E1=0 RANGEMAP_E1=CUSTOMRANGE_MAP2 Midiclock.com tutorial 19

Input drivers : Tempo Transformation Input Masks (2/3) This custom map can then be defined in a separate section. You can design your own mapping curve from a spreadsheet this way. For example : [CUSTOMRANGE_MAP2] 0=60 1=60.72 2=61.45 3=62.19 4=62.93 5=63.69 6=64.45 7=65.23 8=66.01 9=66.8 10=67.6 11=68.41 12=69.23 Midiclock.com tutorial 20

Input drivers : Tempo Transformation Input Masks (3/3) Midiclock will also transform the incoming data byte according to these fixed fomulas : Mask byte 0xF0: From 0x00 to 0x7F --> multiplier = 1.58 and offset = 0 Mask byte 0xF1: From 0x00 to 0x7F --> multiplier = 1 and offset = 0 Mask byte 0xF2: From 0x00 to 0x7F --> multiplier = 2 and offset = 0 Mask byte 0xF3: From 0x00 to 0x7F --> multiplier = 3 and offset = 0 Mask byte 0xF4: From 0x00 to 0x7F --> multiplier = 4 and offset = 0 Mask byte 0xF5: From 0x00 to 0x7F --> multiplier =1 and offset = 40 Mask byte 0xFA: From 0x00 to 0x3F --> multiplier = 2 and offset = 0 Mask byte 0xFB: From 0x40 to 0x7F --> multiplier = 2 and offset = 0 Mask byte 0xFC: From 0x00 to 0x3F --> multiplier = 2 and offset = 50 Mask byte 0xFD: From 0x40 to 0x7F --> multiplier = -2 and offset = 306 Mask byte 0xFF: From 0x01 to 0x7F --> multiplier = 2 and offset = 0 These mappings cannot be changed, and are kept in 3.xx releases for backwards compatibility Midiclock.com tutorial 21

Output drivers : General Midiclock contains a framework for custom MIDI output protocols. Those are located in the outdrv subdirectory. Midiclock includes a tiny tight sequencer for each output driver. Visual display of the beat position is possible Currently beat editing occurs through ini editing (see next page) Midiclock.com tutorial 22

Output drivers : Configuration The subdirectory outdrv contains the selectable output drivers. I will explain how this works, by explaining some examples : Sample Midiclock.ini explained. [DEVICECONFIGURATION] DEVICETYPE=MidiClock DEVICE_CLOCKOUTPUT_ENABLE=1 ; Name of the device ; send out midiclock commands (F8) Sample GMBOINKY.ini explained [DEVICECONFIGURATION] DEVICETYPE=GM BOINKY ; Name of the device DEVICE_SYSEXINIT_STRING= ; sysex data to be sent on driver initialisation DEVICE_CLOCKOUTPUT_ENABLE=0 ; 1 = sends out midiclock (F8) bytes, 0 = doesn't send F8 DEVICE_SYSEX_ENABLE=0 ; 1 = enables sysex output, 0 = no sysex output DEVICE_SYSEXRELEASE_STRING= ; sysex data to be sent on driver release DEVICE_SYSEXTEMPOSET1_STRING= ; sysex data to be sent before the tempo code (on change) DEVICE_SYSEXTEMPOSET2_STRING= ; sysex data to be sent after the tempo code (on change) DEVICE_SYSEX_VALOFFSET=40 ; offset to be added to the sysex tempo code DEVICE_TRACKS_ENABLE=1 ; 1= enables track sequencing, 0 = disables track sequencing DEVICE_TRACKS_PROGRAMCHANGE=35 ; Default prog change nr. to be sent before starting playback DEVICE_TRACKS_CHANNEL=0 ; Default channel to be used by tracks DEVICE_CLOCKOUTPUT_NOSTARTATSTART=1 ; 1= send no start byte (FA) when the clock is started DEVICE_CLOCKOUTPUT_NOSTOPATEND=1 ; 1= send no stop byte (FC) when the clock is stopped Midiclock.com tutorial 23

Output Drivers : Sequences Beat sequences can be customized. This currently happens by creating/editing an output driver. You can find examples in the outdrv subdirectory. GMBOINKY.INI is an example of a sequence. [DEVICECONFIGURATION] DEVICETYPE=GM BOINKY DEVICE_SYSEXINIT_STRING= DEVICE_CLOCKOUTPUT_ENABLE=0 DEVICE_SYSEX_ENABLE=0 DEVICE_SYSEXRELEASE_STRING= DEVICE_SYSEXTEMPOSET1_STRING= DEVICE_SYSEXTEMPOSET2_STRING= DEVICE_TRACKS_ENABLE=1 DEVICE_TRACKS_PROGRAMCHANGE=35 DEVICE_TRACKS_CHANNEL=0 DEVICE_CLOCKOUTPUT_NOSTARTATSTART=1 DEVICE_CLOCKOUTPUT_NOSTOPATEND=1 [TRACKS] C2247400=1000100010001000 C3307400=0010001000100100 C43C7400=0000000000000010 C5487400=0000000000000001 You can setup some parameters that are enforced on initializing the driver : DEVICE_TRACKS_CHANNEL : default midi channel used (when not specified) DEVICE_TRACKS_PROGRAMCHANGE : program nr used for default midi channel Next up you can add TRACKS C2247400=1000100010001000 So the key is built up like this : track name = C2 note number = 24 note volume = 74 track channel = 00 an optional X can be put behind that, to indicate no note-off should be sent. the track events are simply 1 = occurrence 0 = no occurrence This way you can create a complete sequence Midiclock.com tutorial 24

Output Drivers : CTRL output The CTRL OUTPUT feature is intended to allow controlling effect devices by setting a delay value parameter through a midi controller. (requires midiclock 4.01 or higher) DEVICE_CTRLOUT_ENABLE=1 ; 1= enable CTRL driver DEVICE_CTRLOUT_CONVERT_BPM_TO_MS=1 ; 1 = convert BPM to millisecond, 0 = don't convert/ DEVICE_CTRLOUT_FLOOR_OUTPUT_BYTE=0 ; 1 = floor the output byte : floor example 3.9 --> 3 ; 0 =rounding will be applied : round example : 3.9 --> 4 DEVICE_CTRLOUT_BPM_OFFSET_VALUE=0 ; offset added to BPM value, this can be negative, fractional,... DEVICE_CTRLOUT_BPM_MULTIPLIER=1 ; multiplier for bpm, this can be fractional, should be > 0.0001 DEVICE_CTRLOUT_MS_MULTIPLIER=0.1 ; multiplier applied to the millisecond value DEVICE_CTRLOUT_MIDICHANNEL=3 ; midi channel used for the control output DEVICE_CTRLOUT_MIDICTRL=5 ; controller value used for the output Note concerning midi channel notation : MIDIClock starts counting from 0, most synths start counting from 1. So when you set your midi channel to 1 on your synth, you probably use midi channel 0 in MIDIClock Midiclock.com tutorial 25

Any Questions?? Visit www.midiclock.com for more information... Midiclock.com tutorial 26