mirror of
https://github.com/blueskythlikesclouds/SonicAudioTools.git
synced 2025-03-02 16:23:53 +01:00
Updated CSB Builder (markdown)
parent
00cc00e271
commit
8265cbbe33
@ -1,35 +1,59 @@
|
||||
# Summary
|
||||
With this program, you can edit CSB (Cue Sheet Binary) files fully, meaning the program may be complicated for you at first use, but you can do many advanced things using it, which no one achieved to do with these files.
|
||||
You can create a CSB file from scratch, or import an already available one into a project, and edit that.
|
||||
You can also unpack/pack AAX files, convert various video game music formats to WAV, or split them into intro/loop parts, which may be useful for you in this program, or for other things.
|
||||
CSB Builder is a program to modify CSB files which come along with games using the older CRI SDK.
|
||||
|
||||
# Project Nodes
|
||||
## Cue Node
|
||||
It's triggered in game to play audio. It's holding name and identifier, also specifying what synth node is going to be played. You can reference any synth node to those.
|
||||
## Synth Node
|
||||
Either a sound, track or block. It contains various sound parameters which allows you to determine how audio sounds real-time, such as volume, pitch, etc. Those parameters are also applied to children, if they exist.
|
||||
### Track Node
|
||||
A synth node which contains children as either a sound or block. It makes children play in various modes. For example, in polyphonic mode, you can add sounds to track and make those sounds play at the same time. Those are the modes you can use:
|
||||
* **Polyphonic:**
|
||||
Makes every child play at the same time.
|
||||
* **Random No Repeat:**
|
||||
Randomly selects a child node and plays it. Doesn't play the same child twice, next selected child becomes always different. This mode, for example, helps voices to feel natural.
|
||||
* **Sequential:**
|
||||
Plays children in order. For example, you have two child nodes. First cue playback will play the first child, second playback will play the second.
|
||||
* **Random:**
|
||||
Randomly selects a child node and plays it. Doesn't mind if selected child was already played previously.
|
||||
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.
|
||||
|
||||
### Block Node
|
||||
Same as tracks, but it's simply the child of a track (or block.) For example, have a polyphonic track, and a block with random mode on. Track's children will be played at the same time, but in each call, the block will randomly play a child and it won't sound the same every play.
|
||||
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
|
||||
A synth node which plays a single sound. Either is the child of a track or a block, or just stays there itself with no parent. You reference sound element nodes to those type of synths.
|
||||
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.
|
||||
|
||||
## Sound Element Node
|
||||
Holds audio data. Can use many formats, like .ADX, .DSP, etc., but not many are found. Details are explained in the program.
|
||||
### 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
|
||||
An AISAC is a real-time parameter control system. For example, you can decrease the volume of a synth node when the distance between you and synth node in 3D world increases. Currently, it's not a good idea to create custom AISAC nodes, since it's really hard to do that without a graph visualizer. Plus, AISACs aren't fully understood yet. But we provided a small function that lets you load/save AISAC nodes from/to XML templates. That way, you can use AISAC nodes from a original CSB file, from your game. You reference those to synth nodes.
|
||||
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
|
||||
Limits the amount of sounds in a playback. Can be useful if a cue is triggered a lot. You reference these to synth nodes.
|
||||
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.
|
Loading…
x
Reference in New Issue
Block a user