BrahmaVolver

Contents

1. Introduction

This is a piece of software that converts an A-format four channel recording in a B-format one, useful for 1st-order Ambisonics systems.

2. How I can use it

There are some simple steps to follow:
  1. Select the input mode on the left; if your four channel recording belongs from a Brahma digital recorder, your tracks should have been stored in '2 stereo file'
  2. Set file names; you can type directly the file(s) name(s) (press Enter after each name!), use the file browser button, or drag files on the file name boxes
  3. Select the output mode on the right; exactly as the input mode, you can export the filtered tracks in three ways: one single four channel wav file, two stereo files and four sigle channel (mono) files.
  4. Set output file(s) name(s); otherwise, default ones will be used. In the file browsing window you can even specify the WAV file format: 16 bit, 24 bit or 32 bit (float).
  5. Press Convolve button.

3. How it looks to me

There is a main window with all the necessary!

You can see an input column on the left and an output column on the right; every item has its own tooltip so you can easily see what it does.

In the bottom a status bar informs you about:

  1. the current state of the program
  2. the working sample frequency
  3. the filter element length

The menu 'File' has the only relevant voice 'Settings', that opens a new dialog where you can change the filter, or choose if you want autorange or not.

4. How it works

BrahmaVolver is a four channel filtering tool: this means that it takes as input a vector which elements are the four recorded tracks and gives out another four elements vector which elements are the processed tracks.

Using some math, if x is the input vector, and h the 4 x 4 filtering matrix, the processed output y is given by:



The big issue is the computational effort requested by a convolution operation, for this reason, filtering is usually implemented in the frequency domain, where convolution become a simple product. If X, H and Y are the Fourier transforms of, respectively, input vector, filtering matrix and output vector, we have:


or, expanding the notation,

4.1 The filtering matrix

The filtering matrix that comes with the software is suitable for an A to B format conversion, but if you want to do some others elaborations, you can substitute it.

When launched, BrahmaVolver searches for the file 'FilterMatrix.wav' in the executable directory; if the file doesn't exist, an error message is given, but the program starts. You can specify the filter location using the 'Settings' item from the menu 'File'.

This procedure can also be used to change the filtering matrix.

The format of the filtering matrix is simply a four track WAV file where the tracks are the rows of the matrix and the columns are appended one after the other

Important: each item must have the same length!

5. FAQ

Q: The status bar reports '0 Hz' as sampling frequency.

A: This means that no filter has been loaded: copy 'FilterMatrix.wav' in the executable directory, or specify the filter file in the 'Settings' dialog.

Q: I get 'Selected file has different sampling frequency than others already stored'

A: Input file must have the same sampling frequency of the filter; if you want to work with different sampling frequency, you need another 'FilterMatrix.wav'. Or simply resample your(s) input file(s).

Q: This is annoying: 'Selected file has different length than others already stored'

A: Yes, but quite obvious: if your input recording is splitted in two or four files, these should have the same length (have you recorded them in the same moment or not?), if this is not true, you have to pad them with zeros to the same length.