xref: /MusicPlayer2/MusicPlayer2/SpectralDataHelper.h (revision 443d2d2511be730d1b1dd3181942b7fa6539aa1a)
1 #pragma once
2 class CSpectralDataHelper
3 {
4 public:
5     CSpectralDataHelper();
6 
7     //使用线性的方式根据fft数据计算频谱的高度
8     // @para[in]:
9     //  fft_data: fft数据
10     //  scale: 柱形放大的比例,调整这个值可以调整频谱分析柱形图整体的高度
11     // @para[out]:
12     //  spectral_data: 频谱的高度
13     static void SpectralDataMapOld(float fft_data[FFT_SAMPLE], float spectral_data[SPECTRUM_COL], int scale = 60);
14 
15     //使用线性+对数的方式根据fft数据计算频谱的高度(https://github.com/zhongyang219/MusicPlayer2/issues/169
16     // @para[in]:
17     //  fft_data: fft数据
18     //  scale: 柱形放大的比例,调整这个值可以调整频谱分析柱形图整体的高度
19     // @para[out]:
20     //  spectral_data: 频谱的高度
21     void SpectralDataMap(float fft_data[FFT_SAMPLE], float spectral_data[SPECTRUM_COL], int scale = 60);
22 
23 private:
24     int spectrum_map[FFT_SAMPLE]{};
25     int spectrum_map_count[SPECTRUM_COL]{};
26 
27 };
28