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,f3are 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 co-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: https://music.stackexchange.com/questions/4439/is-there-a-way-to-measure-the-consonance-or-dissonance-of-a-chord/6556#6556?newreg=b8a315477e404f34984a65b7d96f2f49 and i wanted to extend the research implementing the other algorithms mentioned in the various papers.