Add harmonics processing parameters. Add harmonics processing visualization etc

This commit is contained in:
xenakios
2017-12-03 23:47:28 +02:00
parent 75be994714
commit b4502ba442
5 changed files with 18 additions and 4 deletions

View File

@ -104,9 +104,9 @@ void ProcessedStretch::process_spectrum(REALTYPE *freq)
{
for (auto& e : m_spectrum_processes)
{
copy(freq, infreq.data());
spectrum_copy(nfreq, freq, infreq.data());
if (e == 0 && pars.harmonics.enabled)
do_harmonics(infreq.data(), freq);
spectrum_do_harmonics(pars, tmpfreq1, nfreq, samplerate, infreq.data(), freq);
if (e == 1 && pars.tonal_vs_noise.enabled)
do_tonal_vs_noise(infreq.data(), freq);
if (e == 2 && pars.freq_shift.enabled)

View File

@ -188,6 +188,12 @@ inline REALTYPE profile(REALTYPE fi, REALTYPE bwi) {
};
inline void spectrum_copy(int nfreq, REALTYPE* freq1, REALTYPE* freq2)
{
for (int i = 0; i<nfreq; i++) freq2[i] = freq1[i];
};
inline void spectrum_spread(int nfreq, double samplerate,
std::vector<REALTYPE>& tmpfreq1,
REALTYPE *freq1, REALTYPE *freq2, REALTYPE spread_bandwidth) {

View File

@ -192,7 +192,7 @@ class Stretch
virtual void process_spectrum(REALTYPE *){};
virtual REALTYPE get_stretch_multiplier(REALTYPE pos_percents);
REALTYPE samplerate;
REALTYPE samplerate=0.0f;
private: