Как я могу реализовать функцию частоты ключа фортепьяно в C#?

Как я могу реализовать следующую функцию в C#?

alt text

8
задан Community 8 February 2017 в 14:18
поделиться

3 ответа

double F = 440.0 * Math.Pow(2.0, (n-49.0)/12.0);
34
ответ дан 5 December 2019 в 04:35
поделиться
440 * Math.Pow(Math.Pow(2, 1.0/12), n - 49)
13
ответ дан 5 December 2019 в 04:35
поделиться
440 * 12th root of 2 raised to n-49 
 = 440 * (2 ^ 1/12) ^(n-49)
 = 440 * 2^(n/12) / 2^(49/12)
 = 440 * 2^(n/12) / (2^4 * 2^1/12)
 = 440 * ( 1 / 2^4 ) * 2^((n-1) /12)
 = 8 * 55 * ( 1/16 ) * 2^((n-1) /12)
 = 27.5 * 2^((n-1) /12)

итак ....

double d = 27.5 * Math.Pow(2, (n-1) / 12.0)

И поскольку корень 12-й степени из 2 = 1,0594630943592952645618252949463, затем

double d  = 27.5 * Math.Pow(1.0594630943592952645618252949463, (n-1))

так что ...

 double d = 27.5 * Math.Pow(1.059463094359295, (n-1));
2
ответ дан 5 December 2019 в 04:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: