2 CSB Builder
Skyth edited this page 2018-01-16 10:02:07 +00:00

Summary

CSB Builder is a program to modify CSB files which come along with games using the older CRI SDK.

Project Nodes

The program comes with five tree nodes that have the nodes CSB files have.
On the center of the program, a property window is used to modify properties of a node.

You can see the properties of a node by clicking on it.

Cue Node

Those are the nodes that trigger the synth node it is referencing whenever it is called in game.
It has to have an unique name and ID within the CSB file it belongs to.
You need to connect a synth to your cue node by referencing them. You can do so from right click menu.

Synth Node

Those nodes actually have three types, but they still have the same parameters that allow you to change how audio is going to sound real-time, such as volume, pitch, etc.

Sound Node

This synth is connected with a sound element node, which plays whenever this synth is triggered, with effects applied to them.
You can directly connect these nodes with cue nodes, or put them into track or block nodes.

Track Node

These nodes don't have sound element nodes connected to them, rather, they have child nodes that play whenever this node is triggered.
A track node can't have a child node of its own type, but it can have sound or block nodes.
Parameters of this node also apply to its child nodes.

There are various modes of tracks you can set on the parameter screen:

  • Polyphonic:
    This mode makes child nodes play at the same time.
  • Random:
    This mode randomly selects a child node, and plays it.
  • Random No Repeat:
    This mode randomly selects a child node, and plays it. However, same child node is not selected twice, it always plays a different one.
  • Sequential:
    This mode plays child nodes one by one, for each call.

Block Node

Those nodes are basically the same as track nodes, the only difference is that they need to have a parent node, which would be logically a track node.

Sound Element Nodes

Those nodes hold actual audio data, which usually would be ADX.

A sound element node is made of two audio files:

  • Intro that begins the playback.
  • Loop that continues the playback after intro, forever.

You don't have to have both of them in a node, though.

AISAC Node

These nodes have a real-time parameter system that allows you to change parameters during audio playback at any time you want, on a graph visualizer.
For example, you can increase the pitch as the audio goes on or fade the audio out as it finishes.

However, AISAC nodes aren't fully understood and there's not a graph visualizer implemented in the program to begin with.
We added a function to save AISAC nodes as templates and import them as a solution. So this way, you can reuse AISAC nodes from original CSB files, aka the files from the game you're modding.

Voice Limit Group Node

These nodes limit the amount of instances that can be created during synth playback.
If a synth node is triggered a lot, you can limit the voice overload with this.
Synth nodes are connected with these nodes.