Spatialization Converter is a script for converting loudspeaker and sound source configuration data between various sound spatialization software system formats.
Basic usage, assuming the directory containing the executable
SpatializationConverter
is your current working directory:
./SpatializationConverter <input file path> <output file path> <output format>
.
It is also possible to simply execute:
./SpatializationConverter
.
In the latter case, the user is asked to input the required parameters interactively. The format of the input file is detected automatically. If the format is supported, the loudspeaker configuration is read and converted into an internal object representation. From this representation, it is transformed to the desired target file format.
Supported input file formats:
Supported output file formats and corresponding output format identifiers:
lisp
: LISP (List with nested lists containing (x,y,z) tuples) iosono
: IOSONSO XML spatdif
: SpatDif XML zirkonium
: Zirkonium XML csv
: CSV BuildExecutable.sh
in the root directory of the project.(dist/)SpatializationConverter
to a folder of your choice.
Note: you only need to care about dependencies if you intend to build an executable yourself.
The script depends on the module pyparsing
(required to parse LISP code). It can be installed using the command pip3 install pyparsing
.
SPATGRIS format:
<SpeakerSetup Name="GRISpeaker Cube8 Octophony.xml" Dimension="3" SpatMode="1"> <Ring> <Speaker PositionX="0.9239000082015991" PositionY="-0.3826999664306641" PositionZ="0.0" Azimuth="337.5017700195312" Zenith="0.0" Radius="1.0" LayoutIndex="1" OutputPatch="1" Gain="0.0" HighPassCutoff="0.0" DirectOut="0"/> <Speaker PositionX="0.9239000082015991" PositionY="0.3826999664306641" PositionZ="0.0" Azimuth="22.49823379516602" Zenith="0.0" Radius="1.0" LayoutIndex="2" OutputPatch="2" Gain="0.0" HighPassCutoff="0.0" DirectOut="0"/>'' ...
becomes LISP format:
( (0.9239000082015991 -0.3826999664306641 0.0) (0.9239000082015991 0.3826999664306641 0.0) )