Page 1 of 1

Anyone interested in building a batch KP3 to .wav converter?

Posted: Sun Apr 20, 2008 12:59 pm
by ripe
I end up spending a lot of time working on KP3 generated loops, which need to be manually trimmed and looped in an audio editor.

Not to mention using the KP3 editor is not the most fun way to export 100 sample loops from a memory card.

I have begun investigating building a batch converter application. I would also like to export the loops properly trimmed also (if possible).

Has anyone already worked out the KP3 audio format? I know it stores the measure length, BPM, etc. But I am not sure if it stores a "marker" which indicated the first beat of a loop (in relation) to the start of the file itself.

I didn't think it did, because the align function will cause bad looping if the samples were recorded in different "sessions".

Anyone?

cheers
ripe

Posted: Mon Apr 21, 2008 12:45 pm
by didjeko
I'm interested in developping around the kaoss.
the problem is
1. There is no information available on the format KPS
2. there is no information on how to send / receive data. It could perhaps be done via sysex but there is no doc.

Posted: Mon Apr 21, 2008 1:22 pm
by ripe
This would be a PC only app that would read the files directly off memory card.

I would be reverse engineering the format using a hex editor, and just converting the file over to .wav format. This shouldn't be too difficult.


I'm not sure about the sysex, it would be easy to monitor any sysex using a MIDI monitor, but writing code for an app that uses MIDI is not my expertise...

cheers
ripe

Posted: Tue Apr 22, 2008 12:03 am
by subVert
It sure sounds possible. I have done those sort of things in the past iin the good old college days.

Maybe I'll give it a shot for my self esteem.
It should be quick to find where all the parameters are stored. Hopefully the audio data is just tacked on at the end. Maybe it will have a header to identify the type of file.

What I would to is take a audio file and stort it in a kp3 file using an editor. Then I would increment each parameter by 1 and save it in another file. Then using a "diff" program to compare the two files should show you where the audio data is.

Then I would modify each parameter one by one and store in a kp3 file named after the parameter. Comparing each of those files should show where each parameter is stored.

After that is done, a program to convert kp3 to wav or whatever should be too difficult.

Posted: Wed Apr 23, 2008 8:08 am
by didjeko
So, first step should be specification of kps format.
I tried a few monthes ago to find informations on the web, but I had no results with google.
Perhaps it is possible to get a public specification from Korg ?

Posted: Wed Apr 23, 2008 9:25 pm
by maako
I got contact with one of the guys over at Korg. He's the poor bastard who gets my KP3 2.5 wish lists. :D
I know nothing of coding or its language, but I can forward a bunch of questions that would be understood by the right person at Korg.

If they are willing to release that info or not is another thing, but it's worth a try.
They did listen to wish list 2.0 :wink:

Posted: Thu Apr 24, 2008 3:33 pm
by didjeko
In order to transform a wav or aiff file in a kps file, we need the description of kps format file.

Btw, does the guy really is a poor bastard ? :lol:

Posted: Thu Apr 24, 2008 10:24 pm
by ripe
even if they won't release the format, it should be relatively trivial to reverse engineer it. I have already peeked at it and it was not too bad.

cheers
ripe

Posted: Fri Apr 25, 2008 7:16 am
by maako
No one "does is".. He is the poor bastard..
I'm sure you're top of things.. :wink:

Posted: Wed Apr 30, 2008 2:57 pm
by didjeko
So, the first step is to produce a description of kp3 file format and the method to convert
- from wav/aiff to kp3
- from kp3 to wav/aiff

to begin, perhaps it could be easier to use the same sound file ? for example, a metronome at 120 in 4/4

Posted: Wed Apr 30, 2008 7:18 pm
by ripe
weird, I think my post disappeared...

Anyways, the file has 542 byte header, then the audio which is 16-bit, signed, big-endian, stereo, 48kHz.

Now to crack those 542 bytes!

cheers
ripe