neverlib 0.2.2__py3-none-any.whl → 0.2.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. neverlib/.history/Docs/audio_aug/test_snr_20250806011311.py +0 -0
  2. neverlib/.history/Docs/audio_aug/test_snr_20250806011331.py +75 -0
  3. neverlib/.history/Docs/audio_aug/test_snr_20250806011342.py +57 -0
  4. neverlib/.history/Docs/audio_aug/test_snr_20250806011352.py +57 -0
  5. neverlib/.history/Docs/audio_aug/test_snr_20250806011403.py +57 -0
  6. neverlib/.history/Docs/audio_aug/test_snr_20250806011413.py +57 -0
  7. neverlib/.history/Docs/audio_aug/test_snr_20250806011435.py +55 -0
  8. neverlib/.history/Docs/vad/1_20250810032405.py +0 -0
  9. neverlib/.history/Docs/vad/1_20250810032417.py +39 -0
  10. neverlib/.history/audio_aug/audio_aug_20250806010451.py +125 -0
  11. neverlib/.history/audio_aug/audio_aug_20250806010750.py +138 -0
  12. neverlib/.history/audio_aug/audio_aug_20250806010759.py +140 -0
  13. neverlib/.history/audio_aug/audio_aug_20250806010803.py +140 -0
  14. neverlib/.history/audio_aug/audio_aug_20250806010809.py +140 -0
  15. neverlib/.history/audio_aug/audio_aug_20250806011108.py +140 -0
  16. neverlib/.history/dataAnalyze/__init___20250805234204.py +87 -0
  17. neverlib/.history/dataAnalyze/__init___20250806204125.py +14 -0
  18. neverlib/.history/dataAnalyze/__init___20250806204139.py +14 -0
  19. neverlib/.history/dataAnalyze/__init___20250806204159.py +14 -0
  20. neverlib/.history/filter/__init___20250820103351.py +70 -0
  21. neverlib/.history/filter/__init___20250821102348.py +70 -0
  22. neverlib/.history/filter/__init___20250821102405.py +14 -0
  23. neverlib/.history/filter/auto_eq/__init___20250819213121.py +36 -0
  24. neverlib/.history/filter/auto_eq/__init___20250821102241.py +36 -0
  25. neverlib/.history/filter/auto_eq/__init___20250821102259.py +36 -0
  26. neverlib/.history/filter/auto_eq/__init___20250821102307.py +36 -0
  27. neverlib/.history/filter/auto_eq/__init___20250821102310.py +36 -0
  28. neverlib/.history/filter/auto_eq/__init___20250821102318.py +36 -0
  29. neverlib/.history/filter/auto_eq/__init___20250821102507.py +36 -0
  30. neverlib/.history/filter/auto_eq/de_eq_20250820103848.py +361 -0
  31. neverlib/.history/filter/auto_eq/de_eq_20250821102422.py +360 -0
  32. neverlib/.history/filter/auto_eq/freq_eq_20250805234206.py +75 -0
  33. neverlib/.history/filter/auto_eq/freq_eq_20250820140732.py +75 -0
  34. neverlib/.history/filter/auto_eq/freq_eq_20250820140745.py +75 -0
  35. neverlib/.history/filter/auto_eq/freq_eq_20250820140816.py +75 -0
  36. neverlib/.history/filter/auto_eq/freq_eq_20250820140938.py +77 -0
  37. neverlib/.history/filter/auto_eq/freq_eq_20250820141003.py +77 -0
  38. neverlib/.history/filter/auto_eq/freq_eq_20250820141006.py +77 -0
  39. neverlib/.history/filter/auto_eq/freq_eq_20250820141019.py +77 -0
  40. neverlib/.history/filter/auto_eq/freq_eq_20250820141049.py +77 -0
  41. neverlib/.history/filter/auto_eq/freq_eq_20250820141211.py +77 -0
  42. neverlib/.history/filter/auto_eq/freq_eq_20250820141227.py +77 -0
  43. neverlib/.history/filter/auto_eq/freq_eq_20250820141311.py +78 -0
  44. neverlib/.history/filter/auto_eq/freq_eq_20250820141340.py +78 -0
  45. neverlib/.history/filter/auto_eq/freq_eq_20250820141712.py +78 -0
  46. neverlib/.history/filter/auto_eq/freq_eq_20250820141733.py +78 -0
  47. neverlib/.history/filter/auto_eq/freq_eq_20250820141755.py +78 -0
  48. neverlib/.history/filter/auto_eq/freq_eq_20250821102434.py +76 -0
  49. neverlib/.history/filter/auto_eq/freq_eq_20250821102500.py +76 -0
  50. neverlib/.history/filter/auto_eq/freq_eq_20250821102502.py +76 -0
  51. neverlib/.history/filter/auto_eq/ga_eq_basic_20250820102957.py +380 -0
  52. neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113054.py +380 -0
  53. neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113150.py +380 -0
  54. neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113520.py +385 -0
  55. neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113525.py +385 -0
  56. neverlib/.history/filter/auto_eq/ga_eq_basic_20250821102212.py +385 -0
  57. neverlib/.history/metrics/dnsmos_20250806001612.py +160 -0
  58. neverlib/.history/metrics/dnsmos_20250815180659.py +160 -0
  59. neverlib/.history/metrics/dnsmos_20250815180701.py +158 -0
  60. neverlib/.history/metrics/dnsmos_20250815181321.py +154 -0
  61. neverlib/.history/metrics/dnsmos_20250815181327.py +154 -0
  62. neverlib/.history/metrics/dnsmos_20250815181331.py +154 -0
  63. neverlib/.history/metrics/dnsmos_20250815181620.py +154 -0
  64. neverlib/.history/metrics/dnsmos_20250815181631.py +154 -0
  65. neverlib/.history/metrics/dnsmos_20250815181742.py +154 -0
  66. neverlib/.history/metrics/dnsmos_20250815181824.py +153 -0
  67. neverlib/.history/metrics/dnsmos_20250815181834.py +153 -0
  68. neverlib/.history/metrics/dnsmos_20250815181922.py +153 -0
  69. neverlib/.history/metrics/dnsmos_20250815182011.py +147 -0
  70. neverlib/.history/metrics/dnsmos_20250815182036.py +144 -0
  71. neverlib/.history/metrics/dnsmos_20250815182936.py +143 -0
  72. neverlib/.history/metrics/dnsmos_20250815182942.py +143 -0
  73. neverlib/.history/metrics/dnsmos_20250815183032.py +137 -0
  74. neverlib/.history/metrics/dnsmos_20250815183101.py +144 -0
  75. neverlib/.history/metrics/dnsmos_20250815183121.py +144 -0
  76. neverlib/.history/metrics/dnsmos_20250815183123.py +143 -0
  77. neverlib/.history/metrics/dnsmos_20250815183214.py +143 -0
  78. neverlib/.history/metrics/dnsmos_20250815183240.py +143 -0
  79. neverlib/.history/metrics/dnsmos_20250815183248.py +144 -0
  80. neverlib/.history/metrics/dnsmos_20250815183407.py +142 -0
  81. neverlib/.history/metrics/dnsmos_20250815183409.py +142 -0
  82. neverlib/.history/metrics/dnsmos_20250815183431.py +142 -0
  83. neverlib/.history/metrics/dnsmos_20250815183507.py +140 -0
  84. neverlib/.history/metrics/dnsmos_20250815183513.py +139 -0
  85. neverlib/.history/metrics/dnsmos_20250815183618.py +139 -0
  86. neverlib/.history/metrics/dnsmos_20250815183709.py +140 -0
  87. neverlib/.history/metrics/dnsmos_20250815183756.py +137 -0
  88. neverlib/.history/metrics/dnsmos_20250815183815.py +128 -0
  89. neverlib/.history/metrics/dnsmos_20250815183827.py +129 -0
  90. neverlib/.history/metrics/dnsmos_20250815183913.py +117 -0
  91. neverlib/.history/metrics/dnsmos_20250815183914.py +117 -0
  92. neverlib/.history/metrics/dnsmos_20250815184003.py +118 -0
  93. neverlib/.history/metrics/dnsmos_20250815184040.py +118 -0
  94. neverlib/.history/metrics/dnsmos_20250815184049.py +118 -0
  95. neverlib/.history/metrics/dnsmos_20250815184104.py +117 -0
  96. neverlib/.history/metrics/dnsmos_20250815184200.py +117 -0
  97. neverlib/.history/metrics/lpc_lsp_metric_20250816015944.py +128 -0
  98. neverlib/.history/metrics/lpc_lsp_metric_20250816020142.py +128 -0
  99. neverlib/.history/metrics/lpc_lsp_metric_20250816020156.py +128 -0
  100. neverlib/.history/metrics/lpc_lsp_metric_20250816020554.py +130 -0
  101. neverlib/.history/metrics/lpc_lsp_metric_20250816020600.py +125 -0
  102. neverlib/.history/metrics/lpc_lsp_metric_20250816020631.py +120 -0
  103. neverlib/.history/metrics/lpc_lsp_metric_20250816020746.py +118 -0
  104. neverlib/.history/metrics/lpc_me_20250816013111.py +0 -0
  105. neverlib/.history/metrics/lpc_me_20250816013129.py +121 -0
  106. neverlib/.history/metrics/lpc_me_20250816015430.py +103 -0
  107. neverlib/.history/metrics/lpc_me_20250816015535.py +96 -0
  108. neverlib/.history/metrics/lpc_me_20250816015542.py +96 -0
  109. neverlib/.history/metrics/lpc_me_20250816015636.py +97 -0
  110. neverlib/.history/metrics/lpc_me_20250816015658.py +104 -0
  111. neverlib/.history/metrics/lpc_me_20250816015703.py +100 -0
  112. neverlib/.history/metrics/lpc_me_20250816015945.py +128 -0
  113. neverlib/.history/metrics/snr_20250806010538.py +177 -0
  114. neverlib/.history/metrics/snr_20250806211634.py +184 -0
  115. neverlib/.history/metrics/spec_20250805234209.py +45 -0
  116. neverlib/.history/metrics/spec_20250816135530.py +11 -0
  117. neverlib/.history/metrics/spec_20250816135654.py +16 -0
  118. neverlib/.history/metrics/spec_20250816135736.py +68 -0
  119. neverlib/.history/metrics/spec_20250816135904.py +75 -0
  120. neverlib/.history/metrics/spec_20250816135921.py +82 -0
  121. neverlib/.history/metrics/spec_20250816140111.py +82 -0
  122. neverlib/.history/metrics/spec_20250816140543.py +136 -0
  123. neverlib/.history/metrics/spec_20250816140559.py +172 -0
  124. neverlib/.history/metrics/spec_20250816140602.py +172 -0
  125. neverlib/.history/metrics/spec_20250816140608.py +172 -0
  126. neverlib/.history/metrics/spec_20250816140654.py +148 -0
  127. neverlib/.history/metrics/spec_20250816140705.py +144 -0
  128. neverlib/.history/metrics/spec_20250816140755.py +138 -0
  129. neverlib/.history/metrics/spec_20250816140823.py +170 -0
  130. neverlib/.history/metrics/spec_20250816140832.py +170 -0
  131. neverlib/.history/metrics/spec_20250816140833.py +170 -0
  132. neverlib/.history/metrics/spec_20250816140922.py +147 -0
  133. neverlib/.history/metrics/spec_20250816141148.py +107 -0
  134. neverlib/.history/metrics/spec_20250816141219.py +123 -0
  135. neverlib/.history/metrics/spec_20250816141732.py +178 -0
  136. neverlib/.history/metrics/spec_20250816141740.py +178 -0
  137. neverlib/.history/metrics/spec_20250816142030.py +178 -0
  138. neverlib/.history/metrics/spec_20250816142107.py +135 -0
  139. neverlib/.history/metrics/spec_20250816142126.py +135 -0
  140. neverlib/.history/metrics/spec_20250816142410.py +135 -0
  141. neverlib/.history/metrics/spec_20250816142415.py +136 -0
  142. neverlib/.history/metrics/spec_metric_20250816135156.py +0 -0
  143. neverlib/.history/metrics/spec_metric_20250816135226.py +5 -0
  144. neverlib/.history/metrics/spec_metric_20250816135227.py +10 -0
  145. neverlib/.history/metrics/spec_metric_20250816135306.py +15 -0
  146. neverlib/.history/metrics/spec_metric_20250816135442.py +31 -0
  147. neverlib/.history/metrics/spec_metric_20250816135448.py +31 -0
  148. neverlib/.history/metrics/spec_metric_20250816135520.py +29 -0
  149. neverlib/.history/metrics/spec_metric_20250816135537.py +63 -0
  150. neverlib/.history/metrics/spec_metric_20250816135653.py +65 -0
  151. neverlib/.history/vad/PreProcess_20250805234211.py +63 -0
  152. neverlib/.history/vad/PreProcess_20250809232455.py +63 -0
  153. neverlib/.history/vad/PreProcess_20250816020725.py +66 -0
  154. neverlib/.history/vad/VAD_Silero_20250805234211.py +50 -0
  155. neverlib/.history/vad/VAD_Silero_20250809232456.py +50 -0
  156. neverlib/.history/vad/VAD_WebRTC_20250805234211.py +61 -0
  157. neverlib/.history/vad/VAD_WebRTC_20250809232456.py +61 -0
  158. neverlib/.history/vad/VAD_funasr_20250805234211.py +54 -0
  159. neverlib/.history/vad/VAD_funasr_20250809232456.py +54 -0
  160. neverlib/.history/vad/VAD_vadlib_20250805234211.py +70 -0
  161. neverlib/.history/vad/VAD_vadlib_20250809232455.py +70 -0
  162. neverlib/.history/vad/VAD_whisper_20250805234211.py +55 -0
  163. neverlib/.history/vad/VAD_whisper_20250809232456.py +55 -0
  164. neverlib/.specstory/.what-is-this.md +69 -0
  165. neverlib/.specstory/history/2025-08-05_17-06Z-/350/277/231/344/270/200/346/255/245/347/232/204/347/233/256/347/232/204/346/230/257/344/273/200/344/271/210.md +424 -0
  166. neverlib/Docs/audio_aug/test_snr.py +55 -0
  167. neverlib/__init__.py +2 -2
  168. neverlib/audio_aug/HarmonicDistortion.py +79 -0
  169. neverlib/audio_aug/TFDrop.py +41 -0
  170. neverlib/audio_aug/TFMask.py +56 -0
  171. neverlib/audio_aug/__init__.py +1 -1
  172. neverlib/audio_aug/audio_aug.py +19 -5
  173. neverlib/audio_aug/clip_aug.py +41 -0
  174. neverlib/audio_aug/coder_aug.py +209 -0
  175. neverlib/audio_aug/coder_aug2.py +118 -0
  176. neverlib/audio_aug/loss_packet_aug.py +103 -0
  177. neverlib/audio_aug/quant_aug.py +78 -0
  178. neverlib/data_analyze/README.md +234 -0
  179. neverlib/data_analyze/__init__.py +14 -0
  180. neverlib/data_analyze/dataset_analyzer.py +590 -0
  181. neverlib/data_analyze/quality_metrics.py +364 -0
  182. neverlib/data_analyze/rms_distrubution.py +62 -0
  183. neverlib/data_analyze/spectral_analysis.py +218 -0
  184. neverlib/data_analyze/statistics.py +406 -0
  185. neverlib/data_analyze/temporal_features.py +126 -0
  186. neverlib/data_analyze/visualization.py +468 -0
  187. neverlib/filter/README.md +101 -0
  188. neverlib/filter/__init__.py +7 -0
  189. neverlib/filter/auto_eq/README.md +165 -0
  190. neverlib/filter/auto_eq/__init__.py +36 -0
  191. neverlib/filter/auto_eq/de_eq.py +360 -0
  192. neverlib/filter/auto_eq/freq_eq.py +76 -0
  193. neverlib/filter/auto_eq/ga_eq_advanced.py +577 -0
  194. neverlib/filter/auto_eq/ga_eq_basic.py +385 -0
  195. neverlib/filter/biquad.py +45 -0
  196. neverlib/filter/common.py +5 -6
  197. neverlib/filter/core.py +339 -0
  198. neverlib/metrics/dnsmos.py +117 -0
  199. neverlib/metrics/lpc_lsp.py +118 -0
  200. neverlib/metrics/snr.py +184 -0
  201. neverlib/metrics/spec.py +136 -0
  202. neverlib/metrics/test_pesq.py +35 -0
  203. neverlib/metrics/time.py +68 -0
  204. neverlib/tests/test_vad.py +21 -0
  205. neverlib/utils/audio_split.py +2 -1
  206. neverlib/utils/message.py +4 -4
  207. neverlib/utils/utils.py +36 -16
  208. neverlib/vad/PreProcess.py +6 -3
  209. neverlib/vad/README.md +10 -10
  210. neverlib/vad/VAD_Energy.py +1 -1
  211. neverlib/vad/VAD_Silero.py +2 -2
  212. neverlib/vad/VAD_WebRTC.py +2 -2
  213. neverlib/vad/VAD_funasr.py +2 -2
  214. neverlib/vad/VAD_statistics.py +3 -3
  215. neverlib/vad/VAD_vadlib.py +3 -3
  216. neverlib/vad/VAD_whisper.py +2 -2
  217. neverlib/vad/__init__.py +1 -1
  218. neverlib/vad/class_get_speech.py +4 -4
  219. neverlib/vad/class_vad.py +1 -1
  220. neverlib/vad/utils.py +47 -5
  221. {neverlib-0.2.2.dist-info → neverlib-0.2.4.dist-info}/METADATA +120 -120
  222. neverlib-0.2.4.dist-info/RECORD +229 -0
  223. {neverlib-0.2.2.dist-info → neverlib-0.2.4.dist-info}/WHEEL +1 -1
  224. neverlib/Documents/vad/VAD_Energy.ipynb +0 -159
  225. neverlib/Documents/vad/VAD_Silero.ipynb +0 -305
  226. neverlib/Documents/vad/VAD_WebRTC.ipynb +0 -183
  227. neverlib/Documents/vad/VAD_funasr.ipynb +0 -179
  228. neverlib/Documents/vad/VAD_ppasr.ipynb +0 -175
  229. neverlib/Documents/vad/VAD_statistics.ipynb +0 -522
  230. neverlib/Documents/vad/VAD_vadlib.ipynb +0 -184
  231. neverlib/Documents/vad/VAD_whisper.ipynb +0 -430
  232. neverlib/utils/waveform_analyzer.py +0 -51
  233. neverlib/wav_data/000_short.wav +0 -0
  234. neverlib-0.2.2.dist-info/RECORD +0 -40
  235. {neverlib-0.2.2.dist-info → neverlib-0.2.4.dist-info}/licenses/LICENSE +0 -0
  236. {neverlib-0.2.2.dist-info → neverlib-0.2.4.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,70 @@
1
+ '''
2
+ Author: 凌逆战 | Never
3
+ Date: 2025-03-17 19:23:33
4
+ Description:
5
+ '''
6
+ """
7
+ 节省路径
8
+ from neverlib.filter import common
9
+ 如果没有用户必须完整路径
10
+ from neverlib.filter.common import *
11
+ """
12
+ from .common import *
13
+ from .core import *
14
+ from .biquad import *
15
+
16
+ def __getattr__(name):
17
+ """延迟导入机制 - 只在用户实际使用时才导入需要额外依赖的模块"""
18
+ if name in ['compute_frequency_eq']:
19
+ # 需要 librosa 库的频谱直接补偿方法
20
+ try:
21
+ from .AudoEQ.auto_eq_spectral_direct import compute_frequency_eq
22
+ return compute_frequency_eq
23
+ except ImportError as e:
24
+ raise ImportError(f"使用 {name} 需要安装 librosa: pip install librosa") from e
25
+
26
+ elif name in ['get_filter_function', 'match_frequency_response', 'plot_spectra_comparison']:
27
+ # 差分进化优化方法
28
+ try:
29
+ from .AudoEQ.auto_eq_de import get_filter_function, match_frequency_response, plot_spectra_comparison
30
+ if name == 'get_filter_function':
31
+ return get_filter_function
32
+ elif name == 'match_frequency_response':
33
+ return match_frequency_response
34
+ elif name == 'plot_spectra_comparison':
35
+ return plot_spectra_comparison
36
+ except ImportError as e:
37
+ raise ImportError(f"使用 {name} 需要安装相应依赖,详见 AudoEQ/README.md") from e
38
+
39
+ elif name in ['individual_creator', 'get_magnitude_spectrum_db', 'get_single_filter_freq_response_db_from_coeffs',
40
+ 'get_combined_eq_response_db', 'evaluate_individual', 'custom_mutate']:
41
+ # 需要 deap 库的遗传算法基础版
42
+ try:
43
+ from .AudoEQ.auto_eq_ga_basic import (
44
+ individual_creator, get_magnitude_spectrum_db, get_single_filter_freq_response_db_from_coeffs,
45
+ get_combined_eq_response_db, evaluate_individual, custom_mutate
46
+ )
47
+ if name == 'individual_creator':
48
+ return individual_creator
49
+ elif name == 'get_magnitude_spectrum_db':
50
+ return get_magnitude_spectrum_db
51
+ elif name == 'get_single_filter_freq_response_db_from_coeffs':
52
+ return get_single_filter_freq_response_db_from_coeffs
53
+ elif name == 'get_combined_eq_response_db':
54
+ return get_combined_eq_response_db
55
+ elif name == 'evaluate_individual':
56
+ return evaluate_individual
57
+ elif name == 'custom_mutate':
58
+ return custom_mutate
59
+ except ImportError as e:
60
+ raise ImportError(f"使用 {name} 需要安装 deap: pip install deap") from e
61
+
62
+ elif name == 'EQOptimizer':
63
+ # 需要 deap 库的遗传算法高级版
64
+ try:
65
+ from .AudoEQ.auto_eq_ga_advanced import EQOptimizer
66
+ return EQOptimizer
67
+ except ImportError as e:
68
+ raise ImportError(f"使用 {name} 需要安装 deap: pip install deap") from e
69
+
70
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
@@ -0,0 +1,70 @@
1
+ '''
2
+ Author: 凌逆战 | Never
3
+ Date: 2025-03-17 19:23:33
4
+ Description:
5
+ '''
6
+ """
7
+ 节省路径
8
+ from neverlib.filter import common
9
+ 如果没有用户必须完整路径
10
+ from neverlib.filter.common import *
11
+ """
12
+ from .common import *
13
+ from .core import *
14
+ from .biquad import *
15
+
16
+ def __getattr__(name):
17
+ """延迟导入机制 - 只在用户实际使用时才导入需要额外依赖的模块"""
18
+ if name in ['compute_frequency_eq']:
19
+ # 需要 librosa 库的频谱直接补偿方法
20
+ try:
21
+ from .auto_eq.freq_eq import compute_frequency_eq
22
+ return compute_frequency_eq
23
+ except ImportError as e:
24
+ raise ImportError(f"使用 {name} 需要安装 librosa: pip install librosa") from e
25
+
26
+ elif name in ['get_filter_function', 'match_frequency_response', 'plot_spectra_comparison']:
27
+ # 差分进化优化方法
28
+ try:
29
+ from .auto_eq.de_eq import get_filter_function, match_frequency_response, plot_spectra_comparison
30
+ if name == 'get_filter_function':
31
+ return get_filter_function
32
+ elif name == 'match_frequency_response':
33
+ return match_frequency_response
34
+ elif name == 'plot_spectra_comparison':
35
+ return plot_spectra_comparison
36
+ except ImportError as e:
37
+ raise ImportError(f"使用 {name} 需要安装相应依赖,详见 AudoEQ/README.md") from e
38
+
39
+ elif name in ['individual_creator', 'get_magnitude_spectrum_db', 'get_single_filter_freq_response_db_from_coeffs',
40
+ 'get_combined_eq_response_db', 'evaluate_individual', 'custom_mutate']:
41
+ # 需要 deap 库的遗传算法基础版
42
+ try:
43
+ from .auto_eq.ga_eq_basic import (
44
+ individual_creator, get_magnitude_spectrum_db, get_single_filter_freq_response_db_from_coeffs,
45
+ get_combined_eq_response_db, evaluate_individual, custom_mutate
46
+ )
47
+ if name == 'individual_creator':
48
+ return individual_creator
49
+ elif name == 'get_magnitude_spectrum_db':
50
+ return get_magnitude_spectrum_db
51
+ elif name == 'get_single_filter_freq_response_db_from_coeffs':
52
+ return get_single_filter_freq_response_db_from_coeffs
53
+ elif name == 'get_combined_eq_response_db':
54
+ return get_combined_eq_response_db
55
+ elif name == 'evaluate_individual':
56
+ return evaluate_individual
57
+ elif name == 'custom_mutate':
58
+ return custom_mutate
59
+ except ImportError as e:
60
+ raise ImportError(f"使用 {name} 需要安装 deap: pip install deap") from e
61
+
62
+ elif name == 'EQOptimizer':
63
+ # 需要 deap 库的遗传算法高级版
64
+ try:
65
+ from .auto_eq.ga_eq_advanced import EQOptimizer
66
+ return EQOptimizer
67
+ except ImportError as e:
68
+ raise ImportError(f"使用 {name} 需要安装 deap: pip install deap") from e
69
+
70
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
@@ -0,0 +1,14 @@
1
+ '''
2
+ Author: 凌逆战 | Never
3
+ Date: 2025-03-17 19:23:33
4
+ Description:
5
+ '''
6
+ """
7
+ 节省路径
8
+ from neverlib.filter import common
9
+ 如果没有用户必须完整路径
10
+ from neverlib.filter.common import *
11
+ """
12
+ from .common import *
13
+ from .core import *
14
+ from .biquad import *
@@ -0,0 +1,36 @@
1
+ '''
2
+ Author: 凌逆战 | Never
3
+ Date: 2025-08-19 21:26:54
4
+ Description:
5
+ AudoEQ - 自动EQ补偿模块
6
+ Author: 凌逆战 | Never
7
+
8
+ 该模块提供多种自动EQ补偿方法:
9
+ - 频谱直接补偿 (auto_eq_spectral_direct)
10
+ - 差分进化优化 (auto_eq_de)
11
+ - 遗传算法基础版 (auto_eq_ga_basic)
12
+ - 遗传算法高级版 (auto_eq_ga_advanced)
13
+ '''
14
+
15
+ # 频谱直接补偿方法
16
+ from .auto_eq_spectral_direct import compute_frequency_eq
17
+
18
+ # 差分进化优化方法
19
+ from .auto_eq_de import (
20
+ get_filter_function,
21
+ match_frequency_response,
22
+ plot_spectra_comparison
23
+ )
24
+
25
+ # 遗传算法基础版
26
+ from .auto_eq_ga_basic import (
27
+ individual_creator,
28
+ get_magnitude_spectrum_db,
29
+ get_single_filter_freq_response_db_from_coeffs,
30
+ get_combined_eq_response_db,
31
+ evaluate_individual,
32
+ custom_mutate,
33
+ )
34
+
35
+ # 遗传算法高级版
36
+ from .auto_eq_ga_advanced import EQOptimizer
@@ -0,0 +1,36 @@
1
+ '''
2
+ Author: 凌逆战 | Never
3
+ Date: 2025-08-19 21:26:54
4
+ Description:
5
+ AudoEQ - 自动EQ补偿模块
6
+ Author: 凌逆战 | Never
7
+
8
+ 该模块提供多种自动EQ补偿方法:
9
+ - 频谱直接补偿 (auto_eq_spectral_direct)
10
+ - 差分进化优化 (auto_eq_de)
11
+ - 遗传算法基础版 (auto_eq_ga_basic)
12
+ - 遗传算法高级版 (auto_eq_ga_advanced)
13
+ '''
14
+
15
+ # 频谱直接补偿方法
16
+ from .freq_eq import compute_frequency_eq
17
+
18
+ # 差分进化优化方法
19
+ from .auto_eq_de import (
20
+ get_filter_function,
21
+ match_frequency_response,
22
+ plot_spectra_comparison
23
+ )
24
+
25
+ # 遗传算法基础版
26
+ from .auto_eq_ga_basic import (
27
+ individual_creator,
28
+ get_magnitude_spectrum_db,
29
+ get_single_filter_freq_response_db_from_coeffs,
30
+ get_combined_eq_response_db,
31
+ evaluate_individual,
32
+ custom_mutate,
33
+ )
34
+
35
+ # 遗传算法高级版
36
+ from .auto_eq_ga_advanced import EQOptimizer
@@ -0,0 +1,36 @@
1
+ '''
2
+ Author: 凌逆战 | Never
3
+ Date: 2025-08-19 21:26:54
4
+ Description:
5
+ AudoEQ - 自动EQ补偿模块
6
+ Author: 凌逆战 | Never
7
+
8
+ 该模块提供多种自动EQ补偿方法:
9
+ - 频谱直接补偿 (auto_eq_spectral_direct)
10
+ - 差分进化优化 (auto_eq_de)
11
+ - 遗传算法基础版 (auto_eq_ga_basic)
12
+ - 遗传算法高级版 (auto_eq_ga_advanced)
13
+ '''
14
+
15
+ # 频谱直接补偿方法
16
+ from .freq_eq import compute_frequency_eq
17
+
18
+ # 差分进化优化方法
19
+ from .de_eq import (
20
+ get_filter_function,
21
+ match_frequency_response,
22
+ plot_spectra_comparison
23
+ )
24
+
25
+ # 遗传算法基础版
26
+ from .auto_eq_ga_basic import (
27
+ individual_creator,
28
+ get_magnitude_spectrum_db,
29
+ get_single_filter_freq_response_db_from_coeffs,
30
+ get_combined_eq_response_db,
31
+ evaluate_individual,
32
+ custom_mutate,
33
+ )
34
+
35
+ # 遗传算法高级版
36
+ from .auto_eq_ga_advanced import EQOptimizer
@@ -0,0 +1,36 @@
1
+ '''
2
+ Author: 凌逆战 | Never
3
+ Date: 2025-08-19 21:26:54
4
+ Description:
5
+ AudoEQ - 自动EQ补偿模块
6
+ Author: 凌逆战 | Never
7
+
8
+ 该模块提供多种自动EQ补偿方法:
9
+ - 频谱直接补偿 (auto_eq_spectral_direct)
10
+ - 差分进化优化 (auto_eq_de)
11
+ - 遗传算法基础版 (auto_eq_ga_basic)
12
+ - 遗传算法高级版 (auto_eq_ga_advanced)
13
+ '''
14
+
15
+ # 频谱直接补偿方法
16
+ from .freq_eq import compute_frequency_eq
17
+
18
+ # 差分进化优化方法
19
+ from .de_eq import (
20
+ get_filter_function,
21
+ match_frequency_response,
22
+ plot_spectra_comparison
23
+ )
24
+
25
+ # 遗传算法基础版
26
+ from .ga_eq_basic import (
27
+ individual_creator,
28
+ get_magnitude_spectrum_db,
29
+ get_single_filter_freq_response_db_from_coeffs,
30
+ get_combined_eq_response_db,
31
+ evaluate_individual,
32
+ custom_mutate,
33
+ )
34
+
35
+ # 遗传算法高级版
36
+ from .auto_eq_ga_advanced import EQOptimizer
@@ -0,0 +1,36 @@
1
+ '''
2
+ Author: 凌逆战 | Never
3
+ Date: 2025-08-19 21:26:54
4
+ Description:
5
+ AudoEQ - 自动EQ补偿模块
6
+ Author: 凌逆战 | Never
7
+
8
+ 该模块提供多种自动EQ补偿方法:
9
+ - 频谱直接补偿 (auto_eq_spectral_direct)
10
+ - 差分进化优化 (auto_eq_de)
11
+ - 遗传算法基础版 (auto_eq_ga_basic)
12
+ - 遗传算法高级版 (auto_eq_ga_advanced)
13
+ '''
14
+
15
+ # 频谱直接补偿方法
16
+ from .freq_eq import compute_frequency_eq
17
+
18
+ # 差分进化优化方法
19
+ from .de_eq import (
20
+ get_filter_function,
21
+ match_frequency_response,
22
+ plot_spectra_comparison
23
+ )
24
+
25
+ # 遗传算法基础版
26
+ from .ga_eq_basic import (
27
+ individual_creator,
28
+ get_magnitude_spectrum_db,
29
+ get_single_filter_freq_response_db_from_coeffs,
30
+ get_combined_eq_response_db,
31
+ evaluate_individual,
32
+ custom_mutate,
33
+ )
34
+
35
+ # 遗传算法高级版
36
+ from .ga_eq_advanced import EQOptimizer
@@ -0,0 +1,36 @@
1
+ '''
2
+ Author: 凌逆战 | Never
3
+ Date: 2025-08-19 21:26:54
4
+ Description:
5
+ AudoEQ - 自动EQ补偿模块
6
+ Author: 凌逆战 | Never
7
+
8
+ 该模块提供多种自动EQ补偿方法:
9
+ - 频谱直接补偿 (auto_eq_spectral_direct)
10
+ - 差分进化优化 (auto_eq_de)
11
+ - 遗传算法基础版 (auto_eq_ga_basic)
12
+ - 遗传算法高级版 (auto_eq_ga_advanced)
13
+ '''
14
+
15
+ # 频谱直接补偿方法
16
+ from .freq_eq import compute_frequency_eq
17
+
18
+ # 差分进化优化方法
19
+ # from .de_eq import (
20
+ # get_filter_function,
21
+ # match_frequency_response,
22
+ # plot_spectra_comparison
23
+ # )
24
+
25
+ # 遗传算法基础版
26
+ # from .ga_eq_basic import (
27
+ # individual_creator,
28
+ # get_magnitude_spectrum_db,
29
+ # get_single_filter_freq_response_db_from_coeffs,
30
+ # get_combined_eq_response_db,
31
+ # evaluate_individual,
32
+ # custom_mutate,
33
+ # )
34
+
35
+ # 遗传算法高级版
36
+ # from .ga_eq_advanced import EQOptimizer
@@ -0,0 +1,36 @@
1
+ '''
2
+ Author: 凌逆战 | Never
3
+ Date: 2025-08-19 21:26:54
4
+ Description:
5
+ AudoEQ - 自动EQ补偿模块
6
+ Author: 凌逆战 | Never
7
+
8
+ 该模块提供多种自动EQ补偿方法:
9
+ - 频谱直接补偿 (auto_eq_spectral_direct)
10
+ - 差分进化优化 (auto_eq_de)
11
+ - 遗传算法基础版 (auto_eq_ga_basic)
12
+ - 遗传算法高级版 (auto_eq_ga_advanced)
13
+ '''
14
+
15
+ # 频谱直接补偿方法
16
+ from .freq_eq import get_freq_eq
17
+
18
+ # 差分进化优化方法
19
+ # from .de_eq import (
20
+ # get_filter_function,
21
+ # match_frequency_response,
22
+ # plot_spectra_comparison
23
+ # )
24
+
25
+ # 遗传算法基础版
26
+ # from .ga_eq_basic import (
27
+ # individual_creator,
28
+ # get_magnitude_spectrum_db,
29
+ # get_single_filter_freq_response_db_from_coeffs,
30
+ # get_combined_eq_response_db,
31
+ # evaluate_individual,
32
+ # custom_mutate,
33
+ # )
34
+
35
+ # 遗传算法高级版
36
+ # from .ga_eq_advanced import EQOptimizer