Hi Marco,
If you want to create or modify the file format directly then you have to use the SDIF /Easdif library. But an explanation on how to use it is beyond the simple scope of this topic. It is written in C++ but you could use it in Python, or Java. (or in OpenMusic i believe too)
http://sdif.sourceforge.net
Currently, a first approach/way to “see” how it looks like would be to save a Treatment file and drop the .trt file on the SDIFToText.app droplet (the SDIFToText utility is located in AudioSculpt X.X.X/SDIF Utilities/Droplets/SDIFToText.app) to create a Text representation of the SDIF treatment file.
Here is an example of the relevant part in the produced Text file :
SDFC
ASTI 3 0 0
ztim 0x0008 1 2
0 54.028
zfrq 0x0008 1 2
0 11025
zamp 0x0008 1 2
-1 1
1ASO 6 1 0
clss 0x0301 1 4
'B' 'a' 'n' 'd'
trid 0x0104 1 1
1
dura 0x0004 1 1
60
bpis 0x0101 1 1
1
bpdm 0x0104 1 2
3 3
bpdt 0x0004 6 2
0 390
26.1739 3261.48
60 390
0 490
26.1739 6663.02
60 490
ENDC
ENDF
This describe a 60 seconds band pass filter with one band
‘clss’ represent the type of filter in AS, here a band filter ‘b’, ‘a’, ‘n’, ‘d’ (this should not be modified)
‘dura’ is the duration : here its value is 60 (seconds)
‘bpis’ is a band pass (=1) or band reject (=0)
‘bpdm’ describe the layout/dimensions. number of rows = number of bands, number of columns = usually 2 per band
each band contains two bpfs describing the lower points part (time, frequency) and the higher points part (time, frequency)
those two bpfs should always have the same number of points of course for one single band.
‘bpdt’ is the band pass data containing consecutively the points for each low/high part of each band. For one band, the low points part is described first, then the high points part.
In the given example only one band with 3 points is described so in the data section we will have 3 x 2 = 6 rows and 2 columns = points (time, freq) data
the 3 points of bottom part of the band are described first (the 3 first row), then are described the 3 highest part points.
…etc…
If you plan to modify the representation you can directly change the numbers and add (or remove points, bands) directly in the Text representation and then use the SDIFToText droplet to re-create an sdif representation from the modified text form.
BUT BE CAREFUL and make sure to update each signature data in order to have a valid representation which can be loaded lately by AudioSculpt.
That’s the only way i believe to do it.
HTH
Best regards,
Charles
N.B:
You can find additional descriptions of the SDIF signatures in the beginning of the TRT SDIF File such as these ones
bpis is_bandpass;
bpdm bandpass_dimensions_matrix;
bpdt bandpass_data;
bpit bandpass_interval_type;
bpbt bandpass_bandwidth_info;
bpcf bandpass_original_center_frequency;