KSC File Concepts

The Korg Document represents a single Korg PCG file and its dependant files. The PCG file contains all the Program and Combi information. An accompanying KSC file is responsible for loading the user-Multisamples that the PCG might require.

On the Triton and the M3, and also the Kronos if you aren't streaming from disk, this is simply done. The KSC is the same name as the PCG, and it is a text file with a list of all the KMP files that need to be loaded. Those KMP files are assumed to be in a folder with the same name as the KSC file. The KMP files are responsible for loading the referenced KSF files into RAM memory.

For example, a typical file set may look like:

The KSC (a text file) may look like this:

#KORG Script Version 1.0
TRUM_000.KMP
TRUM_001.KMP
TRUM_002.KMP
TRUM_003.KMP

And of course those are the KMP files you'll see in the "Trumpets" folder.

In Korg Creator, you can create and load these type of PCG/KSC/Folder file sets regardless of their source; created my the Korg, or by Korg Creator or by anyone else, and use the interchangeably.


The Kronos and its PCG Files
However, with the Korg Kronos and dealing with disk streaming, it is much more complicated. This article is meant to go into detail on how Kronos KSC's work in relation to Programs in PCG's and user Multisamples that you create yourself. There is excellent introductory information in the Kronos Parameter Guide (not the Operations Manual), but it neglects to be specific about actual use of samples YOU create. Since Korg Creator is so much more powerful then merely sampling on the Kronos itself, such a treatment is necessary.

The first concept to understand is that the PCG and the KSC are two different things and are loosely linked. In a Kronos Program inside a PCG, each enabled Velocity Zone references an Index, and a UUID (Universal Unique Identifier, much on these later). The Index is the Multisample number. However in the Kronos, you see something fairly different. You don't see any UUID (thankfully), and there is a Type drop down. When you select the Type, you always have four options, often more:

You may have EXs[x] types listed, and more to our topic of conversation, HDD: types. (All have mono versions and stereo versions.) These are the multisamples loaded by a KSC at some point of time. You might see this type in RED, which means it knows what needs to be loaded but it hasn't been loaded yet. This is what illustrates the loose-linking between PCG's and KSC files, the PCG passively will connect to what it wants to, and if it isn't available, it show you in RED what it expects. The Kronos does an admirable job at hiding the complexities that are going on under the hood.

So if the Type isn't stored in the Velocity Zone, how does the Kronos know what type it is? The answer is via the UUID. Think of the Kronos at any given time having lists of UUID's, representing Multisamples of a specific type; those being ROM, Sampling, EXs, or HDD. As you load KSC's, depending on how KSC instructs the Multisamples to be loaded, those lists are built up. So when you go to the Velocity Zone parameters in a Program, and check the Type, the Kronos will reflect what lists have been created. If there are any EXs-type Multisamples loaded, it will show that menu in the Type list, etc. By using the UUID for the Velocity Zone, the Kronos will check the lists and if the UUID is found, it will select the stored Index within that list. Note: "Sampling" Multisamples (meaning those in RAM memory) do not have a UUID, so if the UUID of the VelZone does not exist, it will default to the regular Korg Multisample Indexes, just like the M3 and the Triton work.

This is what we mean by "loosely-linked". You are responsible for loading the KSC's that the PCG will expect.

The Kronos KSC File
Korg calls this the Korg Sample Collection file, and loading one represents "loading" some file into the lists we see in the Program Velocity Zone. Note: often the Kronos isn't "loading" anything, it's actually referencing a file to a organized position within what the Kronos accesses. A KSC file is simply a text file, and if you look into one, it can be a cryptic and frightening experience. For example:

#KORG Script Version 1.0
#v2
#>>uuid:8f140e1c-9b5b-4a99-a7ed-bba7423b4f60.MS0.1.0.Jazz Vibes4 000-L
#>>uuid:8f140e1c-9b5b-4a99-a7ed-bba7423b4f60.MS1.1.0.Jazz Vibes4 000-R
#>>uuid:8f140e1c-9b5b-4a99-a7ed-bba7423b4f60.MS2.1.0.Jazz Vibes4 001-L
#>>uuid:8f140e1c-9b5b-4a99-a7ed-bba7423b4f60.MS3.1.0.Jazz Vibes4 001-R
#>>uuid:8f140e1c-9b5b-4a99-a7ed-bba7423b4f60.MS4.1.0.Jazz Vibes4 002-L
#>>uuid:8f140e1c-9b5b-4a99-a7ed-bba7423b4f60.MS5.1.0.Jazz Vibes4 002-R
#>uuid:8f140e1c-9b5b-4a99-a7ed-bba7423b4f60.6.0.Jazz Vibes4

If it weren't for the UUID, these files would be easier to understand via eyesight. Anyway, we don't expect you to understand them. But it is important that you understand the UUID. Every file on the Kronos's SSD is assigned a UUID, and this is assigned by the Kronos itself at the time the file/folder is written to the SSD - with one exception, which we will discuss below. And, if you want more information about KSC's, look in current Kronos Parameter Guide, under the Appendicle:Disk Mode and file format information:Korg format sample files section.

Now let's bring Korg Creator back into the discussion and talk about how it writes it's PCG/KSC/Folder sets in order for the Kronos to load it in easily.

Korg Creator PCG/KSC files
As noted before, on the Triton and M3, life is easy. You have a PCG, a KSC, and a folder full of samples, and you load and you're done. The Triton and M3 (and Kronos, if you want) will save it the same way. But in streaming situations, the UUID's come into play and cause Korg Creator to create new PCG and KSC files a bit differently.

Assuming we already have streaming sample file information in the Kronos, when you save a PCG with the Save All function on the Kronos, it writes TWO KSC files, not one. It writes three new files - the multisamples folder already exists so it's name is not important and is referenced by its UUID.

You don't really have to know why two KSC files are needed except that in the chance you load the PCG again, it'll load both KSC's in order to reference the multisamples in a "streamed" fashion.

If Korg Creator could create these two KSC's - [name].KSC and [name]_UserBank.KSC - it would, but it can't. Here's why. As you know, the Kronos knows internally the UUID of every file and folder on it's SSD. It uses that knowledge to write the information on those two KSC's. Korg Creator does not have that information, because the folder with the multisamples hasn't been written to the SSD drive yet. The Kronos has the advantage of knowing the UUID of the samples folder already. And even if had or has been, there's no way of getting that information from the Kronos. We would highly prefer to compose files the same way as the Kronos does for consistency, but currently it can't be done.

Fortunately, we worked with Korg USA and they helped us come up with an idea to write two KSC's differently to facilitate the same outcome. Korg Creator writes these four objects:

When the PCG is set to be loaded, you check the Load KSC too checkbox. This loads the KSC with the same name as the PCG. That KSC DOES NOT load the samples directly; instead it loads the secondary KSC, which we add the text " MS" to (e.g. TRUMPET MS.KSC). It does this via a UUID, which uniquely identifies the secondary KSC. That KSC loads the samples in the same-named folder (just like how the PCG works), which is why the samples folder ALSO has the " MS" text added to it.

If you are smart, you might be asking: how does the first KSC know the UUID of the second KSC when it hasn't been written to the SSD yet? Isn't that the same problem as before? Excellent question! The answer is that a KSC can self-identify itself with a UUID which forces the Kronos to assign that UUID to itself. When you see this line syntax in a KSC file (for example):

#uuid:8f140e1c-9b5b-4a99-a7ed-bba7423b4f60

That tells the Kronos on saving that "give me THIS UUID." The reason Korg Creator can't create the twin-KSC "UserBank" style is that the Kronos knows the UUID of the FOLDER of multisamples, and a FOLDER can't self-identify itself. This may sound really trivial, but it's the reality. We wish Korg would have made this MUCH simpler.

But we are happy that the problem is solved. When all is said and done, you have a valid PCG, so when you go into your Kronos, there are Programs that are linked correctly to streamed samples, and life is good. Yeah!

Strategies
We recommend most use of Korg Creator in regards to the Kronos come from creating new Kronos banks, or editing Kronos banks that have been specifically created by Korg Creator or Chicken SYstem's Translator or Constructor programs, AND those simple Korg banks that are single KSC-driven. That way Korg Creator knows where all the multisamples are and how to reference them.

Then, simply take Korg Creator's created files, move them into the SSD drive (we highly recommend a FTP program like Filezilla), and load the PCG and KSC to populate the Combi and Program banks. Finally, add the primary KSC to the KSC Auto-Load list (don't forget to check the checkbox!) and your Programs should be permanently locked in every time you power-on your Kronos.

There's no reason, however, why you can't load any PCG file that the Kronos wrote. If Korg Creator can't identify where the multisamples folder is, it will ask you for it, and then make some assumptions on what multisamples each program's Velocity Zone is referring to. But once you resave the Bank, Korg Creator will write a completely new set of files and folder with brand new UUID's. Then to get the proper results, you will have to reload into the Kronos as described above.

In cases like this, it will take some discipline on your part to make sure what is on your Kronos is validly referenced for all three sets of Program banks (I, U and UU).