The function WRITE-CHANT-SDIF-FILE allows to format an SDIF file suitable to the control of the Chant synthesizer, including all initialization parameters. WRITE-CHANT-SDIF-FILE main parameters are
Other keyword inputs allow to set specifically, and depending on the selected synthesis patch :
The output is the name of the SDIF file created, which can be for instance connected to an SDIFFile box. |
The patch number [0-10] states the configuration of the synthesizer used for a given synthesis process. The rest of the parameters must be set accordingly (for instance patch 0 requires - and only requires - setting the FOF modules). The function CHANT-PATCH provides an in-built menu to select among the different available patches and return the corresponding number. |
Use the inline function reference of the function d
to get more precision on the format and meaning of the different arguments.
The control data must be provided to WRITE-CHANT-SDIF-FILE in the form of an SDIF-BUFFER object. This data must be provided in accordance with the initialization data provided to WRITE-CHANT-SDIF-FILE (the synthesis patch, number of FOFs, begin/end times, number of channels, etc.)
In general :
You can always check the contents of the generated SDIF file either using the SDIFFile editor, where the frame stream and internal matrix types are visible.
Connecting the SDIFFile box to a TextFile object (or using the SDIF->Text function) provides a linear text representation of the actual file contents.
The function GEN-CHANT-SDIF-BUFFER generates the SDIF-BUFFER for you from simple list specifications (time value[s]). The available synthesis parameters are fewer but the essential of what is generally needed is here (f0, FOF frequencies, amplitude, bandwidths, etc.). Here also, the formatted data must correspond to the synthesizer's initializations as provided to WRITE-CHANT-SDIF-FILE |
Use the inline function reference of the function d
to get more precision of the format and meaning of the different arguments.
If you are familiar both with the SDIF tools in OM and with the Chant/SDIF specification, then you can generate and format the data with absolute freedom.
Mind however to always keep the control data in accordance with the initialization data provided to WRITE-CHANT-SDIF-FILE : synthesis patch, number of FOFs, begin/end times, number of channels, etc.
An example is provided in the library tutorial patch "chant-sdif-buffer2".
Note that the other control tools in OM-Chant allow to hide the use of the SDIF file as an intermediate format and directly connect the control object to a sound via the SYNTHESIZE method.
The function CHANT-SYNTH allows to synthesize a sound starting from the generated SDIF file (if Chant is correctly installed and set with the library).
It can be connected to the SDIFFile object, or directly the the SDIF file pathname as returned, for instance, by WRITE-CHANT-SDIF-FILE.
In addition to the SDIF file, additional (keyword) inputs to CHANT-SYNTH allow to specify the output sound file name, format, and optionally, a normalization level.
Normalizing the Chant output (level in dB : -0, -3, -6...) might be necessary in order to avoid saturation of the output sound file.