Mercurial > hg > qm-dsp
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() |