You are on page 1of 36

EN

Creating CKF User Rhythms

Reference Guide
Contents
Introduction ............................................................................................................................... 3
I. MIDI Basics and Voice Assignments .................................................................................... 4
What is a MIDI File?................................................................................................................... 4
What are General MIDI Voices?..................................................................................................5
II. CKF Structure and Components………………………………………………...………….…….8
What is a CKF Rhythm File?.......................................................................................................8

What are the Elements of a CKF Rhythm?.................................................................................9

What are the Parameters of a CKF Rhythm? ……………………………………………………...10

How is a CKF Rhythm different from an AC7 Rhythm?.............................................................12

III. Choosing Your MIDI Composer..........................................................................................13

Essential Features for SMF Preparation…………………….……………………………………...13

Recommend Features for SMF Preparation………………………………………………...……..14

IV. Preparing an Existing MIDI File for Conversion……………………………………….…….16

V. Creating a New MIDI File for Conversion…………………………….………………………...23

VI. Converting Your SMF with IDES 4.0 Rhythm Converter……………………………………28

VII. Updating an Old CKF Rhythm with New Voice Assignments…………………………….32

VIII. Appendices for All Current CKF Compatible Keyboards…………………………………35

IX. Helpful Links and Further Reading……………………………………………………………..36

2
Introduction
Casio keyboards have been extremely popular with performers and songwriters
for decades now, not only because of their affordability and accessibility but also
because of useful features like automated accompaniment. The release of the Casio
MT-40 back in 1981 introduced built-in backing instruments to the affordable home
keyboard market. With its simple electronic drum beats and monophonic bass
accompaniment, it's a far cry from what most musicians are used to today. Despite their
primitive functionality, the MT-40's unassuming rhythm controls managed to pioneer
concepts that you'll still see on modern Casio keyboards, like a fill-in button for
transitioning between rhythms and backing instruments that will respond to the chords
you play.

The most recent line of Casio arranger keyboards is the CT-X series, and with
the new AiX sound source under the hood, the power and flexibility of a large backing
band (or even a full symphony orchestra) is at your fingertips. All of the CT-X boards are
capable of importing User Rhythms in the .AC7 format whether via flash drive or Data
Manager for CT-X, allowing you to make use of your own accompaniment patterns as
well as the preset rhythms included from the factory. The CT-X3000 and X5000 feature
a built-in rhythm editor that you can use to compose your own rhythms on the keyboard
itself, but even so, there are likely to be some CT-X owners who want to import rhythms
from older Casio keyboards or just prefer composing accompaniment patterns using
external software like a DAW.

This guide will explain how to convert compositions in the form of SMF (.MID)
files into Casio Rhythm (.CKF) files using the IDES 4.0 Rhythm Converter, which can
then be converted to .AC7 format and loaded into your keyboard. I will specifically be
referencing the appendices of the CT-X700 and X800 for voice assignments, but the
same procedures covered in this guide should still be applicable if you're trying to import
rhythms to an older model that can accept .ckf User Rhythms. At the end of this guide, I
will include links to the appendices and relevant manual pages for all the keyboards
currently listed on the main Casio Music Gear website that support rhythm importing for
your reference.

Because musicians of all different skill levels and backgrounds own Casios,
some sections of this guide will take the time to explain basic concepts related to music
software and electronic music production. Please use the table of contents on the
preceding page to jump directly to the information you need.

Thanks for reading, and enjoy your new Casio Rhythms!

-Chandler Holloway (Author, Product Trainer for Casio America, Inc.)

3
I. MIDI Basics and Voice Assignments

What is a MIDI file?


SMF (Standard MIDI Format) files contain MIDI (Musicial Instrument Digital
Interface) data in the form of a song. This is not to be confused with an audio file like an
MP3, WAV, or AIFF file you might use with a media player, as these files actually
contain audio waveform data of a song being performed. SMF files are different in that
they contain instructions for a song to be performed rather than a recording of one
instance of a song, kind of like a player piano using a piano roll to play back a ragtime
tune. A MIDI file by itself is nothing but serial data that very precisely
instructs an instrument to play certain notes at specific pitches and timings.

In very general terms, it's hyper-specific sheet music optimized for use with
electronic instruments, and there are a lot of advantages to storing compositions as
MIDI files. The contributing factor in MIDI's early success was that MIDI files were very
small compared to audio files; it takes a lot of data (at least by mid-80's storage space
standards) to capture the essence of several minutes worth of audio waveforms for a
song, but digital instructions on how to play a song using an external sound
source require exponentially fewer bytes of serial data by comparison.

The main advantage of the Standard MIDI Format these days is that it's... well,
standardized. MIDI became popular in the mid-80s as digital instruments were finally
becoming sophisticated enough to interface with the computers of the time. It very
quickly became adopted as a standard among all the major musical instrument
manufacturers so that musicians could make use of instruments of all different kinds of
brands in the studio and on stage without having to worry about compatibility issues.
Not only can MIDI-capable instruments be connected to one another via 5-pin DIN
cables for sequencer sync and external control, but any MIDI-capable instrument can
import SMF (.MID) files from a computer or another instrument to play back the same
composition on their own hardware.

It won't sound exactly the same on two different keyboards because the
difference in sound sources between the source instrument and the importing
instrument will naturally result in different-sounding tones being used to play back the
notes, but the "instructions" embedded within the MIDI file are still understood perfectly
by both instruments despite the fact that they were made by different manufacturers
using completely unique components and design processes. The fact that I can take a
MIDI file made in Ableton in 2018 and play it back on a Casio keyboard made in 1988 is
mind-blowing, and part of the reason why the MIDI standard has stuck around for
decades.

4
What are General MIDI voices?
A related concept to the Standard MIDI Format is the General MIDI (GM)
Standard. It's very easy to get these things confused so I'll do my best to explain the
difference. The General MIDI Standard was introduced several years after the advent of
MIDI and the SMF, and it's basically like a set of guidelines for how to organize a MIDI
composition for maximum compatibility with other General MIDI instruments. SMF is
also meant to guarantee compatibility between machines, but it specifically refers to the
file format that the machine is capable of reading; it's the way the serial data is encoded
on a fundamental level. If you try to import a song that is not in the Standard MIDI
Format as a MIDI file, it will just flat out not work because that file format is
completely unrecognizable as MIDI data. MIDI files constructed according to the
General MIDI standard are not fundamentally different from SMF files, and they both
utilize the same file extension (.MID) so any keyboard capable of playing back SMFs
will naturally be capable of playing back GM MIDI Files in some capacity. GM MIDI files
and SMFs exist in kind of a square/rectangle relationship; all General MIDI files conform
to the Standard MIDI Format, but not all Standard MIDI Format files conform to the
General MIDI standard.

The defining feature of the General MIDI standard is the rigid set of voice
assignments embedded in General MIDI compositions. In MIDI compositions, the song
is played back in linear fashion across 16 separate MIDI channels. Multiple notes can
be assigned to each channel for polyphonic playback like chords, but typically only one
"instrument" is allowed per MIDI channel (i.e. bass guitar on channel 4, synth pad on
channel 5, drums on channel 10 etc.). You are not limited to using one instrument per
channel for the entire composition, however; with clever use of the right MIDI
messages, you can change the instrument assigned to a certain channel in the middle
of a song for more flexibility within the limitations of the 16 channels. For example, if the
opening section of your piece calls for a full string quartet, but the second section only
requires woodwind instruments, you can switch the channels you had assigned to string
parts to clarinet and oboe parts once the intro section is finished.

This "part switching" command takes the form of a Program Change (PC)
message, a channel-specific MIDI message that specifically handles voice assignments
and instantaneous switching between voices. In addition to being embedded in a MIDI
sequence whenever changing to a new voice needs to occur, program change
messages are also usually found at the very start of MIDI files to define the set of
instruments the piece will begin with. This is why many MIDI files you might find on the
internet have a completely empty first measure even if there aren't any pick-ups to start
the song. Program changes carry a value of 1-128, and this value correlates to a voice
contained in the keyboard's bank of tones that will be called up whenever this message
is encountered in the sequence. If a song starts playing using a grand piano voice on
channel 6 and then encounters a Program Change message telling it to switch to a
trumpet, any notes on channel 6 from that point onward will be played on a trumpet until
a different Program Change message is encountered or the song ends.

5
Before the General MIDI standard was introduced, composers who distributed
their songs in the form of SMFs could never be sure that their MIDI sequences would
transfer to different keyboards without being totally mangled in the process. Even
though the SMF file could technically be played back on a different keyboard, not every
keyboard manufacturer organized their voice assignments in the same way. Because
different tones are stored in different locations in the keyboards memory, a Program
Change message intended to switch to a clarinet on one instrument could instead call
up a dulcimer on another keyboard, which can lead to some very wonky interpretations
of the same set of MIDI instructions depending on what instrument you used. So, to
account for this problem, the General MIDI standard was introduced to implement strict
rules on how to organize voice assignments and other controls for
maximum compatibility among MIDI instruments.

If your instrument is "General MIDI capable" it means that at least 128 of the
voices on your keyboard are organized according to the General MIDI voice
assignments. If a General MIDI-compliant MIDI file is played back on a General MIDI
capable keyboard, then the Program Change messages used to designate and switch
between voices will always match-up with the type of voice they are supposed to refer
to. PC values 1-8 will always be pianos, 57-64 will always be brass, and so on. The
General MIDI symbol appearing on a keyboard's case or packaging is kind of like a
"seal of approval" that lets composers know that they can expect an acceptable amount
of cross-compatibility if they want to bring their compositions over from another
keyboard. Aside from Program Change messages and voice assignments, other
conventions for MIDI file organization were standardized with General MIDI, such as
always having the drum track programmed on channel 10 and certain Control Change
(CC) commands for common parameters like volume, reverb, and panning always being
the same on General MIDI instruments.

6
General MIDI offered a lot of advantages for MIDI composers back then, but
there are some drawbacks associated with this "homogenization" of voice assignments.
Nowadays electronic instrument memory has advanced to the point where even low-
end keyboards can store many hundreds of different voices in ROM, certainly way more
than the 128 required to be considered General MIDI compliant. However, when
General MIDI files are played back, even on modern gear like the CT-X series, they will
only call up voices within that set of 128 General MIDI voices (in the CT-X series Tone
Categories, these voices are specifically kept in their own separate "General MIDI
category" for this exact purpose). If these voices were among the highest quality tones
the keyboard had to offer, this might be okay, but these 128 voices have to suffice for
the instrumentation of all different kinds of General MIDI compositions. As such, these
GM voices tend to be somewhat bland and regular because they need to be "general"
enough to account for a lot of different applications. After all, if General MIDI only allows
for 7 different string voices, those 7 voices have to fit the "lowest common denominator"
for composers needing to make use of string sounds in all sorts of genres. It often ends
up being a sacrifice of quality for the sake of versatility; this might explain why some of
your past attempts to import MIDI tunes on to modern keyboards have resulted in a
fairly "cheesy" tone quality upon playback.

Fortunately, for the purposes of this guide, we know exactly which instrument(s)
we're going to be playing back our rhythms on, so we don't have to worry
about conforming to the General MIDI voice assignments and we have the freedom to
make use of all the gorgeous AiX tones on our CT-X700. This is why it's especially
important to have the appendices of your specific model of keyboard on hand when
you're setting up your MIDI files prior to conversion; you want to make sure that the
program change messages you've inserted into the sequence you're converting
match up with the voices you want to hear once you play it back.

7
II. CKF Structure and Components

What is a CKF User Rhythm file?


The .ckf format for User Rhythms has been in use by Casio since the late 90s,
but despite its age, most modern Casio keyboards are either backwards compatible with
.CKF or are capable of converting it to a more modern format with native support, like
.Z00 or .AC7. On a fundamental level, the information contained in a .CKF Rhythm is
much like the sequence data you'll find in a regular MIDI composition; they both deal
with note and timing data, as well as voice assignments and voice editing commands in
the form of serial data.
The main difference is that a MIDI sequence is a static and finite composition.
The sequence plays back in a linear fashion from start to finish, and provided you don't
mess with external parameters during playback, it will always sound the same each time
you play it. Automating an entire song by MIDI can be useful towards the end of the
songwriting process, when you already have a very clear idea of what you want your
composition to sound like and the consistency of a concrete backing track minimizes
room for error in performance settings.
A .CKF Rhythm takes the opposite approach, and is optimized for flexibility and
dynamic expression to aid with improvisation or musical brainstorming. Instead of a
static MIDI sequence that plays from top to bottom, a Rhythm offers several different
composite phrases that loop indefinitely and are made to transition into one another for
a more free-flowing approach to accompaniment. Casio keyboards that offer a rhythm
section come with dedicated controls that cue up specific sections of each Rhythm,
including fills, variations, intros and endings. For hands-free operation, most Casios that
accept sustain pedals can be configured to allow for pedal-triggering of rhythm controls.
A Rhythm is usually tailored to a certain genre of music, and can be configured to be as
sparse as a simple drum beat for timing purposes or as lush as a full backing band that
will respond to the chords you play and harmonize accordingly.
A .CKF Rhythm has two main parts; note data in the form of 10 different musical
phrases ("Elements" of the Rhythm, like Variations, Fills, Endings etc) and voice
assignment/editing instructions in the form of Program Change messages and Control
Command messages ("Parameters" of the Rhythm). Unlike a MIDI sequence, which
uses 16 separate channels for playback, a .CKF Rhythm only controls 5 specific MIDI
channels when it's active. Channel 10 (Drums), Channel 11 (Bass), and Channels 12-14
(Chords/Harmony). When a rhythm is configured to respond to chord play as Auto-
Accompaniment, settings embedded in the .ckf file will also determine how the part on
each of these 5 channels behaves when particular chord structures are detected;
because the chord detection protocols operate under the assumption that you're playing
in the Key of C, all Rhythm note data should be written in the key of C to ensure proper
compatibility with the onboard Auto-Accompaniment features.

8
This does not mean that your Rhythms will always be played back in the
key of C; that would obviously be a huge limitation to work around. Rather, when Auto-
Accompaniment detects the chords you're playing with your left hand, it will transpose
these Rhythm parts from their original notes to match the key you're in for added
flexibility. However, this transposition is always carried out under the assumption that
the note data embedded in the .ckf file is originally composed in the key of C, so it's best
to always stay in that key when writing your own Rhythms.

What are the Elements of a CKF Rhythm?


Take a look at the CT-X700's Rhythm Controller panel for reference:

You might be wondering how a Rhythm can be made up of 10 different


component "Elements" when there only seem to be 5 sections that make up a Rhythm
(Intro, Normal, Variation, Fill-In, and the Ending). Well, these "extra" Elements sneak in
due to the nature of fill-ins and Intros/Endings. Fill-ins are 1-measure transitional
phrases meant to "fill-in" the last few beats before changing to a different section, but
the fill-ins themselves will change depending on both the section you're currently in and
the section you're transitioning into, which requires separate permutations of each fill-in
that get called up depending on context. The Intro and Ending sections also exhibit
a similar behavior. Therefore, the 10 Elements that will be converted from our SMF
sequence will be:
1. Intro 1 - An introductory section that automatically transitions into Variation 1 (the
X700's "Normal" section). Unlike the other Elements, the Intro and Ending
sections do not have to be in the key of C. They can be based on a chord
progression, which should be in the key of C, or written so that it resolves to the
root of C.
2. Intro 2 - A variant of the introductory section that automatically transitions into
Variation 2 (the X700's "Variation" section). Intro 2 is only heard if the Variation
button is pressed during Intro playback. Does not have to be in the key of C (see
above).

9
3. Variation 1 (Normal) - The default section of the Rhythm, it's the one that
normally plays when you start a Rhythm. The X700 labels this as the "Normal"
section, but the converter software and the CT-X3000 refer to it as Variation 1, so
that's what I'll be using from now on.
4. Variation 2 (Variation) - The variant of the default Rhythm. The X700 labels this
as the "Variation" section, or "VAR." for short. We will call it Variation 2 from here
on out for the sake of consistency.
5. Fill-In 1 - The 1-measure fill-in phrase for Var1 -> Var1 transitions. Fill-In 1 is
played when Variation 1 is playing and the Variation 1 button is pressed.
6. Fill-In 2 - The 1-measure fill-in phrase for Var1 -> Var2 transitions. Fill-In 2 is
played when Variation 1 is playing and the Variation 2 button is pressed. Upon
completion of Fill-In 2, Variation 2 playback will begin automatically.
7. Fill-In 3 - The 1-measure fill-in phrase for Var2 -> Var2 transitions. Fill-In 3 is
played when Variation 2 is playing and the Variation 2 button is pressed.
8. Fill-In 4 - The 1-measure fill-in phrase for Var2 -> Var1 transitions. Fill-In 4 is
played when Variation 2 is playing and the Variation 1 button is pressed. Upon
completion of Fill-In 4, Variation 1 playback will begin automatically.
9. Ending 1 - A concluding section that transitions out of Variation 1 and stops all
Rhythm playback upon completion. This section must be based on a chord
progression that is either in the key of C or resolves to the root of C, but does not
have to be in the key of C throughout the whole section.
10. Ending 2 - A concluding section that transitions out of Variation 2 and stops all
Rhythm playback upon completion. Does not have to be in the key of C (see
above).

What are the Parameters of a CKF Rhythm?


The Parameters of a Rhythm contain instructions for voice assignments and
voice editing across the 5 channels. Parameters come in the form of Program Change
(PC) messages that define what voice is assigned to each channel's part and Control
Command (CC) messages that further modify the voice on each channel by adjusting
the sound engine's settings for that voice (such as that voice's volume, panning, effects,
etc). These parameters are embedded in the .CKF Rhythm at the start point of every
Element on each channel. Only one set of Parameters can be applied per channel in
each Element, so you are unable to switch instruments in the middle of an Element, but
you can switch whenever a new Element begins playing (e.g. I can't have a trumpet on
Channel 12 for the first two measures of Variation 1 and switch to a clarinet in the third
measure, but I can switch to a clarinet on Channel 12 when Variation 1 ends and Fill-In
2 begins).

10
The converter software will only detect the following Parameters when converting
an SMF file:
 Program Change - This setting deals with voice assignments within a particular
bank of tones in your keyboard's memory. It can be any number from 0-127,
each of which corresponds to a certain voice in the keyboard's memory. Because
most modern keyboards can store way more than 128 instruments in memory,
instruments are sorted into separate banks of 128 instruments that are
selected with a separate MIDI message. Consult the appendices of your specific
model to determine what Program Change number (and bank) corresponds to
the voice you want to use.
 Bank select (Controller 0) - This CC command works in tandem with Program
Change to call up specific voices. The CC value you send on this channel
determines what bank of voices is assigned to each of the 5 channels, and then
the Program Change message determines which specific voice within the bank is
used.
 Volume (Controller 7) - This command sets the playback volume for each of the
5 channels for balance and mixing purposes. 127 is full volume, 0 will mute the
channel completely. If you are using the Accompaniment features to control other
instruments connected by MIDI, you can set a specific channel's volume to zero
to mute that part within your keyboard's internal sound engine while still sending
MIDI note data to the external instrument. For example, if I want to control an
external drum machine using the CT-X700's drum patterns, I would set the drum
machine to respond to channel 10 and then set the volume Parameters for
channel 10 to zero on each Element. The CT-X700's drum sounds on that
channel will be muted, but the external drum machine will still respond to the
MIDI notes sent out by the Rhythm.
 Pan (Controller 10) - This command sets the panning position of the voice on
each channel in the stereo field. Unlike the other the Parameters, panning is
"centered" at a value of 64. Values lower than 64 will shift the balance of the
voice towards the left speaker, whereas values higher than 64 will shift the
balance towards the right speaker. 0 is full left mono, 127 is full right mono.
 Reverb Send (Controller 91) - This command determines how much a
channel's voice is altered by the Reverb effect that is currently selected. A value
of 0 will leave that channel unaltered by the effect, and a value of 127 will result
in a heavily reverbed sound.
 Chorus Send (Controller 93) - This command determines how much a
channel's voice is altered by the Chorus effect that is currently selected. A value
of 0 will leave that channel unaltered by the effect, and a value of 127 will apply
the maximum chorus possible.

11
There are two MIDI messages that are neither Element note data nor Parameter
voice data, but will still be recognized during the conversion process. Pitch Bend data
within a range of 2 semitones will be recognized, as well as Modulation (Controller 1).
These MIDI messages do not need to appear at the beginning of each Element like the
Parameter messages, and can be used as needed throughout your rhythm for extra
control over your performance.
Casio's sound engineers program all the pre-set Rhythms for optimal compatibility to
make sure everything functions properly right out of the box, but the idea of organizing
and converting all this data on your own might seem a little daunting at first. Fortunately
Casio released the Rhythm Converter tool as part of the Internet Data Expansion
System (IDES) to assist you in converting your regular old MIDI sequences into .CKF
Rhythms that can be imported to your keyboard and stored as User Rhythms. However,
although the software is fairly straightforward to use, there are still some guidelines to
keep in mind when preparing your MIDI file for conversion to ensure that the resulting
.CKF Rhythm functions as intended. The rest of this guide will explain best practices for
creating or modifying a MIDI file for optimal compatibility with the IDES Rhythm
Converter.

How is a CKF Rhythm different from an AC7 Rhythm?

If you're reading this guide as a CT-X3000/5000 user, then you might be wondering
about the extra Variation 3 and Variation 4 buttons you have access to on your Rhythm
Controller panel. Unfortunately, due to the limitations of the older .CKF format, Rhythms
imported as .CKF will not be able to use Var3 and Var4 or the fills associated with them.
When a .CKF is converted to a .AC7 and then imported to an X3000/5000, all phrase
data associated with Var1 is copied into Var3 and all phrase data associated with Var2
is copied into Var4, and the same goes for the extra fill-ins that refer to Variations 3 and
4. If you want to record unique fills and variations for the Var3 and Var4 phrases, you
will need to use the onboard Rhythm Editor features to do so.
Another limitation of the .CKF format compared to .AC7 is that .AC7 rhythms can
make use of 8 channels instead of the 5 channels you get with .CKF files. AC7 Rhythms
add Channel 9 (Percussion) and Channels 15 and 16 (Chords/Harmony). If you want to
record note data to these extra channels, you will again need to use the onboard
Rhythm Editor. The X700 and 800 work with 8-channel AC7 Rhythms, but do not have
access to an onboard Rhythm Editor so those will need to be imported from one of the
more advanced models. As far as I'm aware there are not currently plans to release a
proper MIDI to AC7 converter, so we will have to make do with the old IDES converter
for the time being.

12
III. Choosing Your MIDI Composer
Essential Functions for SMF Preparation
There are many viable methods of making MIDI files out there, but for the sake of
this guide, I'll be assuming that you're using some kind of music software on your
computer or mobile device. If you own some gear that has a sufficiently advanced MIDI
sequencer on it, you may be able to create a MIDI file that meets all the requirements
for smooth conversion to .CKF format, but Digital Audio Workstations (DAWs) are
typically going to offer you a more flexible interface for manipulating MIDI data.
If you're a CT-X700/800 owner, you unfortunately don't have access to a proper
MIDI sequencer as the onboard Song Recorder only exports in .MRF format. However,
you can still compose an MRF song and play it back while your keyboard is connected
to a DAW to record the output as a proper MIDI file. Regardless of which tool you use to
prepare your MIDI files, it must at the very least be able to perform the following tasks:
 Record AND export song data in Standard MIDI File Format (SMF, or .MID).
o This seems obvious, but some music software (like Apple's GarageBand)
is not capable of exporting song data as SMF files even if they can import
MIDI files and convert them to their own proprietary format.
 Assign sequences of MIDI notes to specific MIDI channels.
o The converter software we will be using can only translate MIDI data if it’s
on MIDI Channels 10, 11, 12, 13 and 14 so you must be able to move
your MIDI sequences to those channels before exporting the final SMF.
 Set a time signature for the song.
o The converter software works by taking one long "block" of continuous
MIDI data and slicing up it up into specific sections that will become the
"elements" of your User Rhythm (i.e. Intro, Variation, Fill-Ins, Ending)
during conversion. You designate which portions of the MIDI sequence will
become each element of the User Rhythm by marking the measure on
which that section begins and how long that element lasts in measures.
Because the time signature of your sequence will determine what
measure each section starts on, you must be able to manipulate the time
signature as needed.

13
 Delete measures when manipulating MIDI sequence data on all channels.
o Again, because the converter is meant to work with one continuous block
of MIDI data that gets partitioned off into each element of the User
Rhythm, you must be able to move MIDI data around on all the channels
such that all the sequence data you want to convert occurs consecutively
in the SMF file. This does not mean all 5 channels must always have
notes playing at all times (that would be absurd!), but rather that when we
designate a range of measures to become each element of the rhythm,
each range of measures must occur right after the other one ends.
o For example, if I want Variation 1 to start on measure 3 and last for 4
measures, then Variation 1 will last until the end of measure 6. Because
Variation 2 is the next element in line for conversion, it must begin
immediately on the downbeat of measure 7. At the very least we must be
able to delete gaps of time between each element for the conversion to
work properly, otherwise we'll have to make sure we record our MIDI
sequence perfectly with no gaps on the first try (which is very unlikely).

Recommended Functions for SMF Preparation


The following features are not absolutely necessary, but can be very helpful and
save you some time:

 Transposing MIDI note data to a different key.


o In order for an SMF file to be properly converted to a CKF rhythm, it must
be composed in the key of C Major or based around the key of C so that
it can work with the onboard Casio accompaniment features, which detect
chords and transpose accordingly relative to the key of C. The Intro and
Ending sections can be based on a chord progression, which should be in
the key of C, or written so that it resolves to the root of C. The Variations
and Fills must be written in the key of C Major. If the original sequence
data you recorded/imported is not in the key of C, having the ability to
transpose to the key of C in your DAW will save you the hassle of re-
recording everything to be in C Major.

 Inserting Program Change and Control Change messages for proper voice
and effect assignments.
o You can apply Program Change and Control Messages for each
element later in the process using the converter software, but if these
messages are already embedded into the SMF file, it will save you some
extra steps down the line. It will also help if your MIDI-maker is capable of
the next recommended feature...

14
 Sending MIDI sequence data out to your keyboard for playback testing.

o Because voice assignments tend to be the trickiest part of converting


SMFs to CKF rhythm files, it helps if you can play back your MIDI
sequence data on the actual hardware you'll be importing it to before you
go through the conversion process. It might sound weird to hear all the
sections of your rhythm played consecutively in one long block, but the
important thing to pay attention to are the voice assignments. This will
help you determine whether or not you have inserted all the correct
Program Change and Control Change messages before you even start
converting the sequence to .CKF format.

 Cut, copy and paste tools for manipulating MIDI data.

o These are just nice tools to have when cleaning up your sequence data
prior to conversion. For one, it'll make it much easier place all the sections
of the sequence in the proper order to ensure you have no gaps before
conversion. Second, if you have parts of the rhythm you want to stay
constant across all the elements (for example, a drum pattern) you can
simply copy and paste that material into the appropriate sections.

 Placing markers in the sequence to designate the split points for each
element of the User Rhythm in your sequence.

o Markers, sometimes called "text events", are labels you can insert into
various points of your sequence to demarcate important events in the
song. Although markers are embedded in a MIDI file along with note
events and voice data, they don't typically affect sequence playback in any
major way and are mainly used as a reference tool to help you quickly
navigate to certain sections of a song if you're working in a DAW.

o The converter software uses these markers to determine the starting


measure of each element in a User Rhythm. You can set these "split
points" manually in the converter software itself, but if your SMF file
already contains Markers in the sequence, the converter software will
automatically detect them and save you the trouble. The process of
properly placing markers to serve as split points will be covered in the next
section.

15
IV. Preparing an Existing MIDI File for Conversion
Having an existing MIDI file to work with is obviously going to save you some
time in composing and recording phrases for each Element of a User Rhythm, but there
are still some important rules to keep in mind when structuring your MIDI file to ensure
that the conversion process goes as smoothly as possible. For the sake of
demonstration, I'm going to take a pre-recorded MIDI composition and walk you through
each step in the process as I modify it into the finished SMF we will use with the IDES
converter. I will be using Anvil Studio 2018 as my MIDI editor of choice, as it's free and
incredibly simple while still having all the features I need for this task.

Step 1: If necessary, transpose note data to be in the key of C. All Variations and
Fills must be in the key of C, but Intros and Endings can be based on a chord
progression as long as it's in the key of C or eventually resolves to the root of C.
Note data for a drum/percussion part should not be transposed, as this will mess
with the drum sound assignments on that channel. Consult your instrument's
Drum Assignment List for reference when programming drum parts.

Because of the way the chord detection protocol works on Casio keyboards, all
Rhythm note data must be written in the key of C. If you're only planning on using your
User Rhythm for drum and percussion sounds, you don't need to worry about
transposing for compatibility with Auto-Accompaniment features. However, whenever a
melodic instrument is used in a rhythm, its note data must be written in the key of C (or
transposed to the key of C after the fact) to ensure that the chord detection features will
work properly.

You may have to use a bit of music theory to determine what key your MIDI
sequence is in so you know how much to transpose, but fortunately for me, Anvil Studio
displays the key signature of the piece if that information is contained in the MIDI file. It
appears that I'm in the key of G, so I have a choice of chromatically transposing up 5
semitones or down 7 semitones on each channel. For my bass part I will choose to
transpose down, but for the others I will transpose up. The drum track will be left alone.
Be careful not to accidentally transpose the drum track if you're using a "transpose all
tracks" function in your MIDI editor.

After transposing, you may notice that the key signature in your composition
program has not changed. Don't worry about this; chromatic transposition ignores key
signature so the pitches should still be correct even if the key signature doesn't line up.
As long as the note data itself is transposed properly, the key signature data contained
in the MIDI file will have no effect on the conversion process.

16
Step 2: Move MIDI data around such that sequence data is assigned to the 5 MIDI
channels used for Rhythm playback (Drums on Channel 10, Bass on Channel 11,
Chords on Channels 12, 13 and14). If there are not enough channels available for
all the sequence data, consolidate sequence data as best you can until only those
5 channels are used.

Because MIDI compositions can make use of all 16 channels, you may have to
outright remove a lot of sequence data to cut it down to just 5 tracks. Depending on how
your MIDI composition is structured, you may be able to condense it down to 5 tracks
without losing any material if you get creative with Program Change commands to call
up new instruments when transitioning to a new Element of the Rhythm. Thanks to Anvil
Studio's little graphic display of note data across all my tracks, it's easy to identify some
"inefficiencies" in the way my MIDI file is set up.

I've color coded my thought process as I condense these 8 channels down to just 5:

 The Bass and Drum parts run through the entire sequence, and thus can't
share channels. I'll just change the bass channel to 11 and leave the drums on
channel 10.

 The Jazz Guitar part runs concurrently with a lot of other parts. It will probably
need its own channel, so I'll move it to channel 12 for now.

 The Steel Drums part during this B section is split across two different channels
to double it in the octave. I'll use Anvil Studio's "Merge Track" tool to combine
these channels.

 This Reed Organ part on channel 3 in the A section is quite similar the Marimba
part on channel 7 that occurs later in the song when the A section is reprised.
The reprisal of the A section won't be included as an Element in the final Rhythm,
so I can just choose one of these tracks and remove the other. I'll get rid of the
Reed organ part for now and keep the Marimba.

17
 The Brass section part on channel 4 does not occur concurrently with the
Marimba or the Steel Drums at any point in the song. However, the Brass
Section and the Marimba parts both occupy the A section of the piece, which will
all become a single Element during the conversion. I'll opt to keep the Marimba
on its own channel (13) and combine the Brass section and the Steel Drums
parts on channel 14 so I don't run into problems with mid-Element voice
switching.

After all the phrases have been moved around, my sequence looks like this.

I was able to preserve everything but the slightly different Reed Organ part that
appeared in the first A section. I still have extra unused sequence data left over due to
the repeated A and B sections, so I'll have to do some restructuring during the next
step.

Step 3: Manipulate sequence data on all tracks so that each Element occurs
consecutively in the right order. There cannot be any blank or skipped measures
in between Elements.

Refer to section II for a more detailed explanation of what the Elements are and
how they correlate with the buttons on your keyboard's Rhythm Controller section. In
order for a linear MIDI sequence to be properly converted into a .CKF Rhythm with
distinct sections and loop points, the MIDI sequence data must be arranged in a very
specific order so that the Rhythm Converter knows where to "split up" the long block of
MIDI data into the 10 separate Elements of the finished .CKF. Because these split
points are defined by measures of time, you'll have to make sure your Elements all start
and end neatly on a bar line in conjunction with the time signature you're composing in.
The order of the Elements is as follows, and cannot be changed:

18
1. Intro 1 (Intro -> Var1)

2. Intro 2 (Intro -> Var2)

3. Variation 1 ("NORMAL" on the CT-X700)

4. Variation 2 ("VAR." on the CT-X700)

5. Fill-In 1 (Var1 -> Var1) [Must be exactly 1 measure long.]

6. Fill-In 2 (Var1 -> Var2) [Must be exactly 1 measure long.]

7. Fill-In 3 (Var2 -> Var2) [Must be exactly 1 measure long.]

8. Fill-In 4 (Var2 -> Var1) [Must be exactly 1 measure long.]

9. Ending 1 (Var1 -> Ending)

10. Ending 2 (Var2 -> Ending)

All Elements must occur consecutively in your MIDI sequence, and there
can be no gaps between them whatsoever. This does not mean all 5 channels must
always have notes playing at all times, but rather that when we designate a range of
measures to become each element of the rhythm, each range of measures must occur
right after the other one ends. For example, if I want Variation 1 to start on measure 3
and last for 4 measures, then Variation 1 will last until the end of measure 6. Because
Variation 2 is the next element in line for conversion, it must begin immediately on the
downbeat of measure 7. If you wish to have pick-up notes leading into Intro 1 or Intro 2,
you can have a mostly blank measure at the start of those Elements and then insert the
pick-ups at the end of that measure (just make sure you don't have any completely
blank measures). Blank measures after the last beat of Ending 2 will be ignored during
the conversion process.

All 10 Elements must be present in the MIDI sequence even if not every
Element is unique. For example, even if you don't plan on using any unique Fill-Ins in
your Rhythm, those one-measure Elements must still appear in the proper order within
the source MIDI file for the conversion to work properly. To keep the structure of the
source MIDI file intact, just copy the last measure of one of your Variations and paste it
so that it appears where it's supposed to in the order of the Elements. Triggering the
Fill-In won't cause any difference in the sound of the Rhythm, but it will still allow the
Rhythm to function properly because it's not trying to play back sequence data that
doesn't exist. Likewise, if you only want to change a few things about a phrase in order
to make it a unique fill (e.g. adding some snare hits to the drum track for a transition),
you can copy the last measure of the Variation you want to build on, paste it in the
proper spot and then tinker with it from there.
19
My MIDI sequence still has those unused repeat sections and needs some extra
Fill-Ins, so I'm going to do some cutting and pasting to get everything in the right
order. It's a good idea to save a copy of your MIDI sequence before you start
deleting material just in case you make a mistake and lose something important
in the process.

After some rearranging, my MIDI sequence looks like this. If you're using Anvil
Studio like me, you'll find that the "Copy Selection from All Tracks" and "Paste To All
Tracks" functions in the Edit Menu are very helpful for duplicating certain measures of
your composition. When pasting, make sure to use "Insert" paste so that it adds a
measure to the sequence instead of overwriting existing measures. Double check to
make sure you didn't leave any gaps and that all the Elements appear in the proper
order.
Once you've reached this point, if you'd rather handle all the Parameter settings
in the converter software itself, you are now welcome to export your MIDI file and skip to
the section regarding IDES Rhythm Converter to complete the conversion process.
However, if you really know your way around whatever software you're using, you can
keep working within your MIDI editor and add some extra data to the MIDI file that will
make the conversion process go a lot faster.

Step 4: Place Markers (sometimes called "Text Events") at the start points of each
of the 10 Elements. Insert a final endpoint Marker on the downbeat of the measure
right after Ending 2. You should end up with 11 Markers when you're finished.

Using the Insert MIDI Event function in the Edit menu allows me to insert Markers
into my MIDI sequence. Although Markers are embedded into an SMF file, they don't
usually have any effect on playback and are primarily used as a reference tool in MIDI
editing programs to label certain sections of a composition. However, the converter
software can automatically detect the placement of these markers to determine where
each of the 10 Elements begins and ends, saving you the trouble of entering all of that
data by hand. The first marker sets the start point of Intro 1, and should be placed at the
very top of track on the first downbeat. The second marker will determine the end of
Intro 1 and the start of Intro 2, so it should be placed on the downbeat of the first
measure of Intro 2, and so on. On the downbeat of the measure immediately following
Ending 2, place the 11th marker to set the end point of the Rhythm. Remember that the
Fill-Ins can each only be one measure long.

20
The Markers only need to be placed on a single track to be detected by the
converter software. Although they are called "Text Events" in some software, you don't
actually need to type anything specific in the text field. A blank marker works just fine as
long as it's in the right place. You can check the Event List in the View menu to verify
that all the Markers are in the right spots, which is where labeling your Markers might
come in handy. Placing these markers will also help us determine where to insert other
MIDI events for the next step.

Step 5: Insert Program Change and Control Change messages at the start of each
Element to set each channel's voice assignment and effects. If these messages
are placed anywhere other than the downbeat of the first measure of their
corresponding Element, they will not be detected during the conversion process.

Now that all of our sequence data is in the right order and on the right channels,
all that's left to mess with are the voice assignments. Consult your keyboard's appendix
to determine the Program Change (PC) number and Bank Select MSB (CC 0) value
assigned to the voice you want to assign to a particular channel for the duration of an
Element (see sections I and II for more info on voice assignments and MIDI messages).
Move the selection cursor to the downbeat of the first measure of an Element and then
insert those MIDI messages on that beat. If your MIDI Editing software is connected to
your keyboard and capable of sending MIDI data to it, play your sequence back and
listen to make sure that the right tone has been selected. For my bass track on Channel
11, I'll use the CT-X700's Synth Bass 8. According to the Tone List in the X700's
Appendix, Synth Bass 8 is assigned to Program 39 in Bank 33, so I'll insert a Program
Change message of 39 and a CC message of 33 for Controller 0 (Bank Select) on
Channel 11.

Once you're happy with the voice assignment, it's time to insert the Control
Command (CC) messages that will apply various effects and settings to the voice
you've selected. The only CC parameters recognized by the converter software are
Volume (CC 7), Panning (CC 10), Reverb Send (CC 91) and Chorus Send (CC 93). If
you placed your markers correctly in the previous step, it should be easy to see exactly
where the messages should be inserted.

21
Modulation (CC 7) and Pitch Bend messages can also be used, but will be
recognized wherever they appear and do not to need to be placed at the start of each
Element like the other voice editing controls (see section II for more info on voice editing
CC messages). If you want this voice to stay constant across all the Elements of the
Rhythm, you can choose to copy all these MIDI messages to the rest of the Elements
either here in your DAW or later in the converter software.

Once you're finished, you can again use the Event list in Anvil Studio to verify
that all the MIDI messages for each channel are all placed in the right spots. If done
correctly, you should have a set of parameters across each of the five channels for all
10 Elements embedded within the SMF. If you can, play back the sequence on your
keyboard via MIDI and verify that all the tracks are configured to your liking. Once you're
done applying the finishing touches, export your sequence as an SMF File Format 0
.MID and save it somewhere you can find it later.

22
V. Creating a New MIDI File for Conversion
If you're planning on starting from scratch with a blank MIDI file in your DAW,
there are some guidelines you should keep in mind when setting up your MIDI
sequence. Even before you start setting up your MIDI file, it helps to have some idea of
what time signature you'll be composing in and how many measures long you want
each Element of the Rhythm to be (see section II for more info).

1) All note data for the melodic instruments in your Rhythm should be composed
in the key of C. Intro and Ending phrases can be based on a chord progression
that's not in the key of C, but the chord progression must eventually resolve to
the root of C. The drum track is an exception to this rule, as the note data
recorded on channel 10 (drums) will be pitched according to the Drum
Assignment list of your keyboard model (X700, X3000/X5000).

Because of the way the chord detection protocol works on Casio keyboards, all
Rhythm note data must be written in the key of C. If you're only planning on using your
User Rhythm for drum and percussion sounds, you don't need to worry about
transposing for compatibility with Auto-Accompaniment features. However, whenever a
melodic instrument is used in a rhythm, its note data must be written in the key of C (or
transposed to the key of C after the fact) to ensure that the chord detection features
work properly.

If you record in a different key and decide to transpose later, you may have to
use a bit of music theory to determine how many semitones you will need
to chromatically transpose the note data to change it to the key of C. The drum track
should be excluded from any transposing procedures. Be careful not to accidentally
transpose the drum track if you're using a "transpose all tracks" function in your MIDI
editor or you may mess up the drum assignments for that channel.

2) All note data for your Rhythm must be contained within 5 specific MIDI
channels. These MIDI channels are designated for Drums (Channel 10), Bass
(Channel 11) and Chords 1-3 (Channels 12, 13 and 14).

Unlike a full 16-channel MIDI file, a .CKF Rhythm only contains phrase data for 5
MIDI channels. Keep that 5-channel limit in mind as you start recording material for
each part of your sequence. Although the converter software labels these channels as
Drums, Bass, and Chords 1-3, you can actually assign whatever parts and voices you
want to each of these five channels if you want. Those labels are just there as a
guideline for structuring all of your different .CKF files in a uniform fashion. I would
recommend always keeping Drums on Channel 10 and Bass on 11 if you can; feel free

23
to use the chords channels for any other melodic parts as needed. Later on in the
converter software we will assign Auto-Accompaniment behaviors to each of these
channels to ensure maximum compatibility with chord detection features, so having a
consistent organizational structure to your Rhythms might make that process a little
easier to understand.

Although you are limited to five channels, that does not mean you can only make
use of five voices across a whole Rhythm. Using Program Change and Bank Select
MIDI messages, we can automate our Rhythm so that specific channels will change
voices whenever Rhythm playback transitions into a new element. Don't worry about
voice assignments too much early on, we'll have a choice of configuring all those
settings in the converter software later if need be.

3) All sequence data must be structured so that each Element occurs


consecutively in the right order. There cannot be any blank or skipped measures
in between Elements.

In order for a linear MIDI sequence to be properly converted into a .CKF Rhythm
with distinct sections and loop points, the MIDI sequence data must be arranged in a
very specific order so that the Rhythm Converter knows where to "split up" the long
block of MIDI data into the 10 separate Elements of the finished .CKF. Because these
split points are defined by measures of time, you'll have to make sure your Elements all
start and end neatly on a bar line in conjunction with the time signature you're
composing in. The order of the Elements is as follows, and cannot be changed:

1. Intro 1 (Intro -> Var1)


2. Intro 2 (Intro -> Var2)
3. Variation 1 ("NORMAL" on the CT-X700)
4. Variation 2 ("VAR." on the CT-X700)
5. Fill-In 1 (Var1 -> Var1) [Must be exactly 1 measure long.]
6. Fill-In 2 (Var1 -> Var2) [Must be exactly 1 measure long.]
7. Fill-In 3 (Var2 -> Var2) [Must be exactly 1 measure long.]
8. Fill-In 4 (Var2 -> Var1) [Must be exactly 1 measure long.]
9. Ending 1 (Var1 -> Ending)
10. Ending 2 (Var2 -> Ending)

24
All Elements must occur consecutively in your MIDI sequence, and there
can be no gaps between them whatsoever. For example, if I want Variation 1 to start
on measure 3 and last for 4 measures, then Variation 1 will last until the end of measure
6. Because Variation 2 is the next element in line for conversion, it must begin
immediately on the downbeat of measure 7. If you wish to have pick-up notes leading
into Intro 1 or Intro 2, you can have a mostly blank measure at the start of those
Elements and then insert the pick-ups at the end of that measure (just make sure you
don't have any completely blank measures). Blank measures after the last beat of
Ending 2 will be ignored during the conversion process.

All 10 Elements must be present in the MIDI sequence even if not every
Element is unique. For example, even if you don't plan on using any unique Fill-Ins in
your Rhythm, those one-measure Elements must still appear in the proper order within
the source MIDI file for the conversion to work properly. To keep the structure of the
source MIDI file intact, just copy the last measure of one of your Variations and paste it
so that it appears where it's supposed to in the order of the Elements. Triggering the
Fill-In won't cause any difference in the sound of the Rhythm, but it will still allow the
Rhythm to function properly because it's not trying to play back sequence data that
doesn't exist. Likewise, if you only want to change a few things about a phrase in order
to make it a unique fill (e.g. adding some snare hits to the drum track for a transition),
you can copy the last measure of the Variation you want to build on, paste it in the
proper spot and then tinker with it from there.

For visual reference, here's a sequence I worked with in Anvil Studio divided up
into separate Elements. Planning ahead and visualizing the structure of your Rhythm
before you start recording the tracks makes the ordering process much faster
and easier.

If you're using Anvil Studio like me, you'll find that the "Copy Selection from All
Tracks" and "Paste To All Tracks" functions in the Edit Menu are very helpful for
duplicating certain measures of your composition. When pasting, make sure to use
"Insert" paste so that it adds a measure to the sequence instead of overwriting existing
measures. Double check to make sure you didn't leave any gaps and that all the
Elements appear in the proper order.

25
Once you've reached this point, if you'd rather handle all the Parameter settings
in the converter software itself, you are now welcome to export your MIDI file and skip to
the section regarding IDES Rhythm Converter to complete the conversion process.
However, if you really know your way around whatever software you're using, you can
keep working within your MIDI editor and add some extra data to the MIDI file that will
make the conversion process go a lot faster.

4) Place Markers (sometimes called "Text Events") at the start points of each of
the 10 Elements. Insert a final endpoint Marker on the downbeat of the measure
right after Ending 2. You should end up with 11 Markers when you're finished.
These will become the "split points" separating each Element during the
conversion process.

Although Markers are embedded into an SMF file like other MIDI events, they
don't usually have any effect on playback and are primarily used as a reference tool in
MIDI editing programs to label certain sections of a composition. However, the
converter software can automatically detect the placement of the markers to determine
where each of the 10 Elements begins and ends, saving you the trouble of entering all
of that data by hand. The first marker sets the start point of Intro 1, and should be
placed at the very top of track on the first downbeat. The second marker will determine
the end of Intro 1 and the start of Intro 2, so it should be placed on the downbeat of the
first measure of Intro 2, and so on. On the downbeat of the measure immediately
following Ending 2, place the 11th marker to set the end point of the
Rhythm. Remember that the Fill-Ins can each only be one measure long.

The Markers only need to be placed on a single track to be detected by the


converter software. Although they are called "Text Events" in some software, you don't
actually need to type anything specific in the text field. A blank marker works just fine as
long as it's in the right place, but labeling your markers can still be helpful when double-
checking that everything is in the right place. Placing these markers will also help us
determine where to insert other MIDI events for the next step.

26
5) Insert Program Change and Control Change messages at the start of each
Element to set each channel's voice assignment and effects. If these messages
are placed anywhere other than the downbeat of the first measure of their
corresponding Element, they will not be detected during the conversion process.

Now that all of our sequence data is in the right order and on the right channels,
all that's left to mess with are the voice assignments. Consult your keyboard's appendix
to determine the Program Change (PC) number and Bank Select MSB (CC 0) value
assigned to the voice you want to assign to a particular channel for the duration of an
Element (see sections I and II for more info on voice assignments and MIDI messages).
Insert those MIDI messages at the first downbeat of the corresponding Element to
ensure that the converter software detects those parameters during conversion. If your
MIDI Editing software is connected to your keyboard and capable of sending MIDI data
to it, play your sequence back and listen to make sure that the right tone has been
selected. For my bass track on Channel 11, I'll use the CT-X700's Synth Bass 8.
According to the Tone List in the X700's Appendix, Synth Bass 8 is assigned to
Program 39 in Bank 33, so I'll insert a Program Change message of 39 and a CC
message of 33 for Controller 0 (Bank Select) on beat 1 of measure 1 on Channel 11.

Once you're happy with the voice assignment, it's time to insert the Control
Command (CC) messages that will apply various effects and settings to the voice
you've selected. The only CC parameters recognized by the converter software are
Volume (CC 7), Panning (CC 10), Reverb Send (CC 91) and Chorus Send (CC 93). If
you placed your markers correctly in the previous step, it should be easy to see exactly
where the messages should be inserted. Modulation (CC 7) and Pitch Bend
messages can also be used, but will be recognized wherever they appear and do not to
need to be placed at the start of each Element like the other voice editing controls (see
section II for more info on voice editing CC messages). If you want this voice
assignment to stay constant across all the Elements of the Rhythm, you can choose to
copy all these MIDI messages to the rest of the Elements either here in your DAW or
later in the converter software.

Once you're finished, verify that all the MIDI messages for each channel are all
placed in the right spots. If done correctly, you should have a set of parameters
across each of the five channels for all 10 Elements embedded within the SMF. If you
can, play back the sequence on your keyboard via MIDI and make sure that all the
tracks are configured to your liking. Once you're done applying the finishing touches,
export your sequence as an SMF File Format 0 .MID and save it somewhere you can
find it later.

27
VI. Converting Your SMF with IDES 4.0
The Internet Data Expansion System (IDES) is nearly as old as the .CKF format
itself, but it's still fully capable of handling most rhythm conversion needs in the present
day. If you take a look at the informational web page you'll see that the it only claims to
support Windows Vista as the latest operating, but I'm able to use it just fine on my
Windows 10 machine without any compatibility issues. Mac users are unfortunately out
of luck as there was no support for OS X on Casio gear back then. Batch download the
Windows installer and follow the instructions to install IDES.

Once it's installed, you'll find the Rhythm Converter executable inside the
"Converter" subfolder on the root of the "IDES4" directory. The Rhythm Converter
software is very simple to operate, but there's no application manual contained within
the software package itself so it might be a little hard to navigate your first time through.
For your reference, I have compiled the Rhythm Converter manual into a simple .pdf.

The manual discusses a lot of subjects I've already covered in great detail in this
guide, but it tends to be a little cryptic at times (especially towards the beginning) so I
figured having a supplemental explanation of the SMF preparation process would help a
lot of folks who've had trouble with Rhythm Conversion in the past. If you've been
following along with my guide so far, I would recommend skipping ahead to Article 3-1
(page 5 of the .pdf) to avoid retreading old ground.

1) If you've already placed markers and inserted all the voice assignment MIDI
messages into your sequence, the Rhythm Converter should automatically detect
and input your sequence's split points and parameters. Look over the Element
Editor tab to double check that all your SMF data was properly detected.

Embedding all this information while creating the MIDI file in your DAW saves
you the extra step of having to set all these parameters manually using the Element
Editor. Even so, it's important to double check that all the information was detected
correctly to avoid mistakes during the conversion process. Go to File -> Open SMF to
import your MIDI file. When prompted to use the Parameters embedded in the SMF,
choose Yes and the Rhythm Converter should extract all the data from your
SMF. Clicking on each Element on the left will bring up all the parameter data currently
associated with that section for each of the five channels. It helps to have the sequence
still open in your DAW in another window so that you can quickly switch back and forth
to verify that all the right MIDI messages are in their proper locations.

28
The "Tone" field on the top row of the Element Editor corresponds to the
Program Change message being sent on that channel, and all the other voice editing
fields (Bank select, Volume, Pan, Chorus, and Reverb) should match-up with their
respective CC addresses and values in your MIDI sequence. If you right click a box in
the Tone row, you'll see a drop down menu of all the General MIDI voices grouped into
their categories, but don't pay too much attention to these labels. We're specifically
trying to avoid using the General MIDI voices so we have access to all of our keyboard's
tones for Rhythm instrumentation, so consult your keyboard's appendix to make sure all
your voice assignments are using the proper Program Change and Bank Select values.
If you changed the voice on a channel for a particular Element part-way through your
Rhythm, check to make sure that the altered voice data is assigned to the
corresponding Element.

2) Assuming your Parameters were properly detected, the only other .CKF
settings you must manually configure in the Converter are Table, Break, Inversion
and Retrigger. If you are not planning on using this Rhythm in conjunction with
the chord detection features of Auto-Accompaniment, set all 5 channels' Table
parameter to 14 in every Element.

Table, Break, Inversion and Retrigger are chord detection parameters, and
can found on the bottom rows of the Element editor. These parameters will determine
the behavior of each channel's note data when it is transposed to match the chords
you're playing. How exactly each of these parameter affects auto-accompaniment

29
playback is a little complicated at first, but the IDES manual explains all these concepts
very thoroughly. I have compiled the relevant sections of the manual in this pdf file for
further reference. Right clicking an Element and selecting "Copy Chord To" will allow
you to copy the chord detection parameters for all channels of that Element and apply
them to a different Element; this will save you some time if you want Auto-
Accompaniment behavior to be shared between related Elements.

If your rhythm is only composed of non-melodic instruments (i.e. drum and


percussion tracks only) or you don't want chord detection features to transpose the note
data contained with your Rhythm, then you can set the Table value for all 5 channels to
14 for every Element. Chord Table 14 corresponds to "Intro-No Change"; if a channel is
set to use this Chord Table, any chords detected on the left hand will have no effect on
Rhythm playback transposition. Note that this will always result in playing back the note
data exactly as it appears in the .CKF file, so if you don't want it to always be in the key
of C, record your SMF sequence in a different key signature.

3) If you decided to skip the later steps of the SMF preparation detailed in
sections IV and V, you will have to manually enter all split point and voice
assignment data for each Element.

This might take you a bit longer in the end, but manually entering the parameters
for all 5 channels of every Element makes it a lot harder to make mistakes in the
conversion process. Remember that when entering the split points for your Elements,
there can be no gaps in the sequence and all Elements must appear in the right order
(see section II). Refer to the Sound List in the appendix of your keyboard to figure out
the Program Change and Bank select values you will need to call up the instruments
you have in mind for a particular phrase (X700, X3000).

If you plan on having voice assignment or chord detection behavior remain


consistent across multiple Elements, right clicking an Element and using one of the
"Copy To" functions will allow you to quickly assign those same settings for all 5
channels to a different Element. "Copy Chord To" will only transfer chord detection
parameters and "Copy Tone To" will only transfer voice data; "Copy All To" will transfer
both. When you're happy with your split points, voice data, and chord detection data for
all the Elements, you can go to "File -> Save Parameter" to export all the Parameters of
the current Rhythm. If you plan on using these same voice assignments later but on a
different Rhythm pattern, you can go to "File -> Open Parameter" to instantly apply
these settings to a different MIDI sequence.

30
4) Once you've configured everything to your liking, go to "File -> Convert
Pattern" to save your .CKF pattern in a location of your choosing. Save the
Parameters associated with the file if you plan on applying this set of voice
assignments to a different Rhythm later.

Note that the Rhythm Name field in the Element Editor tab will determine the
name of this Rhythm as it appears in your keyboard's memory. The name of the .CKF
file itself will not carry over when your Rhythm is imported to hardware. Now that you
have your finished .CKF file, you can import it to your keyboard using the flash drive
port or the associated file transfer software on your computer. For the CT-X700, you will
need to use CT-X Data Manager. If you're using an X800 or an X3000/X5000, I have
attached the relevant pages of those manuals regarding flash drive transfer for your
reference.

31
VII. Updating a CKF Rhythm with New Voice Assignments
Because the .CKF format has been supported for so long, there are likely some
Casio owners who are interested in taking a .CKF Rhythm from an older keyboard that
they own (or used to own) and updating it to use the new and improved voices on a
more recent model. Luckily, the IDES Rhythm Converter we've been using to convert
SMF to CKF so far can also take a finished .CKF and split it apart into its Elements (in
the form of a .MID sequence) and Parameters (a separate file that only contains the
Rhythm's split point markers, voice assignments, and chord detection behaviors). Being
able to extract only extra the note data of a Rhythm as an SMF allows us to preserve
the musical phrases exactly as they were, but modify the voices used to play back the
Rhythm as we see fit.

If you still own the keyboard that contains the .CKF Rhythm you want to modify,
you can always extract the .CKF Rhythm data you want to update using the appropriate
version of Data Manager for your specific model. You may have to save this Rhythm as
a User Rhythm by copying it over to an empty User Rhythm slot on the keyboard itself
before it can exported.

If Data Manager extraction doesn't work for you, you can always connect your
keyboard to your computer and use a DAW to record the Rhythm as a new SMF
sequence. Just make sure that you have "Accomp Out" enabled in your keyboard's
MIDI settings so that Rhythm playback will be sent out as MIDI data for recording.
During your recording, trigger all the different Elements of the Rhythm (see section II)
with the Rhythm Controller buttons to ensure that your recording contains all the MIDI
data you will need. From here, follow the instructions in section IV as you proceed
through the rest of the conversion process.

If you don't own the keyboard that contains the Rhythm you're looking for, you'll
have to either find the .CKF file archived somewhere on the internet or ask someone
who does own the keyboard to extract the files for you. If the model is particularly old, I
would recommend asking around the Classic Casio section on our forums for help.

32
1) Open the Rhythm Converter and select File -> File Convert -> Convert ckf to
smf. Select the CKF Rhythm you want to update, and then enter the names of the
SMF file and Parameters file that will be extracted from the Rhythm.

2) Go to File -> Open SMF and then select the SMF file you just extracted. When
prompted to import the Parameters contained in the SMF, select No.

Even after the extraction, some Parameters might still be left embedded in the
SMF file. Just to make sure that we don't carry over any unwanted data, don't import
any of the Parameters from the SMF. In the next step, we will use that separate
Parameters file we just made to only bring over the Parameter data that we want to
preserve from the original Rhythm.

3) Go to File -> Open Parameters. Use one of the "Open Only" commands to
import only specific parts of the original Parameters from the original Rhythm file.

If you "Open All", then all the Parameters (including the old voice assignments)
from the old .CKF Rhythm will be brought back and applied to our new CKF Rhythm.
We're specifically trying to avoid keeping the old voice assignments, so we definitely
want to avoid "Open Tone" as well, because that specifically imports the voice
assignment parameters like Program Change, bank select and the effects data.

"Open Main" is a good timesaver, as it will import the split points of the Rhythm
as well its name, tempo, and time signature. "Open Chord" and "Open OTP" will import
the chord detection and One-Touch Preset data respectively which can also be useful if
you want to carry over those settings as well.

4) After importing all the data you want to preserve from the original Rhythm from
the Parameters file, manually enter all the new data you want to update for
compatibility with the newer keyboard.

For most cases, the only thing you'll be updating is voice assignment data, so
you'll only need to worry about are the Program Change, Bank Select and voice editing
CC commands in the Element Editor (see section VI for more information). Refer to the
Sound List in the appendix of your keyboard to figure out the Program Change and
Bank select values you will need to call up the instruments you have in mind for a
particular phrase.

33
If you plan on having voice assignment or chord behavior remain consistent
across multiple Elements, right clicking an Element and using one of the "Copy To"
functions will allow you to quickly assign those same settings for all 5 channels to a
different Element. "Copy Chord To" will only transfer chord detection parameters and
"Copy Tone To" will only transfer voice data; "Copy All To" will transfer both.

When you're happy with your split points, voice data, and chord detection data for
all the Elements, you can go to "File -> Save Parameter" to export all the Parameters of
the current Rhythm. If you plan on using these same voice assignments later but on a
different Rhythm pattern, you can go to "File -> Open Parameter" to instantly apply
these settings to a different MIDI sequence.

5) Once you've configured everything to your liking, go to "File -> Convert


Pattern" to save your .CKF pattern in a location of your choosing. Save the
Parameters associated with the file if you plan on applying this set of voice
assignments to a different Rhythm later.

Note that the Rhythm Name field in the Element Editor tab will determine the
name of this Rhythm as it appears in your keyboard's memory. The name of the .CKF
file itself will not carry over when your Rhythm is imported to hardware. Now that you
have your finished .CKF file, you can import it to your keyboard using the flash drive
port or the associated file transfer software on your computer.

34
VIII. Appendices of All CKF Compatible Keyboards
I have compiled the relevant appendices of every .CKF compatible keyboard
currently listed on the main Casio Music Gear site into separate pdfs. If you're using an
older model that's not listed here, you'll have to search out your model's documentation
from the web manual archives.

The Sound List catalogs all the sounds in your keyboard's memory along
with the Program Change and Bank addresses that correspond to each one. The Drum
Assignments show which keys on your keyboard correspond to certain drum sounds
within Drum Set tones on your keyboard; consult these when programming the drum
track of your rhythm to ensure the right sounds are being triggered by the note data
you're planning to convert. The Transfer Information is a collection of the relevant
pages from your manual that deal with importing User Data from an external source like
a computer or a flash drive.

CT-X700 Sound List Drum Assignments CT-X Data Manager


CT-X800 Sound List Drum Assignments Transfer Information
CT-X3000/X5000 Sound List Drum Assignments Transfer Information
PX-350 Sound List Drum Assignments Transfer Information
PX-360 Sound List Drum Assignments Transfer Information
PX-560 Sound List Drum Assignments Transfer Information
AP-650 Sound List Drum Assignments Transfer Information
WK-245 Sound List Drum Assignments Transfer Information
WK-7600 Sound List Drum Assignments Transfer Information
WK-6600/CTK-6200 Sound List Drum Assignments Transfer Information
CTK-6250 Sound List Drum Assignments Transfer Information
MZX-300 Sound List Drum Assignments Transfer Information
MZX-500 Sound List Drum Assignments Transfer Information

If you’re using this guide in print form, you won’t be able to follow these
embedded hyperlinks. Go online to <http://tinyurl.com/ckfguide> to find this directory on
the Casio Music Gear forums.

35
IX. Helpful Links and Further Reading

 IDES 4.0 Download Page

 Rhythm Converter Manual (PDF)

 Rhythm Converter Chord Detection Info (PDF)

 CT-X Data Manager Manual

 Casio Software Directory - If you're not a CT-X User, consult this page to see
which Data Manager version you should be using.

 Casio Web Manual Directory - Use this to find your keyboard's manual and
appendices if it wasn't listed in the previous section.

 CT-X Series Facebook User Group - Connect with other CT-X Users to share
files and ask questions.

 Casio Music Forums Downloads Section - Share your own custom rhythms here,
or search for rhythms made by other users.

 Anvil Studio 2018 Main Site and User's Guide - Free, very simple MIDI composer
software.

 MIDI Overview by John Gibson of Indiana University

 General MIDI Voice Assignments

If you’re using this guide in print form, you won’t be able to follow these embedded
hyperlinks. Go online to <http://tinyurl.com/ckfguide> to find these links on the Casio
Music Gear forums.

36

You might also like