OctaChainer v1.0 uploaded - a tool for sample chains

Yes, the audio decoder use Windows MediaFoundation (WMF). This is a new-ish media framework for Windows that replaces DirectShow. I think it was introduced in Vista, but both WMF and DirectShow are still in use.

My guess is that either WMF isn’t working with wineskin or that DirectShow is somehow used instead of WMF. In either case, the application doesn’t create a file. (I should add a proper error msg about that, btw).

I don’t know much about this or of wine, so I don’t know if it is possible to get it to work or not. But I do intend to do a v1.1 where I don’t use the audio decoder for .wav files. That was a silly idea in the first place. If/when I get around to do that, chaining “normal” .wavs should work fine, but you will still run into problems with mp3s and .aifs.[/quote]
ah
thanks for the explanation … i’ll look into the wine repo… maybe there’s some update for wmf /directshow
but anyway a 1.1 you described would be welcome… using only .wavs is a very acceptable limitation

@Abhoth - thanks for creating this. I was able to create a chain easily. I haven’t had a chance to send the chain to the ot yet. This tool looks promising.

i’ giving up on wine… no chance to get it to work properly

Ok, noob alert, on Vista business 32bit I get “MSVCP100.dll not found”.
Please help as I really could use this app.
Thanx.

Hmm, iirc I meant to bundle that dll in the archieve. I must simply have forgotten to add it. Sorry about that. I can upload a v1.02 with that and some hotkeys added later today.

If you are in a hurry and are able to track the dll down somewhere online, just adding it to the folder should do it.

http://de.dll-files.com/msvcp100.dll.html

Had to install C++ redistribute . Looks good now.

OK, nothing gets saved when I hit create.

Ok, I uploaded OctaChainer v1.1 just now. I have removed the troublesome audio decoder. I believe this version will will work for those of you who didn’t get a file when clicking Create. Hopefully it will also work with Wine for Mac users.

This also means the missing bytes bug is gone. So using this with loops will not be a problem anymore.

.flac and .ogg supported, while MP3-support is gone. Not all file formats can be previewed, but at least wavs can be played as before.

I don’t do resampling in this version. That means files with other sample rates than the selected one will play faster/slower instead of being converted to the new rate.

Hotkeys are added. The “Alt” key will show the ones for the buttons. In addition, one can use space bar instead of the Play button to preview a sample.

I have tested on my Win7 developer machine and on an almost clean install of Win8. I have tried various wavs, .oggs and flacs, but not .aif. I have made several chains with this version and used them on the Octatrack, so everything should be “safe”. But as always with these things, use on our own risk.

Oh, and I added a bracket at the end of all files in the list that show if the file is mono or stereo + sample and bit rate.

Great! For me it works perfect. Thanks a lot for the effort. I gonna use this tool a lot! :slight_smile:

Im on win7 64bit. Just for the intrest.

Out of curiosity, did any of you who didn’t get the first version to work try v1.1? If so, did it work?

V1.1 now works like a charm.
A huge thanks, this is going to come in handy muchly.
:joy:

Is there any documentation about the .ot file format available? I searched the internet but could not find any.

If you reverse engineered the file format, would you be willing to share the information about the file format? That would help me a lot. I am a software developer and I am thinking about writing a tool which should be able to directly create .ot files just like yours.

Thank you.

1 Like

I only reverse engineered the parts I needed. But once you know how the file is structured the rest should be easy to map as well. The 16 first bytes are just a header that say “FORM DPS1SMPA”. Then follows the settings. Most of the file are reserved for the slices. All values are big endian.

The last byte but three are the total number of slices, the last two bytes are the values of all the bytes in the file minus the header summed together.

These are the settings I used:
const int pos_sampleCount = 0x32;
const int pos_sliceStart = 0x3A;
const int pos_sliceCount = 0x33D;
const int pos_loop = 0x2A;
const int pos_stretch = 0x26;

The last two bytes:
void OTWriter::setChecksum()
{
unsigned short value = 0;
for (int i = 16; i < OTFILESIZE - 2; i++)
value += data[i];
data[OTFILESIZE - 2] = (value >> 8)&0xFF;
data[OTFILESIZE - 1] = value&0xFF;
}

And the slices, beginning at 0x3A:
struct Slice
{
unsigned char startSample[4];
unsigned char endSample[4];
uint32_t loop;
};

I didn’t have a proper look at the loop and timestrech settings as I decided I weren’t going to use them after all. But I believe these are the values for them::

enum Loop_t { NoLoop = 0, Loop = 1, PIPO = 2 };
enum Stretch_t { NoStrech = 0, Normal = 2, Beat = 3 };

1 Like

Hello,

it looks like 1.1 works perfectly on mac with wine, but I have an issue/improvement to track/ask for:
I can’t chain both stereo and mono in the same chain,
each file is in aif 44100 and 24bits.

when I try to do that i simply hear the mono or the stereo samples depending on which output setting? I selected (bottom of the app).

Any solution?

Do I have to work only with mono or stereo files?
Suggestion: maybe the app could automatically switch the files from one category to the other depending on which output setting I chose?

Anyone knows a way to convert multiple files to mono quickly??

Thanks for answering!
Big Thanks for your work!

Ouch! This is a silly bug introduced by a last minute change I did in v1.1. I’m surprised I haven’t noticed it myself already. It should now be fixed:
http://www.elektronauts.com/files/download/150

Thanks for letting me know!

Hi Abhoth

Q:
after creating a wave file, I just have to drag and drop the wave and OT file in the the main audio pool to use it on different projects

and if I understand correctly
the octachainer projects files are used for recalling or rearrange wave settings
in other words if I dont save the octa chain project later access is not possible and I would have to start over.

and is there a limit on how big the wave files can be,
say I wanted to create one wave file with 64 songs

Correct. You need to turn slice mode on for the track, though.

Yes. Project files just stores the file paths to the files you have added, the export settings etc as a text file. You can open it in, say, notepad to see what is stored. I have made a habit out of always storing the project files just in case I want to rearrange the order of the sounds or add some more later on.

Hmm, I haven’t tried huge files, so not really sure what would happen. Octachainer don’t keep the entire file contents in memory at once, it only reads the data from disk in small portions. So memory probably won’t be an issue. The internal values used for calculations would probably overflow at some point because of the gigantic total byte count. But unless basic math is failing me at the moment I think we are talking about several hours of 24bit stereo files before there is risk of that.

Files don’t have to be that big before it will be a bit of a wait when creating the combined wav, though. Since I didn’t bother running the process as a background task with a progress bar or similar, the GUI will just freeze while it is working.

Hi Thanks for explaining

did some test and it works , but it just takes a long time,
And the application gives the message that it doesnt respond.
(in most cases when using big files).
I never had it fall out/crash, I just waited and in the end of the slicing process the application just gets back to normal ,
so I know it finished slicing when the message dissapears

its a bit quirky (with huge files)but it works
for small samples chains its perfect
have to rearrange my whole library now I have this app :slight_smile: will take some time thanks for this its great!