ECMC notes by A. S. on using the
PVC program CHORDMAPPER
The hardest thing about using "chordmapper" is creating the "chordmapper" function file with 12 arguments for each resynthesis note. Who can remember what these 12 arguments are? The chordmapper.tp script lists and briefly describes these 12 arguments before one must create the function: #====================================================== #***** DATA SET for CHORDMAPPER "TONES" ********** # Create 12 values in the data file for each output tone. # Line 1 below # 1) source freq. or oct.pch (depending on SOURCE_DATA_FORMAT above) # 2) lowest partial number : 1 or higher # 3) output freq. or oct.pch (depending on SOURCE_DATA_FORMAT above # 4) number of partials above lowest (0 = all below Nyquist) # 5) partial bandwidth as proportion of fundamental frequency # higher values = brighter timbres # 6) gain or attenuation in dB # Line 2 below : these parameters used less frequently # 7) partial spacing as proportion of fundamental,negative = rejectmode # 8) decibel rolloff per octave beginning with lowest partial. # Postive rolloff produces gain.rejectmode measure begins from fundamental # 9) Amplitude interpolation switch/degree. # 0 = off, 1 = on, -1 = inverse on, .5 = half on # 10) Frequency interpolation switch/degree. # 0 = off, 1 = on, -1 = inverse on, .5 = half on # 11) Tuning factor # 0 = original source tuning, 1 = tuned to target partial # < 0 = source tuning-deviation amplified, # > 1 = inverse of amplified source-tuning-deviation # 12) Null phase factor, 0 = off, 1 = null phase, # .5 = halfway to null phase However,some of these descriptions still may be out of view when you actually have to create the function. Some of the arguments also are rather abstruse. What is the "Frequency control switch" or a "Null phase factor." When you run a "chordmapper" job the output includes a table of these twelve arguments, but it will gowhizzing by so fast you may not even see it. Here is the table output produced by ECMC example file "chordmapper2," which creates 4 resynthesis "tone" or "notes: ************************************************************************ |Tone|Source |Source Low|Oct.Pitch |Number |BW | | | |Oct.Pitch |Partial |Class Map |of |Proportion|Decibels | | |Class |Number |Point |Partials | | | .......................................................................| |1 |7.110 |1.000 |7.060 |0.000 |0.300 |0.000 | |2 |7.110 |1.000 |8.000 |0.000 |0.300 |-3.000 | |3 |7.110 |1.000 |8.050 |0.000 |0.300 |-6.000 | |4 |7.110 |1.000 |8.110 |0.000 |0.300 |-9.000 | ************************************************************************ ************************************************************************ |Tone|Partials |Db Rolloff|Amp Interp|FreqInterp|Tuning |Null | | |Spacing |(or up)per| Control | Control |Factor |Phase | | |Proportion|Octave | Switch | Switch | | | .......................................................................| |1 |1.000 |0.000 |0.000 |0.000 |0.000 |0.000 | |2 |1.000 |0.000 |0.000 |0.000 |0.000 |0.000 | |3 |1.000 |0.000 |0.000 |0.000 |0.000 |0.000 | |4 |1.000 |0.000 |0.000 |0.000 |0.000 |0.000 | ************************************************************************ Note that arguments 7 through 12 (the second row above, "Partials spacing proportion" through "Null Phase") are used much less frequently than the first six arguments, and that with the exception of "Partials Spacing Proportion," which has a default of 1, the rest of the arguments (8 through 12) on the second row have default values of 0. The chordmapper program is VERY picky, and will abort (often with an error message of "INSUFFICIENT DATA FILE") if there is ANYTHING it does not like within these 12 arguments. Supposedly one can use * (an asterisk) to comment out a function line, but I have found that often chordmapper objects to lines within this function that begin with * Do not include any blank lines within the chordmapper function definition, nor any spaces after an * comment. You can NOT omit any of the 12 arguments, even if you want the default zeros, like this: echo 7.00 1 7.03 0 1 -0 1. 0 0 > chordmapfile (Only 9 arguments on the line above.) This will cause a INSUFFICIENT DATA FILE error. When chordmapper is unhappy, it often will hang, just sitting there indefinitely, rather than die. However, sometimes chordmapper can run EXTREMELY SLOWLY, even when your file is fine. Wiyth other input files it runs rather quickly.