Skip to content

Commit

Permalink
Convolution Box Format documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
VoidXH committed Jun 27, 2024
1 parent 37e5b6c commit a71d388
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
22 changes: 22 additions & 0 deletions docs/Format definitions/Convolution Box Format.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Convolution Box Format Structure
A file format for easy to implement DSP, only using channel copy and convolution
filters. Channels are numbered from 0 to the number of system channels. Negative
channel indices mean virtual channels, of which any number can be created.
All values are little endian.
* 4 bytes: "CBFM" marker
* 4 bytes: number of filter entries
* 4 bytes: system sample rate, used for all convolutions

For each filter entry:
* 1 byte: filter type
* 0 - Copy (matrix mixer) filter:
* 4 bytes: number of copy operations
* For each copy entry:
* 4 bytes: source channel index
* 4 bytes: number of target channels
* Serially: 4 byte indices of all target channels
* Merging of channels is allowed, but it is described in two distinct
copy entries.
* 1 - Convolution filter:
* 4 bytes: length of the convolution in samples (must be a power of 2)
* Serially: single precision floating point samples of the filter
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Limitless Audio Format Structure
All values are little endian.
* 9 bytes: "LIMITLESS" marker
* Custom headers with their own markers. The "TAGS" marker is reserved for tags in a later specification.
* 4 bytes: "HEAD" marker
Expand Down

0 comments on commit a71d388

Please sign in to comment.