comparison dsp/tonal/TonalEstimator.cpp @ 488:7992d0923626

Use M_PI
author Chris Cannam <cannam@all-day-breakfast.com>
date Fri, 31 May 2019 16:48:29 +0100
parents cbe668c7d724
children
comparison
equal deleted inserted replaced
487:5998ee1042d3 488:7992d0923626
16 #include "TonalEstimator.h" 16 #include "TonalEstimator.h"
17 17
18 #include <cmath> 18 #include <cmath>
19 #include <iostream> 19 #include <iostream>
20 20
21 #ifndef PI
22 #define PI (3.14159265358979232846)
23 #endif
24
25 TonalEstimator::TonalEstimator() 21 TonalEstimator::TonalEstimator()
26 { 22 {
27 m_Basis.resize(6); 23 m_Basis.resize(6);
28 24
29 int i = 0; 25 int i = 0;
30 26
31 27
32 // circle of fifths 28 // circle of fifths
33 m_Basis[i].resize(12); 29 m_Basis[i].resize(12);
34 for (int iP = 0; iP < 12; iP++) { 30 for (int iP = 0; iP < 12; iP++) {
35 m_Basis[i][iP] = std::sin( (7.0 / 6.0) * iP * PI); 31 m_Basis[i][iP] = std::sin( (7.0 / 6.0) * iP * M_PI);
36 } 32 }
37 33
38 i++; 34 i++;
39 35
40 m_Basis[i].resize(12); 36 m_Basis[i].resize(12);
41 for (int iP = 0; iP < 12; iP++) { 37 for (int iP = 0; iP < 12; iP++) {
42 m_Basis[i][iP] = std::cos( (7.0 / 6.0) * iP * PI); 38 m_Basis[i][iP] = std::cos( (7.0 / 6.0) * iP * M_PI);
43 } 39 }
44 40
45 i++; 41 i++;
46 42
47 43
48 // circle of major thirds 44 // circle of major thirds
49 m_Basis[i].resize(12); 45 m_Basis[i].resize(12);
50 for (int iP = 0; iP < 12; iP++) { 46 for (int iP = 0; iP < 12; iP++) {
51 m_Basis[i][iP] = 0.6 * std::sin( (2.0 / 3.0) * iP * PI); 47 m_Basis[i][iP] = 0.6 * std::sin( (2.0 / 3.0) * iP * M_PI);
52 } 48 }
53 49
54 i++; 50 i++;
55 51
56 m_Basis[i].resize(12); 52 m_Basis[i].resize(12);
57 for (int iP = 0; iP < 12; iP++) { 53 for (int iP = 0; iP < 12; iP++) {
58 m_Basis[i][iP] = 0.6 * std::cos( (2.0 / 3.0) * iP * PI); 54 m_Basis[i][iP] = 0.6 * std::cos( (2.0 / 3.0) * iP * M_PI);
59 } 55 }
60 56
61 i++; 57 i++;
62 58
63 59
64 // circle of minor thirds 60 // circle of minor thirds
65 m_Basis[i].resize(12); 61 m_Basis[i].resize(12);
66 for (int iP = 0; iP < 12; iP++) { 62 for (int iP = 0; iP < 12; iP++) {
67 m_Basis[i][iP] = 1.1 * std::sin( (3.0 / 2.0) * iP * PI); 63 m_Basis[i][iP] = 1.1 * std::sin( (3.0 / 2.0) * iP * M_PI);
68 } 64 }
69 65
70 i++; 66 i++;
71 67
72 m_Basis[i].resize(12); 68 m_Basis[i].resize(12);
73 for (int iP = 0; iP < 12; iP++) { 69 for (int iP = 0; iP < 12; iP++) {
74 m_Basis[i][iP] = 1.1 * std::cos( (3.0 / 2.0) * iP * PI); 70 m_Basis[i][iP] = 1.1 * std::cos( (3.0 / 2.0) * iP * M_PI);
75 } 71 }
76 72
77 } 73 }
78 74
79 TonalEstimator::~TonalEstimator() 75 TonalEstimator::~TonalEstimator()