I'm trying to implement and calculate the tonal tension of a triad (and its harmonics) following the definition given here: https://pdfs.semanticscholar.org/f05e/56c9548fa18c64efeed248742e3a6afb0c02.pdf
The tension of a single triad is given by:
f1,f2,f3 are the frequencies of the 3 components of the triad.
So far i've implemented this Matlab code:
function [tension] = tension(f1,f2,f3) Fdif1 = log(f2/f1); Fdif2 = log(f3/f2); alpha = 0.60; tension = exp(-(((Fdif2 - Fdif1)/alpha))^2); end
Which seems right to me, but following the experimental data in the paper mentioned above (for example the tension for a single triad of 3 notes without overtones, so 3 simple sinusoids) I don't get at all the value mentioned in the graph (figure 6 of the paper).
What am i doing wrong? I thought it could be a mismatch of domain: the definition of tension works over a pure frequency difference, while (in figure 5 of the paper) the gaussian function of the tension works over semitones difference.
Could it be the problem?
PS: I took inspiration from this answer: Is there a way to measure the consonance or dissonance of a chord? and i wanted to extend the search implementing the other algorithms mentioned in the various papers.