neverlib 0.2.6__tar.gz → 0.2.8__tar.gz

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 (528) hide show
  1. neverlib-0.2.8/CLAUDE.md +18 -0
  2. neverlib-0.2.8/MANIFEST.in +50 -0
  3. {neverlib-0.2.6/neverlib.egg-info → neverlib-0.2.8}/PKG-INFO +1 -1
  4. neverlib-0.2.8/neverlib/.claude/settings.local.json +9 -0
  5. neverlib-0.2.8/neverlib/Docs/audio_aug/test_volume.ipynb +416 -0
  6. neverlib-0.2.8/neverlib/Docs/audio_aug_test/test_volume.ipynb +289 -0
  7. neverlib-0.2.8/neverlib/Docs/filter/biquad.ipynb +129 -0
  8. neverlib-0.2.8/neverlib/Docs/filter/filter_family.ipynb +450 -0
  9. neverlib-0.2.8/neverlib/Docs/filter/highpass.ipynb +139 -0
  10. neverlib-0.2.8/neverlib/Docs/filter/scipy_filter_family.ipynb +110 -0
  11. neverlib-0.2.8/neverlib/Docs/vad/VAD_Energy.ipynb +167 -0
  12. neverlib-0.2.8/neverlib/Docs/vad/VAD_Silero.ipynb +325 -0
  13. neverlib-0.2.8/neverlib/Docs/vad/VAD_WebRTC.ipynb +189 -0
  14. neverlib-0.2.8/neverlib/Docs/vad/VAD_funasr.ipynb +192 -0
  15. neverlib-0.2.8/neverlib/Docs/vad/VAD_rvADfast.ipynb +162 -0
  16. neverlib-0.2.8/neverlib/Docs/vad/VAD_statistics.ipynb +532 -0
  17. neverlib-0.2.8/neverlib/Docs/vad/VAD_tenVAD.ipynb +292 -0
  18. neverlib-0.2.8/neverlib/Docs/vad/VAD_vadlib.ipynb +168 -0
  19. neverlib-0.2.8/neverlib/Docs/vad/VAD_whisper.ipynb +404 -0
  20. neverlib-0.2.8/neverlib/QA/gen_init.py +218 -0
  21. neverlib-0.2.8/neverlib/QA/get_fun.py +19 -0
  22. neverlib-0.2.8/neverlib/__init__.py +67 -0
  23. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/audio_aug/HarmonicDistortion.py +19 -13
  24. neverlib-0.2.8/neverlib/audio_aug/__init__.py +82 -0
  25. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/audio_aug/audio_aug.py +19 -14
  26. neverlib-0.2.8/neverlib/audio_aug/clip_aug.py +38 -0
  27. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/audio_aug/coder_aug.py +44 -24
  28. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/audio_aug/coder_aug2.py +54 -37
  29. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/audio_aug/loss_packet_aug.py +7 -7
  30. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/audio_aug/quant_aug.py +19 -17
  31. neverlib-0.2.8/neverlib/data/000_short_enhance.wav +0 -0
  32. neverlib-0.2.8/neverlib/data/3956_speech.wav +0 -0
  33. neverlib-0.2.8/neverlib/data/3956_sweep.wav +0 -0
  34. neverlib-0.2.8/neverlib/data/vad_example.wav +0 -0
  35. neverlib-0.2.8/neverlib/data/white.wav +0 -0
  36. neverlib-0.2.8/neverlib/data/white_EQ.wav +0 -0
  37. neverlib-0.2.8/neverlib/data/white_matched.wav +0 -0
  38. neverlib-0.2.8/neverlib/data_analyze/__init__.py +69 -0
  39. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/data_analyze/dataset_analyzer.py +109 -114
  40. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/data_analyze/quality_metrics.py +87 -89
  41. neverlib-0.2.8/neverlib/data_analyze/rms_distrubution.py +43 -0
  42. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/data_analyze/spectral_analysis.py +43 -46
  43. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/data_analyze/statistics.py +76 -76
  44. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/data_analyze/temporal_features.py +15 -6
  45. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/data_analyze/visualization.py +208 -144
  46. neverlib-0.2.8/neverlib/filter/__init__.py +40 -0
  47. neverlib-0.2.8/neverlib/filter/auto_eq/__init__.py +55 -0
  48. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/filter/auto_eq/de_eq.py +0 -2
  49. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/filter/common.py +24 -5
  50. neverlib-0.2.8/neverlib/metrics/DNSMOS/bak_ovr.onnx +0 -0
  51. neverlib-0.2.8/neverlib/metrics/DNSMOS/model_v8.onnx +0 -0
  52. neverlib-0.2.8/neverlib/metrics/DNSMOS/sig.onnx +0 -0
  53. neverlib-0.2.8/neverlib/metrics/DNSMOS/sig_bak_ovr.onnx +0 -0
  54. neverlib-0.2.8/neverlib/metrics/__init__.py +59 -0
  55. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/metrics/dnsmos.py +4 -15
  56. neverlib-0.2.8/neverlib/metrics/pDNSMOS/sig_bak_ovr.onnx +0 -0
  57. neverlib-0.2.8/neverlib/metrics/pesq_c/PESQ +0 -0
  58. neverlib-0.2.8/neverlib/metrics/pesq_c/dsp.c +553 -0
  59. neverlib-0.2.8/neverlib/metrics/pesq_c/dsp.h +138 -0
  60. neverlib-0.2.8/neverlib/metrics/pesq_c/pesq.h +294 -0
  61. neverlib-0.2.8/neverlib/metrics/pesq_c/pesqdsp.c +1047 -0
  62. neverlib-0.2.8/neverlib/metrics/pesq_c/pesqio.c +392 -0
  63. neverlib-0.2.8/neverlib/metrics/pesq_c/pesqmain.c +610 -0
  64. neverlib-0.2.8/neverlib/metrics/pesq_c/pesqmod.c +1417 -0
  65. neverlib-0.2.8/neverlib/metrics/pesq_c/pesqpar.h +297 -0
  66. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/metrics/snr.py +5 -1
  67. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/metrics/spec.py +31 -21
  68. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/metrics/test_pesq.py +0 -4
  69. neverlib-0.2.8/neverlib/tests/__init__.py +33 -0
  70. neverlib-0.2.8/neverlib/tests/test_imports.py +19 -0
  71. neverlib-0.2.8/neverlib/utils/__init__.py +71 -0
  72. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/utils/audio_split.py +6 -1
  73. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/utils/checkGPU.py +17 -9
  74. neverlib-0.2.8/neverlib/utils/lazy_expose.py +29 -0
  75. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/utils/utils.py +55 -12
  76. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/PreProcess.py +66 -66
  77. neverlib-0.2.8/neverlib/vad/__init__.py +71 -0
  78. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/class_get_speech.py +1 -1
  79. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/class_vad.py +3 -3
  80. neverlib-0.2.8/neverlib/vad/img.png +0 -0
  81. {neverlib-0.2.6 → neverlib-0.2.8/neverlib.egg-info}/PKG-INFO +1 -1
  82. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib.egg-info/SOURCES.txt +44 -0
  83. {neverlib-0.2.6 → neverlib-0.2.8}/pyproject.toml +1 -1
  84. neverlib-0.2.6/MANIFEST.in +0 -22
  85. neverlib-0.2.6/neverlib/__init__.py +0 -31
  86. neverlib-0.2.6/neverlib/audio_aug/__init__.py +0 -12
  87. neverlib-0.2.6/neverlib/audio_aug/clip_aug.py +0 -41
  88. neverlib-0.2.6/neverlib/data_analyze/__init__.py +0 -20
  89. neverlib-0.2.6/neverlib/data_analyze/rms_distrubution.py +0 -62
  90. neverlib-0.2.6/neverlib/filter/__init__.py +0 -20
  91. neverlib-0.2.6/neverlib/filter/auto_eq/__init__.py +0 -36
  92. neverlib-0.2.6/neverlib/tests/__init__.py +0 -1
  93. neverlib-0.2.6/neverlib/utils/__init__.py +0 -15
  94. neverlib-0.2.6/neverlib/vad/__init__.py +0 -25
  95. {neverlib-0.2.6 → neverlib-0.2.8}/LICENSE +0 -0
  96. {neverlib-0.2.6 → neverlib-0.2.8}/README.md +0 -0
  97. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/del_20250827162530.py +0 -0
  98. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/del_20250827162540.py +0 -0
  99. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/del_20250827162541.py +0 -0
  100. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/del_20250827162606.py +0 -0
  101. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/del_20250827162637.py +0 -0
  102. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/del_20250827162645.py +0 -0
  103. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/del_20250827162723.py +0 -0
  104. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/del_20250827162739.py +0 -0
  105. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250806011311.py +0 -0
  106. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250806011331.py +0 -0
  107. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250806011342.py +0 -0
  108. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250806011352.py +0 -0
  109. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250806011403.py +0 -0
  110. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250806011413.py +0 -0
  111. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250806011435.py +0 -0
  112. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250827161751.py +0 -0
  113. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250827161754.py +0 -0
  114. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250827161833.py +0 -0
  115. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250827162017.py +0 -0
  116. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250827162021.py +0 -0
  117. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250827162028.py +0 -0
  118. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug/test_snr_20250827162033.py +0 -0
  119. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug_test/del_20250827162738.py +0 -0
  120. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug_test/del_20250827162819.py +0 -0
  121. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug_test/del_20250827162830.py +0 -0
  122. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug_test/del_20250827162846.py +0 -0
  123. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug_test/del_20250827162851.py +0 -0
  124. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug_test/del_20250827162903.py +0 -0
  125. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug_test/del_20250827162921.py +0 -0
  126. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug_test/del_20250827162926.py +0 -0
  127. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug_test/del_20250827163030.py +0 -0
  128. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/audio_aug_test/del_20250827163032.py +0 -0
  129. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/vad/1_20250810032405.py +0 -0
  130. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/Docs/vad/1_20250810032417.py +0 -0
  131. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234112.md +0 -0
  132. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234140.py +0 -0
  133. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234141.md +0 -0
  134. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234159.py +0 -0
  135. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234200.py +0 -0
  136. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234236.py +0 -0
  137. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234340.py +0 -0
  138. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234522.py +0 -0
  139. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234601.py +0 -0
  140. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234615.py +0 -0
  141. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234715.py +0 -0
  142. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234720.py +0 -0
  143. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/QA/html2markdown_20250822234903.py +0 -0
  144. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/__init___20250805234212.py +0 -0
  145. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/__init___20250904102635.py +0 -0
  146. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/__init___20250904102836.py +0 -0
  147. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/__init___20250904102838.py +0 -0
  148. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/__init___20250904102851.py +0 -0
  149. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250806010451.py +0 -0
  150. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250806010750.py +0 -0
  151. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250806010759.py +0 -0
  152. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250806010803.py +0 -0
  153. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250806010809.py +0 -0
  154. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250806011108.py +0 -0
  155. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826155913.py +0 -0
  156. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826164159.py +0 -0
  157. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826164217.py +0 -0
  158. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826164408.py +0 -0
  159. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826164423.py +0 -0
  160. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826164529.py +0 -0
  161. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826164824.py +0 -0
  162. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826164932.py +0 -0
  163. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826164947.py +0 -0
  164. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826165403.py +0 -0
  165. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826165421.py +0 -0
  166. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826165509.py +0 -0
  167. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826165702.py +0 -0
  168. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826165732.py +0 -0
  169. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826170041.py +0 -0
  170. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826170105.py +0 -0
  171. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826170154.py +0 -0
  172. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826170220.py +0 -0
  173. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826170221.py +0 -0
  174. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826170228.py +0 -0
  175. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826170231.py +0 -0
  176. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826212001.py +0 -0
  177. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220038.py +0 -0
  178. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220133.py +0 -0
  179. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220148.py +0 -0
  180. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220154.py +0 -0
  181. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220156.py +0 -0
  182. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220314.py +0 -0
  183. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220343.py +0 -0
  184. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220345.py +0 -0
  185. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220349.py +0 -0
  186. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220429.py +0 -0
  187. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220447.py +0 -0
  188. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220601.py +0 -0
  189. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220638.py +0 -0
  190. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220641.py +0 -0
  191. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220647.py +0 -0
  192. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220653.py +0 -0
  193. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220655.py +0 -0
  194. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220731.py +0 -0
  195. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220739.py +0 -0
  196. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220747.py +0 -0
  197. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220801.py +0 -0
  198. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220822.py +0 -0
  199. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826220901.py +0 -0
  200. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826221107.py +0 -0
  201. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826221310.py +0 -0
  202. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826221353.py +0 -0
  203. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826221821.py +0 -0
  204. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826221838.py +0 -0
  205. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826221906.py +0 -0
  206. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826221930.py +0 -0
  207. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826221939.py +0 -0
  208. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826221955.py +0 -0
  209. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222008.py +0 -0
  210. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222017.py +0 -0
  211. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222046.py +0 -0
  212. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222105.py +0 -0
  213. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222206.py +0 -0
  214. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222302.py +0 -0
  215. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222336.py +0 -0
  216. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222455.py +0 -0
  217. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222526.py +0 -0
  218. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222541.py +0 -0
  219. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222624.py +0 -0
  220. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222714.py +0 -0
  221. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222820.py +0 -0
  222. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222827.py +0 -0
  223. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826222927.py +0 -0
  224. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826223009.py +0 -0
  225. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826223054.py +0 -0
  226. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826223225.py +0 -0
  227. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826223344.py +0 -0
  228. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826223356.py +0 -0
  229. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826223955.py +0 -0
  230. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826224210.py +0 -0
  231. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826224250.py +0 -0
  232. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826224323.py +0 -0
  233. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826224452.py +0 -0
  234. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826224455.py +0 -0
  235. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826224502.py +0 -0
  236. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826224528.py +0 -0
  237. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826224658.py +0 -0
  238. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826224833.py +0 -0
  239. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826225013.py +0 -0
  240. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826225050.py +0 -0
  241. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826225241.py +0 -0
  242. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826225315.py +0 -0
  243. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826225404.py +0 -0
  244. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826225502.py +0 -0
  245. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826225950.py +0 -0
  246. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826225959.py +0 -0
  247. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826230222.py +0 -0
  248. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826230248.py +0 -0
  249. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826230638.py +0 -0
  250. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826230755.py +0 -0
  251. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826230941.py +0 -0
  252. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826231054.py +0 -0
  253. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826231117.py +0 -0
  254. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826231219.py +0 -0
  255. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826232330.py +0 -0
  256. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250826232352.py +0 -0
  257. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827152748.py +0 -0
  258. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827152806.py +0 -0
  259. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827152808.py +0 -0
  260. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827152917.py +0 -0
  261. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827152929.py +0 -0
  262. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153100.py +0 -0
  263. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153102.py +0 -0
  264. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153301.py +0 -0
  265. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153331.py +0 -0
  266. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153525.py +0 -0
  267. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153533.py +0 -0
  268. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153541.py +0 -0
  269. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153805.py +0 -0
  270. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153832.py +0 -0
  271. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153836.py +0 -0
  272. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153846.py +0 -0
  273. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827153859.py +0 -0
  274. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154453.py +0 -0
  275. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154513.py +0 -0
  276. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154538.py +0 -0
  277. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154541.py +0 -0
  278. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154612.py +0 -0
  279. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154657.py +0 -0
  280. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154708.py +0 -0
  281. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154728.py +0 -0
  282. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154755.py +0 -0
  283. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154800.py +0 -0
  284. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154917.py +0 -0
  285. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154928.py +0 -0
  286. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154932.py +0 -0
  287. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827154947.py +0 -0
  288. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827155015.py +0 -0
  289. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827155106.py +0 -0
  290. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827155114.py +0 -0
  291. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827155207.py +0 -0
  292. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827155300.py +0 -0
  293. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827155321.py +0 -0
  294. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827164703.py +0 -0
  295. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827164749.py +0 -0
  296. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827165252.py +0 -0
  297. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827165334.py +0 -0
  298. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827165404.py +0 -0
  299. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827165610.py +0 -0
  300. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827165805.py +0 -0
  301. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827170056.py +0 -0
  302. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827170106.py +0 -0
  303. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827170143.py +0 -0
  304. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827170216.py +0 -0
  305. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827170218.py +0 -0
  306. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827170314.py +0 -0
  307. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827171500.py +0 -0
  308. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827172347.py +0 -0
  309. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827172558.py +0 -0
  310. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827172559.py +0 -0
  311. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827172801.py +0 -0
  312. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827182522.py +0 -0
  313. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827182526.py +0 -0
  314. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827182626.py +0 -0
  315. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250827182715.py +0 -0
  316. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250904185444.py +0 -0
  317. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/audio_aug/audio_aug_20250904185538.py +0 -0
  318. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/dataAnalyze/__init___20250805234204.py +0 -0
  319. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/dataAnalyze/__init___20250806204125.py +0 -0
  320. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/dataAnalyze/__init___20250806204139.py +0 -0
  321. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/dataAnalyze/__init___20250806204159.py +0 -0
  322. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/data_analyze/__init___20250806204158.py +0 -0
  323. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/data_analyze/__init___20250827163248.py +0 -0
  324. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/__init___20250820103351.py +0 -0
  325. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/__init___20250821102348.py +0 -0
  326. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/__init___20250821102405.py +0 -0
  327. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/__init___20250819213121.py +0 -0
  328. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/__init___20250821102241.py +0 -0
  329. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/__init___20250821102259.py +0 -0
  330. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/__init___20250821102307.py +0 -0
  331. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/__init___20250821102310.py +0 -0
  332. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/__init___20250821102318.py +0 -0
  333. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/__init___20250821102507.py +0 -0
  334. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/de_eq_20250820103848.py +0 -0
  335. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/de_eq_20250821102422.py +0 -0
  336. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250805234206.py +0 -0
  337. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820140732.py +0 -0
  338. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820140745.py +0 -0
  339. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820140816.py +0 -0
  340. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820140938.py +0 -0
  341. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141003.py +0 -0
  342. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141006.py +0 -0
  343. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141019.py +0 -0
  344. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141049.py +0 -0
  345. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141211.py +0 -0
  346. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141227.py +0 -0
  347. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141311.py +0 -0
  348. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141340.py +0 -0
  349. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141712.py +0 -0
  350. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141733.py +0 -0
  351. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250820141755.py +0 -0
  352. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250821102434.py +0 -0
  353. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250821102500.py +0 -0
  354. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250821102502.py +0 -0
  355. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250821143140.py +0 -0
  356. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250821153208.py +0 -0
  357. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/freq_eq_20250821153214.py +0 -0
  358. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820102957.py +0 -0
  359. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113054.py +0 -0
  360. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113150.py +0 -0
  361. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113520.py +0 -0
  362. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113525.py +0 -0
  363. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/ga_eq_basic_20250821102212.py +0 -0
  364. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/ga_eq_basic_20250901110521.py +0 -0
  365. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/auto_eq/ga_eq_basic_20250901110652.py +0 -0
  366. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/common_20250806002134.py +0 -0
  367. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/common_20250821120448.py +0 -0
  368. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/filter/common_20250821120453.py +0 -0
  369. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250806001612.py +0 -0
  370. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815180659.py +0 -0
  371. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815180701.py +0 -0
  372. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815181321.py +0 -0
  373. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815181327.py +0 -0
  374. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815181331.py +0 -0
  375. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815181620.py +0 -0
  376. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815181631.py +0 -0
  377. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815181742.py +0 -0
  378. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815181824.py +0 -0
  379. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815181834.py +0 -0
  380. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815181922.py +0 -0
  381. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815182011.py +0 -0
  382. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815182036.py +0 -0
  383. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815182936.py +0 -0
  384. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815182942.py +0 -0
  385. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183032.py +0 -0
  386. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183101.py +0 -0
  387. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183121.py +0 -0
  388. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183123.py +0 -0
  389. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183214.py +0 -0
  390. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183240.py +0 -0
  391. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183248.py +0 -0
  392. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183407.py +0 -0
  393. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183409.py +0 -0
  394. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183431.py +0 -0
  395. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183507.py +0 -0
  396. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183513.py +0 -0
  397. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183618.py +0 -0
  398. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183709.py +0 -0
  399. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183756.py +0 -0
  400. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183815.py +0 -0
  401. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183827.py +0 -0
  402. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183913.py +0 -0
  403. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815183914.py +0 -0
  404. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815184003.py +0 -0
  405. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815184040.py +0 -0
  406. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815184049.py +0 -0
  407. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815184104.py +0 -0
  408. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/dnsmos_20250815184200.py +0 -0
  409. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_lsp_metric_20250816015944.py +0 -0
  410. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_lsp_metric_20250816020142.py +0 -0
  411. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_lsp_metric_20250816020156.py +0 -0
  412. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_lsp_metric_20250816020554.py +0 -0
  413. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_lsp_metric_20250816020600.py +0 -0
  414. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_lsp_metric_20250816020631.py +0 -0
  415. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_lsp_metric_20250816020746.py +0 -0
  416. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_me_20250816013111.py +0 -0
  417. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_me_20250816013129.py +0 -0
  418. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_me_20250816015430.py +0 -0
  419. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_me_20250816015535.py +0 -0
  420. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_me_20250816015542.py +0 -0
  421. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_me_20250816015636.py +0 -0
  422. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_me_20250816015658.py +0 -0
  423. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_me_20250816015703.py +0 -0
  424. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/lpc_me_20250816015945.py +0 -0
  425. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/snr_20250806010538.py +0 -0
  426. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/snr_20250806211634.py +0 -0
  427. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/snr_20250827224201.py +0 -0
  428. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/snr_20250827234019.py +0 -0
  429. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/snr_20250827234028.py +0 -0
  430. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/snr_20250827234030.py +0 -0
  431. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250805234209.py +0 -0
  432. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816135530.py +0 -0
  433. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816135654.py +0 -0
  434. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816135736.py +0 -0
  435. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816135904.py +0 -0
  436. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816135921.py +0 -0
  437. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140111.py +0 -0
  438. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140543.py +0 -0
  439. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140559.py +0 -0
  440. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140602.py +0 -0
  441. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140608.py +0 -0
  442. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140654.py +0 -0
  443. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140705.py +0 -0
  444. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140755.py +0 -0
  445. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140823.py +0 -0
  446. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140832.py +0 -0
  447. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140833.py +0 -0
  448. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816140922.py +0 -0
  449. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816141148.py +0 -0
  450. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816141219.py +0 -0
  451. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816141732.py +0 -0
  452. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816141740.py +0 -0
  453. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816142030.py +0 -0
  454. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816142107.py +0 -0
  455. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816142126.py +0 -0
  456. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816142410.py +0 -0
  457. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_20250816142415.py +0 -0
  458. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_metric_20250816135156.py +0 -0
  459. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_metric_20250816135226.py +0 -0
  460. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_metric_20250816135227.py +0 -0
  461. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_metric_20250816135306.py +0 -0
  462. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_metric_20250816135442.py +0 -0
  463. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_metric_20250816135448.py +0 -0
  464. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_metric_20250816135520.py +0 -0
  465. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_metric_20250816135537.py +0 -0
  466. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/metrics/spec_metric_20250816135653.py +0 -0
  467. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/utils/audio_split_20250805234209.py +0 -0
  468. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/utils/audio_split_20250904185309.py +0 -0
  469. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/utils/utils_20250813165516.py +0 -0
  470. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/utils/utils_20250904181341.py +0 -0
  471. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/utils/utils_20250904185546.py +0 -0
  472. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/utils/utils_20250904185548.py +0 -0
  473. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/utils/utils_20250904185603.py +0 -0
  474. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/utils/utils_20250904185636.py +0 -0
  475. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/utils/utils_20250904185658.py +0 -0
  476. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/utils/utils_20250904190053.py +0 -0
  477. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/PreProcess_20250805234211.py +0 -0
  478. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/PreProcess_20250809232455.py +0 -0
  479. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/PreProcess_20250816020725.py +0 -0
  480. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/VAD_Silero_20250805234211.py +0 -0
  481. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/VAD_Silero_20250809232456.py +0 -0
  482. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/VAD_WebRTC_20250805234211.py +0 -0
  483. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/VAD_WebRTC_20250809232456.py +0 -0
  484. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/VAD_funasr_20250805234211.py +0 -0
  485. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/VAD_funasr_20250809232456.py +0 -0
  486. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/VAD_vadlib_20250805234211.py +0 -0
  487. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/VAD_vadlib_20250809232455.py +0 -0
  488. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/VAD_whisper_20250805234211.py +0 -0
  489. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.history/vad/VAD_whisper_20250809232456.py +0 -0
  490. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.specstory/.what-is-this.md +0 -0
  491. {neverlib-0.2.6 → neverlib-0.2.8}/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" +0 -0
  492. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.specstory/history/2025-08-22_02-10Z-/345/256/214/345/226/204/345/207/275/346/225/260/347/232/204/345/212/237/350/203/275/345/222/214/345/217/230/351/207/217/345/220/215/345/273/272/350/256/256.md" +0 -0
  493. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.specstory/history/2025-08-26_11-54Z-oserror-missing-shared-object-file.md +0 -0
  494. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.specstory/history/2025-08-27_08-07Z-/345/256/214/345/226/204/346/265/213/350/257/225/346/226/207/346/241/243/347/232/204/350/256/250/350/256/272.md" +0 -0
  495. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.specstory/history/2025-08-27_08-29Z-delete-python-file-command.md +0 -0
  496. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/.specstory/history/2025-08-27_09-05Z-/345/234/250jupyter/344/270/255/346/222/255/346/224/276/351/237/263/351/242/221/347/232/204/344/273/243/347/240/201/344/277/256/346/224/271.md" +0 -0
  497. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/Docs/audio_aug_test/test_snr.py +0 -0
  498. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/Docs/audio_aug_test/test_volume.py +0 -0
  499. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/QA/html2markdown.py +0 -0
  500. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/audio_aug/TFDrop.py +0 -0
  501. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/audio_aug/TFMask.py +0 -0
  502. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/data_analyze/README.md +0 -0
  503. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/filter/README.md +0 -0
  504. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/filter/auto_eq/README.md +0 -0
  505. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/filter/auto_eq/freq_eq.py +0 -0
  506. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/filter/auto_eq/ga_eq_advanced.py +0 -0
  507. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/filter/auto_eq/ga_eq_basic.py +0 -0
  508. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/filter/biquad.py +0 -0
  509. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/filter/core.py +0 -0
  510. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/metrics/lpc_lsp.py +0 -0
  511. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/metrics/time.py +0 -0
  512. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/tests/test_preprocess.py +0 -0
  513. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/tests/test_vad.py +0 -0
  514. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/utils/lazy_module.py +0 -0
  515. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/utils/message.py +0 -0
  516. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/README.md +0 -0
  517. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/VAD_Energy.py +0 -0
  518. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/VAD_Silero.py +0 -0
  519. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/VAD_WebRTC.py +0 -0
  520. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/VAD_funasr.py +0 -0
  521. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/VAD_statistics.py +0 -0
  522. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/VAD_vadlib.py +0 -0
  523. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/VAD_whisper.py +0 -0
  524. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib/vad/utils.py +0 -0
  525. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib.egg-info/dependency_links.txt +0 -0
  526. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib.egg-info/requires.txt +0 -0
  527. {neverlib-0.2.6 → neverlib-0.2.8}/neverlib.egg-info/top_level.txt +0 -0
  528. {neverlib-0.2.6 → neverlib-0.2.8}/setup.cfg +0 -0
@@ -0,0 +1,18 @@
1
+ # CLAUDE.md 配置文件
2
+
3
+ ## 交互设置
4
+ - 始终使用中文与用户交流
5
+ - 在查看代码库时忽略 .gitignore 中列出的文件和文件夹
6
+
7
+
8
+ ## 编码规范
9
+ - 遵循 PEP 8 风格指南
10
+ - 为所有函数使用类型提示
11
+ - 使用 Google 格式编写文档字符串
12
+ - 保持函数专注于单一责任
13
+ - 为新功能维护测试覆盖
14
+
15
+
16
+ ## 个人备注
17
+
18
+ - 如果遇到困难,请停下来寻求帮助。我的名字是 never。
@@ -0,0 +1,50 @@
1
+ # 包含基础项目文件
2
+ include LICENSE
3
+ include README.md
4
+ include pyproject.toml
5
+ include CLAUDE.md
6
+ include setup.py
7
+ include requirements.txt
8
+
9
+ # 包含 neverlib 包中的所有 Python 文件
10
+ recursive-include neverlib *.py
11
+
12
+ # 包含文档和说明文件
13
+ recursive-include neverlib *.txt
14
+ recursive-include neverlib *.md
15
+ recursive-include neverlib *.json
16
+ recursive-include neverlib *.yaml
17
+ recursive-include neverlib *.yml
18
+ recursive-include neverlib/Docs *.ipynb
19
+
20
+ # 包含测试文件
21
+ recursive-include neverlib/tests *.py
22
+ recursive-include neverlib/tests *.txt
23
+ recursive-include neverlib/tests *.md
24
+
25
+ # 包含音频数据文件
26
+ recursive-include neverlib/data *.wav
27
+ recursive-include neverlib/audio_aug/data *
28
+ recursive-include neverlib/filter/data *
29
+
30
+ # 包含文档和示例目录
31
+ recursive-include neverlib/Docs *
32
+ recursive-include neverlib/QA *
33
+
34
+ # 包含DNSMOS和pDNSMOS模型文件
35
+ recursive-include neverlib/metrics/DNSMOS *.onnx
36
+ recursive-include neverlib/metrics/pDNSMOS *.onnx
37
+
38
+ # 包含PESQ C实现文件
39
+ recursive-include neverlib/metrics/pesq_c *.c
40
+ recursive-include neverlib/metrics/pesq_c *.h
41
+ recursive-include neverlib/metrics/pesq_c PESQ
42
+
43
+ # 包含VAD相关图像文件
44
+ recursive-include neverlib/vad *.png
45
+
46
+ # 排除不需要的文件
47
+ global-exclude *.py[cod] __pycache__/ *.so *.dylib .DS_Store
48
+ global-exclude .env .venv env/ venv/
49
+ global-exclude *.log .coverage .pytest_cache/ build/ dist/
50
+ global-exclude .idea/ .vscode/ *.swp *.swo
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: neverlib
3
- Version: 0.2.6
3
+ Version: 0.2.8
4
4
  Summary: A successful sign for python setup
5
5
  Author-email: "Never.Ling" <1786088386@qq.com>
6
6
  License: MIT
@@ -0,0 +1,9 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Read(/data03/never/Desktop/neverlib/**)"
5
+ ],
6
+ "deny": [],
7
+ "ask": []
8
+ }
9
+ }
@@ -0,0 +1,416 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "f27585eb",
7
+ "metadata": {},
8
+ "outputs": [
9
+ {
10
+ "ename": "ImportError",
11
+ "evalue": "cannot import name 'volume_aug_linmax' from 'audio_aug' (unknown location)",
12
+ "output_type": "error",
13
+ "traceback": [
14
+ "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
15
+ "\u001b[31mImportError\u001b[39m Traceback (most recent call last)",
16
+ "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[14]\u001b[39m\u001b[32m, line 5\u001b[39m\n\u001b[32m 2\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01msys\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mos\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m5\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01maudio_aug\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m volume_aug_linmax, volume_aug_dbrms, volume_aug_lufs, measure_loudness\n\u001b[32m 6\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01msoundfile\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01msf\u001b[39;00m\n\u001b[32m 7\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnumpy\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnp\u001b[39;00m\n",
17
+ "\u001b[31mImportError\u001b[39m: cannot import name 'volume_aug_linmax' from 'audio_aug' (unknown location)"
18
+ ]
19
+ },
20
+ {
21
+ "ename": "",
22
+ "evalue": "",
23
+ "output_type": "error",
24
+ "traceback": [
25
+ "\u001b[1;31mThe Kernel crashed while executing code in the current cell or a previous cell. \n",
26
+ "\u001b[1;31mPlease review the code in the cell(s) to identify a possible cause of the failure. \n",
27
+ "\u001b[1;31mClick <a href='https://aka.ms/vscodeJupyterKernelCrash'>here</a> for more info. \n",
28
+ "\u001b[1;31mView Jupyter <a href='command:jupyter.viewOutput'>log</a> for further details."
29
+ ]
30
+ }
31
+ ],
32
+ "source": [
33
+ "# 确保使用本地版本而非安装版本\n",
34
+ "import sys\n",
35
+ "import os\n",
36
+ "\n",
37
+ "from audio_aug import volume_aug_linmax, volume_aug_dbrms, volume_aug_lufs, measure_loudness\n",
38
+ "import soundfile as sf\n",
39
+ "import numpy as np\n",
40
+ "import matplotlib.pyplot as plt\n",
41
+ "\n",
42
+ "# 导入可视化工具\n",
43
+ "from neverlib.data_analyze.visualization import AudioVisualizer\n",
44
+ "\n",
45
+ "wav_path = \"/data03/never/Dataset/kws_data/Command_Word/group_a_class/zh/pos_example/上一首/037/soft_normal_male_25_151_vadstart5920_vadend33600_snr14.2.wav\"\n",
46
+ "wav, sr = sf.read(wav_path, always_2d=True, dtype=\"float32\")\n",
47
+ "wav = wav[:, 1]\n",
48
+ "\n",
49
+ "# 创建可视化工具\n",
50
+ "visualizer = AudioVisualizer(sr=sr)\n",
51
+ "\n",
52
+ "# 测量原始音频的响度信息\n",
53
+ "original_loudness = measure_loudness(wav, sr)\n",
54
+ "print(\"原始音频响度信息:\")\n",
55
+ "print(f\"峰值: {original_loudness['peak_dbfs']:.2f} dBFS\")\n",
56
+ "print(f\"RMS: {original_loudness['rms_dbfs']:.2f} dBFS\")\n",
57
+ "print(f\"LUFS: {original_loudness['lufs']:.2f} LUFS\")\n",
58
+ "print(f\"峰均比: {original_loudness['crest_factor_db']:.2f} dB\")"
59
+ ]
60
+ },
61
+ {
62
+ "cell_type": "markdown",
63
+ "id": "f86b2ba1",
64
+ "metadata": {},
65
+ "source": [
66
+ "## linear 音量增强"
67
+ ]
68
+ },
69
+ {
70
+ "cell_type": "code",
71
+ "execution_count": null,
72
+ "id": "4585297c",
73
+ "metadata": {},
74
+ "outputs": [],
75
+ "source": [
76
+ "wav_linear = volume_aug_linmax(wav, 0.5)\n",
77
+ "\n",
78
+ "# 测量处理后的响度\n",
79
+ "linear_loudness = measure_loudness(wav_linear, sr)\n",
80
+ "\n",
81
+ "# 绘制时域和频域图\n",
82
+ "plt.figure(figsize=(16, 8))\n",
83
+ "\n",
84
+ "# 波形图\n",
85
+ "plt.subplot(2, 1, 1)\n",
86
+ "visualizer.plot_waveform(wav, \"原始波形\", ax=plt.gca())\n",
87
+ "plt.subplot(2, 1, 2)\n",
88
+ "visualizer.plot_waveform(wav_linear, f\"Linear增强波形 (目标幅度: 0.5)\", ax=plt.gca())\n",
89
+ "plt.tight_layout()\n",
90
+ "plt.show()\n",
91
+ "\n",
92
+ "# 频谱图\n",
93
+ "plt.figure(figsize=(16, 8))\n",
94
+ "plt.subplot(2, 1, 1)\n",
95
+ "visualizer.plot_spectrogram(wav, \"原始频谱图\", ax=plt.gca())\n",
96
+ "plt.subplot(2, 1, 2)\n",
97
+ "visualizer.plot_spectrogram(wav_linear, f\"Linear增强频谱图 (目标幅度: 0.5)\", ax=plt.gca())\n",
98
+ "plt.tight_layout()\n",
99
+ "plt.show()\n",
100
+ "\n",
101
+ "# 响度对比\n",
102
+ "plt.figure(figsize=(10, 6))\n",
103
+ "labels = ['原始音频', 'Linear增强']\n",
104
+ "peak_values = [original_loudness['peak_dbfs'], linear_loudness['peak_dbfs']]\n",
105
+ "rms_values = [original_loudness['rms_dbfs'], linear_loudness['rms_dbfs']]\n",
106
+ "lufs_values = [original_loudness['lufs'], linear_loudness['lufs']]\n",
107
+ "\n",
108
+ "x = np.arange(len(labels))\n",
109
+ "width = 0.25\n",
110
+ "\n",
111
+ "plt.bar(x - width, peak_values, width, label='峰值 (dBFS)')\n",
112
+ "plt.bar(x, rms_values, width, label='RMS (dBFS)')\n",
113
+ "plt.bar(x + width, lufs_values, width, label='LUFS')\n",
114
+ "\n",
115
+ "plt.ylabel('分贝')\n",
116
+ "plt.title('Linear音量增强前后响度对比')\n",
117
+ "plt.xticks(x, labels)\n",
118
+ "plt.legend()\n",
119
+ "plt.grid(True, alpha=0.3)\n",
120
+ "plt.tight_layout()\n",
121
+ "plt.show()\n",
122
+ "\n",
123
+ "print(f\"Linear增强后响度信息:\")\n",
124
+ "print(f\"峰值: {linear_loudness['peak_dbfs']:.2f} dBFS (变化: {linear_loudness['peak_dbfs'] - original_loudness['peak_dbfs']:.2f} dB)\")\n",
125
+ "print(f\"RMS: {linear_loudness['rms_dbfs']:.2f} dBFS (变化: {linear_loudness['rms_dbfs'] - original_loudness['rms_dbfs']:.2f} dB)\")\n",
126
+ "print(f\"LUFS: {linear_loudness['lufs']:.2f} LUFS (变化: {linear_loudness['lufs'] - original_loudness['lufs']:.2f} dB)\")\n",
127
+ "print(f\"峰均比: {linear_loudness['crest_factor_db']:.2f} dB\")"
128
+ ]
129
+ },
130
+ {
131
+ "cell_type": "markdown",
132
+ "id": "56fb9004",
133
+ "metadata": {},
134
+ "source": [
135
+ "## dBrms 音量增强"
136
+ ]
137
+ },
138
+ {
139
+ "cell_type": "code",
140
+ "execution_count": null,
141
+ "id": "7e88967d",
142
+ "metadata": {},
143
+ "outputs": [],
144
+ "source": [
145
+ "wav_dbrms = volume_aug_dbrms(wav, -6)\n",
146
+ "\n",
147
+ "# 测量处理后的响度\n",
148
+ "dbrms_loudness = measure_loudness(wav_dbrms, sr)\n",
149
+ "\n",
150
+ "# 绘制时域和频域图\n",
151
+ "plt.figure(figsize=(16, 8))\n",
152
+ "\n",
153
+ "# 波形图\n",
154
+ "plt.subplot(2, 1, 1)\n",
155
+ "visualizer.plot_waveform(wav, \"原始波形\", ax=plt.gca())\n",
156
+ "plt.subplot(2, 1, 2)\n",
157
+ "visualizer.plot_waveform(wav_dbrms, f\"dBrms增强波形 (目标电平: -6 dB)\", ax=plt.gca())\n",
158
+ "plt.tight_layout()\n",
159
+ "plt.show()\n",
160
+ "\n",
161
+ "# 频谱图\n",
162
+ "plt.figure(figsize=(16, 8))\n",
163
+ "plt.subplot(2, 1, 1)\n",
164
+ "visualizer.plot_spectrogram(wav, \"原始频谱图\", ax=plt.gca())\n",
165
+ "plt.subplot(2, 1, 2)\n",
166
+ "visualizer.plot_spectrogram(wav_dbrms, f\"dBrms增强频谱图 (目标电平: -6 dB)\", ax=plt.gca())\n",
167
+ "plt.tight_layout()\n",
168
+ "plt.show()\n",
169
+ "\n",
170
+ "# 响度对比\n",
171
+ "plt.figure(figsize=(10, 6))\n",
172
+ "labels = ['原始音频', 'dBrms增强']\n",
173
+ "peak_values = [original_loudness['peak_dbfs'], dbrms_loudness['peak_dbfs']]\n",
174
+ "rms_values = [original_loudness['rms_dbfs'], dbrms_loudness['rms_dbfs']]\n",
175
+ "lufs_values = [original_loudness['lufs'], dbrms_loudness['lufs']]\n",
176
+ "\n",
177
+ "x = np.arange(len(labels))\n",
178
+ "width = 0.25\n",
179
+ "\n",
180
+ "plt.bar(x - width, peak_values, width, label='峰值 (dBFS)')\n",
181
+ "plt.bar(x, rms_values, width, label='RMS (dBFS)')\n",
182
+ "plt.bar(x + width, lufs_values, width, label='LUFS')\n",
183
+ "\n",
184
+ "plt.ylabel('分贝')\n",
185
+ "plt.title('dBrms音量增强前后响度对比')\n",
186
+ "plt.xticks(x, labels)\n",
187
+ "plt.legend()\n",
188
+ "plt.grid(True, alpha=0.3)\n",
189
+ "plt.tight_layout()\n",
190
+ "plt.show()\n",
191
+ "\n",
192
+ "print(f\"dBrms增强后响度信息:\")\n",
193
+ "print(f\"峰值: {dbrms_loudness['peak_dbfs']:.2f} dBFS (变化: {dbrms_loudness['peak_dbfs'] - original_loudness['peak_dbfs']:.2f} dB)\")\n",
194
+ "print(f\"RMS: {dbrms_loudness['rms_dbfs']:.2f} dBFS (变化: {dbrms_loudness['rms_dbfs'] - original_loudness['rms_dbfs']:.2f} dB)\")\n",
195
+ "print(f\"LUFS: {dbrms_loudness['lufs']:.2f} LUFS (变化: {dbrms_loudness['lufs'] - original_loudness['lufs']:.2f} dB)\")\n",
196
+ "print(f\"峰均比: {dbrms_loudness['crest_factor_db']:.2f} dB\")"
197
+ ]
198
+ },
199
+ {
200
+ "cell_type": "markdown",
201
+ "id": "e6a9695f",
202
+ "metadata": {},
203
+ "source": [
204
+ "# lufs音量增强"
205
+ ]
206
+ },
207
+ {
208
+ "cell_type": "code",
209
+ "execution_count": null,
210
+ "id": "30b21884",
211
+ "metadata": {},
212
+ "outputs": [],
213
+ "source": [
214
+ "wav_lufs = volume_aug_lufs(wav, -16)\n",
215
+ "\n",
216
+ "# 测量处理后的响度\n",
217
+ "lufs_loudness = measure_loudness(wav_lufs, sr)\n",
218
+ "\n",
219
+ "# 绘制时域和频域图\n",
220
+ "plt.figure(figsize=(16, 8))\n",
221
+ "\n",
222
+ "# 波形图\n",
223
+ "plt.subplot(2, 1, 1)\n",
224
+ "visualizer.plot_waveform(wav, \"原始波形\", ax=plt.gca())\n",
225
+ "plt.subplot(2, 1, 2)\n",
226
+ "visualizer.plot_waveform(wav_lufs, f\"LUFS增强波形 (目标响度: -16 LUFS)\", ax=plt.gca())\n",
227
+ "plt.tight_layout()\n",
228
+ "plt.show()\n",
229
+ "\n",
230
+ "# 频谱图\n",
231
+ "plt.figure(figsize=(16, 8))\n",
232
+ "plt.subplot(2, 1, 1)\n",
233
+ "visualizer.plot_spectrogram(wav, \"原始频谱图\", ax=plt.gca())\n",
234
+ "plt.subplot(2, 1, 2)\n",
235
+ "visualizer.plot_spectrogram(wav_lufs, f\"LUFS增强频谱图 (目标响度: -16 LUFS)\", ax=plt.gca())\n",
236
+ "plt.tight_layout()\n",
237
+ "plt.show()\n",
238
+ "\n",
239
+ "# 响度对比\n",
240
+ "plt.figure(figsize=(10, 6))\n",
241
+ "labels = ['原始音频', 'LUFS增强']\n",
242
+ "peak_values = [original_loudness['peak_dbfs'], lufs_loudness['peak_dbfs']]\n",
243
+ "rms_values = [original_loudness['rms_dbfs'], lufs_loudness['rms_dbfs']]\n",
244
+ "lufs_values = [original_loudness['lufs'], lufs_loudness['lufs']]\n",
245
+ "\n",
246
+ "x = np.arange(len(labels))\n",
247
+ "width = 0.25\n",
248
+ "\n",
249
+ "plt.bar(x - width, peak_values, width, label='峰值 (dBFS)')\n",
250
+ "plt.bar(x, rms_values, width, label='RMS (dBFS)')\n",
251
+ "plt.bar(x + width, lufs_values, width, label='LUFS')\n",
252
+ "\n",
253
+ "plt.ylabel('分贝')\n",
254
+ "plt.title('LUFS音量增强前后响度对比')\n",
255
+ "plt.xticks(x, labels)\n",
256
+ "plt.legend()\n",
257
+ "plt.grid(True, alpha=0.3)\n",
258
+ "plt.tight_layout()\n",
259
+ "plt.show()\n",
260
+ "\n",
261
+ "print(f\"LUFS增强后响度信息:\")\n",
262
+ "print(f\"峰值: {lufs_loudness['peak_dbfs']:.2f} dBFS (变化: {lufs_loudness['peak_dbfs'] - original_loudness['peak_dbfs']:.2f} dB)\")\n",
263
+ "print(f\"RMS: {lufs_loudness['rms_dbfs']:.2f} dBFS (变化: {lufs_loudness['rms_dbfs'] - original_loudness['rms_dbfs']:.2f} dB)\")\n",
264
+ "print(f\"LUFS: {lufs_loudness['lufs']:.2f} LUFS (变化: {lufs_loudness['lufs'] - original_loudness['lufs']:.2f} dB)\")\n",
265
+ "print(f\"峰均比: {lufs_loudness['crest_factor_db']:.2f} dB\")"
266
+ ]
267
+ },
268
+ {
269
+ "cell_type": "code",
270
+ "execution_count": null,
271
+ "id": "k6vath03xyg",
272
+ "metadata": {},
273
+ "outputs": [],
274
+ "source": [
275
+ "# 创建三种增强方法的综合对比图\n",
276
+ "plt.figure(figsize=(16, 12))\n",
277
+ "\n",
278
+ "# 波形对比\n",
279
+ "plt.subplot(3, 1, 1)\n",
280
+ "time = np.linspace(0, len(wav) / sr, len(wav))\n",
281
+ "plt.plot(time, wav, label='原始波形', alpha=0.7)\n",
282
+ "plt.plot(time, wav_linear, label='Linear增强', alpha=0.7)\n",
283
+ "plt.plot(time, wav_dbrms, label='dBrms增强', alpha=0.7)\n",
284
+ "plt.plot(time, wav_lufs, label='LUFS增强', alpha=0.7)\n",
285
+ "plt.title('三种音量增强方法波形对比')\n",
286
+ "plt.xlabel('时间 (s)')\n",
287
+ "plt.ylabel('幅度')\n",
288
+ "plt.grid(True, alpha=0.3)\n",
289
+ "plt.legend()\n",
290
+ "\n",
291
+ "# 响度对比 - 条形图\n",
292
+ "plt.subplot(3, 1, 2)\n",
293
+ "labels = ['原始音频', 'Linear增强', 'dBrms增强', 'LUFS增强']\n",
294
+ "peak_values = [original_loudness['peak_dbfs'], linear_loudness['peak_dbfs'], \n",
295
+ " dbrms_loudness['peak_dbfs'], lufs_loudness['peak_dbfs']]\n",
296
+ "rms_values = [original_loudness['rms_dbfs'], linear_loudness['rms_dbfs'], \n",
297
+ " dbrms_loudness['rms_dbfs'], lufs_loudness['rms_dbfs']]\n",
298
+ "lufs_values = [original_loudness['lufs'], linear_loudness['lufs'], \n",
299
+ " dbrms_loudness['lufs'], lufs_loudness['lufs']]\n",
300
+ "\n",
301
+ "x = np.arange(len(labels))\n",
302
+ "width = 0.25\n",
303
+ "\n",
304
+ "plt.bar(x - width, peak_values, width, label='峰值 (dBFS)')\n",
305
+ "plt.bar(x, rms_values, width, label='RMS (dBFS)')\n",
306
+ "plt.bar(x + width, lufs_values, width, label='LUFS')\n",
307
+ "\n",
308
+ "plt.ylabel('分贝')\n",
309
+ "plt.title('三种音量增强方法响度对比')\n",
310
+ "plt.xticks(x, labels)\n",
311
+ "plt.legend()\n",
312
+ "plt.grid(True, alpha=0.3)\n",
313
+ "\n",
314
+ "# 峰均比对比\n",
315
+ "plt.subplot(3, 1, 3)\n",
316
+ "crest_values = [original_loudness['crest_factor_db'], linear_loudness['crest_factor_db'],\n",
317
+ " dbrms_loudness['crest_factor_db'], lufs_loudness['crest_factor_db']]\n",
318
+ "\n",
319
+ "plt.bar(x, crest_values, width=0.5, color='purple', alpha=0.7)\n",
320
+ "plt.ylabel('分贝')\n",
321
+ "plt.title('三种音量增强方法峰均比对比')\n",
322
+ "plt.xticks(x, labels)\n",
323
+ "plt.grid(True, alpha=0.3)\n",
324
+ "\n",
325
+ "plt.tight_layout()\n",
326
+ "plt.show()\n",
327
+ "\n",
328
+ "# 创建综合对比表格\n",
329
+ "print(\"\\n三种音量增强方法综合对比:\")\n",
330
+ "print(\"=\" * 80)\n",
331
+ "print(f\"{'方法':<12}{'峰值 (dBFS)':<20}{'RMS (dBFS)':<20}{'LUFS':<20}{'峰均比 (dB)':<15}\")\n",
332
+ "print(\"-\" * 80)\n",
333
+ "print(f\"{'原始音频':<12}{original_loudness['peak_dbfs']:<20.2f}{original_loudness['rms_dbfs']:<20.2f}{original_loudness['lufs']:<20.2f}{original_loudness['crest_factor_db']:<15.2f}\")\n",
334
+ "print(f\"{'Linear增强':<12}{linear_loudness['peak_dbfs']:<20.2f}{linear_loudness['rms_dbfs']:<20.2f}{linear_loudness['lufs']:<20.2f}{linear_loudness['crest_factor_db']:<15.2f}\")\n",
335
+ "print(f\"{'dBrms增强':<12}{dbrms_loudness['peak_dbfs']:<20.2f}{dbrms_loudness['rms_dbfs']:<20.2f}{dbrms_loudness['lufs']:<20.2f}{dbrms_loudness['crest_factor_db']:<15.2f}\")\n",
336
+ "print(f\"{'LUFS增强':<12}{lufs_loudness['peak_dbfs']:<20.2f}{lufs_loudness['rms_dbfs']:<20.2f}{lufs_loudness['lufs']:<20.2f}{lufs_loudness['crest_factor_db']:<15.2f}\")\n",
337
+ "print(\"=\" * 80)\n",
338
+ "\n",
339
+ "# 各方法响度变化量\n",
340
+ "print(\"\\n响度变化量 (相对于原始音频):\")\n",
341
+ "print(\"=\" * 80)\n",
342
+ "print(f\"{'方法':<12}{'峰值变化 (dB)':<20}{'RMS变化 (dB)':<20}{'LUFS变化 (dB)':<20}\")\n",
343
+ "print(\"-\" * 80)\n",
344
+ "print(f\"{'Linear增强':<12}{linear_loudness['peak_dbfs'] - original_loudness['peak_dbfs']:<20.2f}{linear_loudness['rms_dbfs'] - original_loudness['rms_dbfs']:<20.2f}{linear_loudness['lufs'] - original_loudness['lufs']:<20.2f}\")\n",
345
+ "print(f\"{'dBrms增强':<12}{dbrms_loudness['peak_dbfs'] - original_loudness['peak_dbfs']:<20.2f}{dbrms_loudness['rms_dbfs'] - original_loudness['rms_dbfs']:<20.2f}{dbrms_loudness['lufs'] - original_loudness['lufs']:<20.2f}\")\n",
346
+ "print(f\"{'LUFS增强':<12}{lufs_loudness['peak_dbfs'] - original_loudness['peak_dbfs']:<20.2f}{lufs_loudness['rms_dbfs'] - original_loudness['rms_dbfs']:<20.2f}{lufs_loudness['lufs'] - original_loudness['lufs']:<20.2f}\")\n",
347
+ "print(\"=\" * 80)\n",
348
+ "\n",
349
+ "# 总结分析\n",
350
+ "print(\"\\n音量增强方法分析总结:\")\n",
351
+ "print(\"=\" * 80)\n",
352
+ "print(\"1. Linear增强 (volume_aug_linmax):\")\n",
353
+ "print(\" - 基于峰值的线性增益,目标为最大峰值为指定的线性值\")\n",
354
+ "print(\" - 特点:保持动态范围不变,整体增强或减弱\")\n",
355
+ "print(\" - 适用场景:需要精确控制峰值而不改变音频动态特性的场合\")\n",
356
+ "print(\"\\n2. dBrms增强 (volume_aug_dbrms):\")\n",
357
+ "print(\" - 基于RMS电平的增益,目标为指定的dB电平\")\n",
358
+ "print(\" - 特点:以能量均值为基准,更接近人耳感知\")\n",
359
+ "print(\" - 适用场景:需要统一音频能量电平的场合\")\n",
360
+ "print(\"\\n3. LUFS增强 (volume_aug_lufs):\")\n",
361
+ "print(\" - 基于国际响度标准的增益,符合广播标准\")\n",
362
+ "print(\" - 特点:考虑人耳频率加权,最接近人耳响度感知\")\n",
363
+ "print(\" - 适用场景:广播、流媒体、专业音频处理等需要符合响度标准的场合\")\n",
364
+ "print(\"=\" * 80)"
365
+ ]
366
+ },
367
+ {
368
+ "cell_type": "markdown",
369
+ "id": "2fb931jxgtr",
370
+ "metadata": {},
371
+ "source": [
372
+ "# 音量增强方法综合分析\n",
373
+ "\n",
374
+ "本笔记本演示并分析了neverlib库中三种音量增强方法的特性和效果:\n",
375
+ "\n",
376
+ "1. **Linear增强 (volume_aug_linmax)**\n",
377
+ " - 基于峰值的线性增益\n",
378
+ " - 将音频最大峰值调整为目标线性值(0-1范围)\n",
379
+ " - 保持动态范围不变\n",
380
+ "\n",
381
+ "2. **dBrms增强 (volume_aug_dbrms)**\n",
382
+ " - 基于均方根(RMS)功率的增益\n",
383
+ " - 将音频RMS电平调整为目标分贝值\n",
384
+ " - 更接近能量感知\n",
385
+ "\n",
386
+ "3. **LUFS增强 (volume_aug_lufs)**\n",
387
+ " - 基于感知响度单位(LUFS)的增益\n",
388
+ " - 符合广播标准的响度归一化\n",
389
+ " - 考虑人耳感知加权,最接近人耳响度感知\n",
390
+ "\n",
391
+ "各方法适用于不同场景,可根据需求选择合适的音量增强方式。"
392
+ ]
393
+ }
394
+ ],
395
+ "metadata": {
396
+ "kernelspec": {
397
+ "display_name": "py311torch211",
398
+ "language": "python",
399
+ "name": "python3"
400
+ },
401
+ "language_info": {
402
+ "codemirror_mode": {
403
+ "name": "ipython",
404
+ "version": 3
405
+ },
406
+ "file_extension": ".py",
407
+ "mimetype": "text/x-python",
408
+ "name": "python",
409
+ "nbconvert_exporter": "python",
410
+ "pygments_lexer": "ipython3",
411
+ "version": "3.11.9"
412
+ }
413
+ },
414
+ "nbformat": 4,
415
+ "nbformat_minor": 5
416
+ }