Mercurial > hg > silvet
comparison src/EM.cpp @ 38:5164bccf3064
Return pitch activation matrix
author | Chris Cannam |
---|---|
date | Fri, 04 Apr 2014 19:05:47 +0100 |
parents | 947996aac974 |
children | b49597c93132 |
comparison
equal
deleted
inserted
replaced
37:947996aac974 | 38:5164bccf3064 |
---|---|
150 for (int i = 0; i < m_instruments; ++i) { | 150 for (int i = 0; i < m_instruments; ++i) { |
151 for (int n = 0; n < m_notes; ++n) { | 151 for (int n = 0; n < m_notes; ++n) { |
152 newSources[i][n] = epsilon; | 152 newSources[i][n] = epsilon; |
153 if (inRange(i, n)) { | 153 if (inRange(i, n)) { |
154 float *w = silvet_templates[i].data[n]; | 154 float *w = silvet_templates[i].data[n]; |
155 double pitch = m_pitches[n]; | |
156 double source = m_sources[i][n]; | |
155 for (int j = 0; j < m_bins; ++j) { | 157 for (int j = 0; j < m_bins; ++j) { |
156 newSources[i][n] += | 158 newSources[i][n] += w[j] * m_q[j] * pitch * source; |
157 w[j] * m_q[j] * m_pitches[n] * m_sources[i][n]; | |
158 } | 159 } |
159 } | 160 } |
160 } | 161 } |
161 normalise(newSources[i]); | 162 normalise(newSources[i]); |
162 } | 163 } |