neverlib 0.2.8__tar.gz → 0.2.9__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 (537) hide show
  1. {neverlib-0.2.8/neverlib.egg-info → neverlib-0.2.9}/PKG-INFO +15 -1
  2. {neverlib-0.2.8 → neverlib-0.2.9}/README.md +14 -0
  3. neverlib-0.2.9/neverlib/QA/ImpactNoiseRejection.py +119 -0
  4. neverlib-0.2.9/neverlib/QA/impact_noise_rejection.png +0 -0
  5. neverlib-0.2.9/neverlib/QA/out.pcm +0 -0
  6. neverlib-0.2.9/neverlib/QA/out.wav +0 -0
  7. neverlib-0.2.9/neverlib/audio_aug/README.md +3 -0
  8. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/TFDrop.py +0 -0
  9. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/TFMask.py +0 -0
  10. neverlib-0.2.9/neverlib/audio_aug/__init__.py +28 -0
  11. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/quant_aug.py +0 -0
  12. neverlib-0.2.9/neverlib/data_analyze/__init__.py +25 -0
  13. neverlib-0.2.9/neverlib/filter/__init__.py +17 -0
  14. neverlib-0.2.9/neverlib/filter/auto_eq/__init__.py +19 -0
  15. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/core.py +8 -5
  16. neverlib-0.2.9/neverlib/metrics/README.md +35 -0
  17. neverlib-0.2.9/neverlib/metrics/__init__.py +23 -0
  18. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/PESQ +0 -0
  19. neverlib-0.2.9/neverlib/signal_gen/babble_noise_generate.py +113 -0
  20. neverlib-0.2.9/neverlib/tests/__init__.py +16 -0
  21. neverlib-0.2.9/neverlib/utils/README.md +29 -0
  22. neverlib-0.2.9/neverlib/utils/__init__.py +27 -0
  23. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/utils/audio_split.py +20 -20
  24. neverlib-0.2.9/neverlib/utils/checkGPU.py +95 -0
  25. neverlib-0.2.9/neverlib/utils/floder.py +115 -0
  26. neverlib-0.2.9/neverlib/utils/pcm.py +42 -0
  27. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/utils/utils.py +3 -92
  28. neverlib-0.2.9/neverlib/vad/__init__.py +33 -0
  29. {neverlib-0.2.8 → neverlib-0.2.9/neverlib.egg-info}/PKG-INFO +15 -1
  30. neverlib-0.2.9/neverlib.egg-info/SOURCES.txt +124 -0
  31. {neverlib-0.2.8 → neverlib-0.2.9}/pyproject.toml +1 -1
  32. neverlib-0.2.8/neverlib/.claude/settings.local.json +0 -9
  33. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162530.py +0 -0
  34. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162540.py +0 -2
  35. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162541.py +0 -7
  36. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162606.py +0 -7
  37. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162637.py +0 -8
  38. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162645.py +0 -8
  39. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162723.py +0 -9
  40. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162739.py +0 -9
  41. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011311.py +0 -0
  42. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011331.py +0 -75
  43. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011342.py +0 -57
  44. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011352.py +0 -57
  45. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011403.py +0 -57
  46. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011413.py +0 -57
  47. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011435.py +0 -55
  48. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827161751.py +0 -55
  49. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827161754.py +0 -55
  50. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827161833.py +0 -54
  51. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827162017.py +0 -56
  52. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827162021.py +0 -57
  53. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827162028.py +0 -57
  54. neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827162033.py +0 -55
  55. neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162738.py +0 -9
  56. neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162819.py +0 -9
  57. neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162830.py +0 -9
  58. neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162846.py +0 -9
  59. neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162851.py +0 -9
  60. neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162903.py +0 -10
  61. neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162921.py +0 -10
  62. neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162926.py +0 -10
  63. neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827163030.py +0 -10
  64. neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827163032.py +0 -10
  65. neverlib-0.2.8/neverlib/.history/Docs/vad/1_20250810032405.py +0 -0
  66. neverlib-0.2.8/neverlib/.history/Docs/vad/1_20250810032417.py +0 -39
  67. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234112.md +0 -0
  68. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234140.py +0 -9
  69. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234141.md +0 -9
  70. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234159.py +0 -12
  71. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234200.py +0 -17
  72. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234236.py +0 -17
  73. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234340.py +0 -14
  74. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234522.py +0 -18
  75. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234601.py +0 -20
  76. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234615.py +0 -22
  77. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234715.py +0 -28
  78. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234720.py +0 -27
  79. neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234903.py +0 -27
  80. neverlib-0.2.8/neverlib/.history/__init___20250805234212.py +0 -41
  81. neverlib-0.2.8/neverlib/.history/__init___20250904102635.py +0 -39
  82. neverlib-0.2.8/neverlib/.history/__init___20250904102836.py +0 -34
  83. neverlib-0.2.8/neverlib/.history/__init___20250904102838.py +0 -39
  84. neverlib-0.2.8/neverlib/.history/__init___20250904102851.py +0 -33
  85. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806010451.py +0 -125
  86. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806010750.py +0 -138
  87. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806010759.py +0 -140
  88. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806010803.py +0 -140
  89. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806010809.py +0 -140
  90. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806011108.py +0 -140
  91. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826155913.py +0 -158
  92. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164159.py +0 -159
  93. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164217.py +0 -160
  94. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164408.py +0 -161
  95. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164423.py +0 -161
  96. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164529.py +0 -161
  97. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164824.py +0 -161
  98. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164932.py +0 -162
  99. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164947.py +0 -162
  100. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826165403.py +0 -162
  101. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826165421.py +0 -162
  102. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826165509.py +0 -163
  103. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826165702.py +0 -163
  104. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826165732.py +0 -165
  105. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170041.py +0 -163
  106. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170105.py +0 -164
  107. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170154.py +0 -164
  108. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170220.py +0 -165
  109. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170221.py +0 -165
  110. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170228.py +0 -165
  111. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170231.py +0 -165
  112. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826212001.py +0 -165
  113. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220038.py +0 -165
  114. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220133.py +0 -165
  115. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220148.py +0 -165
  116. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220154.py +0 -165
  117. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220156.py +0 -165
  118. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220314.py +0 -165
  119. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220343.py +0 -184
  120. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220345.py +0 -184
  121. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220349.py +0 -184
  122. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220429.py +0 -184
  123. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220447.py +0 -184
  124. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220601.py +0 -186
  125. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220638.py +0 -186
  126. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220641.py +0 -186
  127. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220647.py +0 -186
  128. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220653.py +0 -186
  129. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220655.py +0 -186
  130. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220731.py +0 -185
  131. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220739.py +0 -185
  132. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220747.py +0 -185
  133. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220801.py +0 -186
  134. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220822.py +0 -186
  135. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220901.py +0 -186
  136. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221107.py +0 -187
  137. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221310.py +0 -188
  138. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221353.py +0 -191
  139. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221821.py +0 -191
  140. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221838.py +0 -191
  141. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221906.py +0 -191
  142. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221930.py +0 -191
  143. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221939.py +0 -191
  144. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221955.py +0 -191
  145. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222008.py +0 -197
  146. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222017.py +0 -200
  147. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222046.py +0 -203
  148. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222105.py +0 -203
  149. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222206.py +0 -203
  150. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222302.py +0 -203
  151. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222336.py +0 -203
  152. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222455.py +0 -204
  153. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222526.py +0 -204
  154. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222541.py +0 -204
  155. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222624.py +0 -202
  156. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222714.py +0 -205
  157. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222820.py +0 -205
  158. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222827.py +0 -205
  159. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222927.py +0 -232
  160. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223009.py +0 -232
  161. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223054.py +0 -232
  162. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223225.py +0 -233
  163. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223344.py +0 -236
  164. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223356.py +0 -236
  165. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223955.py +0 -242
  166. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224210.py +0 -240
  167. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224250.py +0 -242
  168. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224323.py +0 -280
  169. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224452.py +0 -263
  170. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224455.py +0 -263
  171. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224502.py +0 -263
  172. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224528.py +0 -263
  173. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224658.py +0 -263
  174. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224833.py +0 -264
  175. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225013.py +0 -269
  176. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225050.py +0 -269
  177. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225241.py +0 -268
  178. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225315.py +0 -266
  179. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225404.py +0 -266
  180. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225502.py +0 -265
  181. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225950.py +0 -267
  182. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225959.py +0 -268
  183. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826230222.py +0 -271
  184. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826230248.py +0 -270
  185. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826230638.py +0 -266
  186. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826230755.py +0 -266
  187. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826230941.py +0 -265
  188. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826231054.py +0 -266
  189. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826231117.py +0 -266
  190. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826231219.py +0 -266
  191. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826232330.py +0 -266
  192. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826232352.py +0 -266
  193. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827152748.py +0 -268
  194. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827152806.py +0 -268
  195. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827152808.py +0 -268
  196. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827152917.py +0 -283
  197. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827152929.py +0 -281
  198. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153100.py +0 -286
  199. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153102.py +0 -286
  200. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153301.py +0 -295
  201. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153331.py +0 -298
  202. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153525.py +0 -303
  203. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153533.py +0 -304
  204. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153541.py +0 -321
  205. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153805.py +0 -322
  206. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153832.py +0 -323
  207. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153836.py +0 -324
  208. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153846.py +0 -324
  209. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153859.py +0 -325
  210. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154453.py +0 -337
  211. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154513.py +0 -355
  212. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154538.py +0 -356
  213. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154541.py +0 -357
  214. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154612.py +0 -357
  215. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154657.py +0 -360
  216. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154708.py +0 -360
  217. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154728.py +0 -366
  218. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154755.py +0 -367
  219. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154800.py +0 -367
  220. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154917.py +0 -368
  221. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154928.py +0 -369
  222. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154932.py +0 -370
  223. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154947.py +0 -372
  224. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155015.py +0 -375
  225. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155106.py +0 -375
  226. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155114.py +0 -393
  227. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155207.py +0 -415
  228. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155300.py +0 -415
  229. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155321.py +0 -471
  230. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827164703.py +0 -471
  231. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827164749.py +0 -471
  232. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827165252.py +0 -472
  233. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827165334.py +0 -472
  234. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827165404.py +0 -473
  235. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827165610.py +0 -473
  236. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827165805.py +0 -473
  237. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170056.py +0 -473
  238. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170106.py +0 -472
  239. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170143.py +0 -472
  240. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170216.py +0 -472
  241. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170218.py +0 -472
  242. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170314.py +0 -472
  243. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827171500.py +0 -471
  244. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827172347.py +0 -471
  245. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827172558.py +0 -470
  246. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827172559.py +0 -470
  247. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827172801.py +0 -470
  248. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827182522.py +0 -470
  249. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827182526.py +0 -470
  250. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827182626.py +0 -470
  251. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827182715.py +0 -470
  252. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250904185444.py +0 -470
  253. neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250904185538.py +0 -445
  254. neverlib-0.2.8/neverlib/.history/dataAnalyze/__init___20250805234204.py +0 -87
  255. neverlib-0.2.8/neverlib/.history/dataAnalyze/__init___20250806204125.py +0 -14
  256. neverlib-0.2.8/neverlib/.history/dataAnalyze/__init___20250806204139.py +0 -14
  257. neverlib-0.2.8/neverlib/.history/dataAnalyze/__init___20250806204159.py +0 -14
  258. neverlib-0.2.8/neverlib/.history/data_analyze/__init___20250806204158.py +0 -14
  259. neverlib-0.2.8/neverlib/.history/data_analyze/__init___20250827163248.py +0 -14
  260. neverlib-0.2.8/neverlib/.history/filter/__init___20250820103351.py +0 -70
  261. neverlib-0.2.8/neverlib/.history/filter/__init___20250821102348.py +0 -70
  262. neverlib-0.2.8/neverlib/.history/filter/__init___20250821102405.py +0 -14
  263. neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250819213121.py +0 -36
  264. neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102241.py +0 -36
  265. neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102259.py +0 -36
  266. neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102307.py +0 -36
  267. neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102310.py +0 -36
  268. neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102318.py +0 -36
  269. neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102507.py +0 -36
  270. neverlib-0.2.8/neverlib/.history/filter/auto_eq/de_eq_20250820103848.py +0 -361
  271. neverlib-0.2.8/neverlib/.history/filter/auto_eq/de_eq_20250821102422.py +0 -360
  272. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250805234206.py +0 -75
  273. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820140732.py +0 -75
  274. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820140745.py +0 -75
  275. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820140816.py +0 -75
  276. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820140938.py +0 -77
  277. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141003.py +0 -77
  278. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141006.py +0 -77
  279. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141019.py +0 -77
  280. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141049.py +0 -77
  281. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141211.py +0 -77
  282. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141227.py +0 -77
  283. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141311.py +0 -78
  284. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141340.py +0 -78
  285. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141712.py +0 -78
  286. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141733.py +0 -78
  287. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141755.py +0 -78
  288. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821102434.py +0 -76
  289. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821102500.py +0 -76
  290. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821102502.py +0 -76
  291. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821143140.py +0 -76
  292. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821153208.py +0 -76
  293. neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821153214.py +0 -76
  294. neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820102957.py +0 -380
  295. neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113054.py +0 -380
  296. neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113150.py +0 -380
  297. neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113520.py +0 -385
  298. neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113525.py +0 -385
  299. neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250821102212.py +0 -385
  300. neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250901110521.py +0 -385
  301. neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250901110652.py +0 -385
  302. neverlib-0.2.8/neverlib/.history/filter/common_20250806002134.py +0 -37
  303. neverlib-0.2.8/neverlib/.history/filter/common_20250821120448.py +0 -49
  304. neverlib-0.2.8/neverlib/.history/filter/common_20250821120453.py +0 -49
  305. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250806001612.py +0 -160
  306. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815180659.py +0 -160
  307. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815180701.py +0 -158
  308. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181321.py +0 -154
  309. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181327.py +0 -154
  310. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181331.py +0 -154
  311. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181620.py +0 -154
  312. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181631.py +0 -154
  313. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181742.py +0 -154
  314. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181824.py +0 -153
  315. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181834.py +0 -153
  316. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181922.py +0 -153
  317. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815182011.py +0 -147
  318. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815182036.py +0 -144
  319. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815182936.py +0 -143
  320. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815182942.py +0 -143
  321. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183032.py +0 -137
  322. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183101.py +0 -144
  323. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183121.py +0 -144
  324. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183123.py +0 -143
  325. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183214.py +0 -143
  326. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183240.py +0 -143
  327. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183248.py +0 -144
  328. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183407.py +0 -142
  329. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183409.py +0 -142
  330. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183431.py +0 -142
  331. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183507.py +0 -140
  332. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183513.py +0 -139
  333. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183618.py +0 -139
  334. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183709.py +0 -140
  335. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183756.py +0 -137
  336. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183815.py +0 -128
  337. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183827.py +0 -129
  338. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183913.py +0 -117
  339. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183914.py +0 -117
  340. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815184003.py +0 -118
  341. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815184040.py +0 -118
  342. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815184049.py +0 -118
  343. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815184104.py +0 -117
  344. neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815184200.py +0 -117
  345. neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816015944.py +0 -128
  346. neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020142.py +0 -128
  347. neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020156.py +0 -128
  348. neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020554.py +0 -130
  349. neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020600.py +0 -125
  350. neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020631.py +0 -120
  351. neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020746.py +0 -118
  352. neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816013111.py +0 -0
  353. neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816013129.py +0 -121
  354. neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015430.py +0 -103
  355. neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015535.py +0 -96
  356. neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015542.py +0 -96
  357. neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015636.py +0 -97
  358. neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015658.py +0 -104
  359. neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015703.py +0 -100
  360. neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015945.py +0 -128
  361. neverlib-0.2.8/neverlib/.history/metrics/snr_20250806010538.py +0 -177
  362. neverlib-0.2.8/neverlib/.history/metrics/snr_20250806211634.py +0 -184
  363. neverlib-0.2.8/neverlib/.history/metrics/snr_20250827224201.py +0 -182
  364. neverlib-0.2.8/neverlib/.history/metrics/snr_20250827234019.py +0 -186
  365. neverlib-0.2.8/neverlib/.history/metrics/snr_20250827234028.py +0 -186
  366. neverlib-0.2.8/neverlib/.history/metrics/snr_20250827234030.py +0 -186
  367. neverlib-0.2.8/neverlib/.history/metrics/spec_20250805234209.py +0 -45
  368. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816135530.py +0 -11
  369. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816135654.py +0 -16
  370. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816135736.py +0 -68
  371. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816135904.py +0 -75
  372. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816135921.py +0 -82
  373. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140111.py +0 -82
  374. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140543.py +0 -136
  375. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140559.py +0 -172
  376. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140602.py +0 -172
  377. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140608.py +0 -172
  378. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140654.py +0 -148
  379. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140705.py +0 -144
  380. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140755.py +0 -138
  381. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140823.py +0 -170
  382. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140832.py +0 -170
  383. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140833.py +0 -170
  384. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140922.py +0 -147
  385. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816141148.py +0 -107
  386. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816141219.py +0 -123
  387. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816141732.py +0 -178
  388. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816141740.py +0 -178
  389. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816142030.py +0 -178
  390. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816142107.py +0 -135
  391. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816142126.py +0 -135
  392. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816142410.py +0 -135
  393. neverlib-0.2.8/neverlib/.history/metrics/spec_20250816142415.py +0 -136
  394. neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135156.py +0 -0
  395. neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135226.py +0 -5
  396. neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135227.py +0 -10
  397. neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135306.py +0 -15
  398. neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135442.py +0 -31
  399. neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135448.py +0 -31
  400. neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135520.py +0 -29
  401. neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135537.py +0 -63
  402. neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135653.py +0 -65
  403. neverlib-0.2.8/neverlib/.history/utils/audio_split_20250805234209.py +0 -268
  404. neverlib-0.2.8/neverlib/.history/utils/audio_split_20250904185309.py +0 -268
  405. neverlib-0.2.8/neverlib/.history/utils/utils_20250813165516.py +0 -330
  406. neverlib-0.2.8/neverlib/.history/utils/utils_20250904181341.py +0 -328
  407. neverlib-0.2.8/neverlib/.history/utils/utils_20250904185546.py +0 -352
  408. neverlib-0.2.8/neverlib/.history/utils/utils_20250904185548.py +0 -353
  409. neverlib-0.2.8/neverlib/.history/utils/utils_20250904185603.py +0 -353
  410. neverlib-0.2.8/neverlib/.history/utils/utils_20250904185636.py +0 -353
  411. neverlib-0.2.8/neverlib/.history/utils/utils_20250904185658.py +0 -358
  412. neverlib-0.2.8/neverlib/.history/utils/utils_20250904190053.py +0 -359
  413. neverlib-0.2.8/neverlib/.history/vad/PreProcess_20250805234211.py +0 -63
  414. neverlib-0.2.8/neverlib/.history/vad/PreProcess_20250809232455.py +0 -63
  415. neverlib-0.2.8/neverlib/.history/vad/PreProcess_20250816020725.py +0 -66
  416. neverlib-0.2.8/neverlib/.history/vad/VAD_Silero_20250805234211.py +0 -50
  417. neverlib-0.2.8/neverlib/.history/vad/VAD_Silero_20250809232456.py +0 -50
  418. neverlib-0.2.8/neverlib/.history/vad/VAD_WebRTC_20250805234211.py +0 -61
  419. neverlib-0.2.8/neverlib/.history/vad/VAD_WebRTC_20250809232456.py +0 -61
  420. neverlib-0.2.8/neverlib/.history/vad/VAD_funasr_20250805234211.py +0 -54
  421. neverlib-0.2.8/neverlib/.history/vad/VAD_funasr_20250809232456.py +0 -54
  422. neverlib-0.2.8/neverlib/.history/vad/VAD_vadlib_20250805234211.py +0 -70
  423. neverlib-0.2.8/neverlib/.history/vad/VAD_vadlib_20250809232455.py +0 -70
  424. neverlib-0.2.8/neverlib/.history/vad/VAD_whisper_20250805234211.py +0 -55
  425. neverlib-0.2.8/neverlib/.history/vad/VAD_whisper_20250809232456.py +0 -55
  426. neverlib-0.2.8/neverlib/.specstory/.what-is-this.md +0 -69
  427. 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 -424
  428. 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 -247
  429. neverlib-0.2.8/neverlib/.specstory/history/2025-08-26_11-54Z-oserror-missing-shared-object-file.md +0 -87
  430. 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 -296
  431. neverlib-0.2.8/neverlib/.specstory/history/2025-08-27_08-29Z-delete-python-file-command.md +0 -211
  432. 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 -357
  433. neverlib-0.2.8/neverlib/audio_aug/__init__.py +0 -82
  434. neverlib-0.2.8/neverlib/data_analyze/__init__.py +0 -69
  435. neverlib-0.2.8/neverlib/filter/__init__.py +0 -40
  436. neverlib-0.2.8/neverlib/filter/auto_eq/__init__.py +0 -55
  437. neverlib-0.2.8/neverlib/metrics/__init__.py +0 -59
  438. neverlib-0.2.8/neverlib/tests/__init__.py +0 -33
  439. neverlib-0.2.8/neverlib/utils/__init__.py +0 -71
  440. neverlib-0.2.8/neverlib/utils/checkGPU.py +0 -122
  441. neverlib-0.2.8/neverlib/vad/__init__.py +0 -71
  442. neverlib-0.2.8/neverlib.egg-info/SOURCES.txt +0 -515
  443. {neverlib-0.2.8 → neverlib-0.2.9}/CLAUDE.md +0 -0
  444. {neverlib-0.2.8 → neverlib-0.2.9}/LICENSE +0 -0
  445. {neverlib-0.2.8 → neverlib-0.2.9}/MANIFEST.in +0 -0
  446. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/audio_aug/test_volume.ipynb +0 -0
  447. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/audio_aug_test/test_snr.py +0 -0
  448. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/audio_aug_test/test_volume.ipynb +0 -0
  449. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/audio_aug_test/test_volume.py +0 -0
  450. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/filter/biquad.ipynb +0 -0
  451. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/filter/filter_family.ipynb +0 -0
  452. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/filter/highpass.ipynb +0 -0
  453. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/filter/scipy_filter_family.ipynb +0 -0
  454. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_Energy.ipynb +0 -0
  455. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_Silero.ipynb +0 -0
  456. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_WebRTC.ipynb +0 -0
  457. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_funasr.ipynb +0 -0
  458. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_rvADfast.ipynb +0 -0
  459. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_statistics.ipynb +0 -0
  460. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_tenVAD.ipynb +0 -0
  461. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_vadlib.ipynb +0 -0
  462. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_whisper.ipynb +0 -0
  463. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/QA/gen_init.py +0 -0
  464. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/QA/get_fun.py +0 -0
  465. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/QA/html2markdown.py +0 -0
  466. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/__init__.py +0 -0
  467. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/HarmonicDistortion.py +0 -0
  468. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/audio_aug.py +0 -0
  469. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/clip_aug.py +0 -0
  470. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/coder_aug.py +0 -0
  471. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/coder_aug2.py +0 -0
  472. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/loss_packet_aug.py +0 -0
  473. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/000_short_enhance.wav +0 -0
  474. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/3956_speech.wav +0 -0
  475. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/3956_sweep.wav +0 -0
  476. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/vad_example.wav +0 -0
  477. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/white.wav +0 -0
  478. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/white_EQ.wav +0 -0
  479. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/white_matched.wav +0 -0
  480. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/README.md +0 -0
  481. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/dataset_analyzer.py +0 -0
  482. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/quality_metrics.py +0 -0
  483. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/rms_distrubution.py +0 -0
  484. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/spectral_analysis.py +0 -0
  485. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/statistics.py +0 -0
  486. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/temporal_features.py +0 -0
  487. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/visualization.py +0 -0
  488. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/README.md +0 -0
  489. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/auto_eq/README.md +0 -0
  490. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/auto_eq/de_eq.py +0 -0
  491. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/auto_eq/freq_eq.py +0 -0
  492. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/auto_eq/ga_eq_advanced.py +0 -0
  493. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/auto_eq/ga_eq_basic.py +0 -0
  494. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/biquad.py +0 -0
  495. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/common.py +0 -0
  496. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/DNSMOS/bak_ovr.onnx +0 -0
  497. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/DNSMOS/model_v8.onnx +0 -0
  498. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/DNSMOS/sig.onnx +0 -0
  499. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/DNSMOS/sig_bak_ovr.onnx +0 -0
  500. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/dnsmos.py +0 -0
  501. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/lpc_lsp.py +0 -0
  502. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pDNSMOS/sig_bak_ovr.onnx +0 -0
  503. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/dsp.c +0 -0
  504. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/dsp.h +0 -0
  505. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesq.h +0 -0
  506. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesqdsp.c +0 -0
  507. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesqio.c +0 -0
  508. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesqmain.c +0 -0
  509. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesqmod.c +0 -0
  510. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesqpar.h +0 -0
  511. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/snr.py +0 -0
  512. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/spec.py +0 -0
  513. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/test_pesq.py +0 -0
  514. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/time.py +0 -0
  515. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/tests/test_imports.py +0 -0
  516. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/tests/test_preprocess.py +0 -0
  517. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/tests/test_vad.py +0 -0
  518. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/utils/lazy_expose.py +0 -0
  519. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/utils/lazy_module.py +0 -0
  520. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/utils/message.py +0 -0
  521. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/PreProcess.py +0 -0
  522. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/README.md +0 -0
  523. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_Energy.py +0 -0
  524. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_Silero.py +0 -0
  525. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_WebRTC.py +0 -0
  526. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_funasr.py +0 -0
  527. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_statistics.py +0 -0
  528. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_vadlib.py +0 -0
  529. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_whisper.py +0 -0
  530. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/class_get_speech.py +0 -0
  531. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/class_vad.py +0 -0
  532. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/img.png +0 -0
  533. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/utils.py +0 -0
  534. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib.egg-info/dependency_links.txt +0 -0
  535. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib.egg-info/requires.txt +0 -0
  536. {neverlib-0.2.8 → neverlib-0.2.9}/neverlib.egg-info/top_level.txt +0 -0
  537. {neverlib-0.2.8 → neverlib-0.2.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: neverlib
3
- Version: 0.2.8
3
+ Version: 0.2.9
4
4
  Summary: A successful sign for python setup
5
5
  Author-email: "Never.Ling" <1786088386@qq.com>
6
6
  License: MIT
@@ -47,6 +47,14 @@ Requires-Dist: neverlib[vad]; extra == "all"
47
47
  Requires-Dist: neverlib[gpu]; extra == "all"
48
48
  Dynamic: license-file
49
49
 
50
+ <!--
51
+ * @Author: never.ling never.ling@anker-in.com
52
+ * @Date: 2025-11-04 17:10:57
53
+ * @LastEditors: never.ling never.ling@anker-in.com
54
+ * @LastEditTime: 2025-12-15 11:47:03
55
+ * @FilePath: /neverlib/README.md
56
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
57
+ -->
50
58
  # NeverLib
51
59
 
52
60
  一个用于音频处理和VAD(语音活动检测)的Python工具库。
@@ -113,6 +121,12 @@ from neverlib import utils
113
121
  from neverlib.message import seed_QQEmail
114
122
  ```
115
123
 
124
+ ## TODO List
125
+ - [ ] 客观指标添加 [DNSMOSPro ](https://github.com/fcumlin/DNSMOSPro)
126
+ - [ ] github界面的自我介绍
127
+ - [ ] https://github.com/nathanhaigh/parallel-rsync
128
+
129
+
116
130
  ## 许可证
117
131
 
118
132
  本项目采用MIT许可证。详情请参阅LICENSE文件。
@@ -1,3 +1,11 @@
1
+ <!--
2
+ * @Author: never.ling never.ling@anker-in.com
3
+ * @Date: 2025-11-04 17:10:57
4
+ * @LastEditors: never.ling never.ling@anker-in.com
5
+ * @LastEditTime: 2025-12-15 11:47:03
6
+ * @FilePath: /neverlib/README.md
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ -->
1
9
  # NeverLib
2
10
 
3
11
  一个用于音频处理和VAD(语音活动检测)的Python工具库。
@@ -64,6 +72,12 @@ from neverlib import utils
64
72
  from neverlib.message import seed_QQEmail
65
73
  ```
66
74
 
75
+ ## TODO List
76
+ - [ ] 客观指标添加 [DNSMOSPro ](https://github.com/fcumlin/DNSMOSPro)
77
+ - [ ] github界面的自我介绍
78
+ - [ ] https://github.com/nathanhaigh/parallel-rsync
79
+
80
+
67
81
  ## 许可证
68
82
 
69
83
  本项目采用MIT许可证。详情请参阅LICENSE文件。
@@ -0,0 +1,119 @@
1
+ """VPU 冲击声检测 + 可视化(轻量版)。"""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pathlib import Path
6
+ from typing import List, Tuple
7
+
8
+ import matplotlib.pyplot as plt
9
+ import numpy as np
10
+ import soundfile as sf
11
+
12
+ # 基本参数,可按需修改
13
+ AUDIO_PATH = Path(__file__).resolve().parent / "out.wav"
14
+ CHANNEL_INDEX = 4
15
+ DC_WINDOW_MS = 40.0
16
+ SHORT_MS = 6.0
17
+ LONG_MS = 60.0
18
+ RATIO_THRESHOLD = 3.0
19
+ MIN_DURATION_MS = 8.0
20
+ MIN_GAP_MS = 35.0
21
+
22
+
23
+ def moving_average(x: np.ndarray, window: int) -> np.ndarray:
24
+ if window <= 1:
25
+ return x
26
+ kernel = np.ones(window, dtype=np.float64) / window
27
+ return np.convolve(x, kernel, mode="same")
28
+
29
+
30
+ def preprocess(signal: np.ndarray, sr: int) -> np.ndarray:
31
+ dc_window = max(int(sr * DC_WINDOW_MS / 1000.0), 1)
32
+ return signal - moving_average(signal, dc_window)
33
+
34
+
35
+ def ratio_score(signal: np.ndarray, sr: int) -> np.ndarray:
36
+ short = max(int(sr * SHORT_MS / 1000.0), 1)
37
+ long = max(int(sr * LONG_MS / 1000.0), 1)
38
+ short_env = moving_average(np.abs(signal), short)
39
+ long_env = moving_average(np.abs(signal), long)
40
+ return short_env / np.maximum(long_env, 1e-6)
41
+
42
+
43
+ def detect_events(mask: np.ndarray, sr: int) -> List[Tuple[float, float]]:
44
+ min_samples = max(int(sr * MIN_DURATION_MS / 1000.0), 1)
45
+ gap_samples = max(int(sr * MIN_GAP_MS / 1000.0), 1)
46
+
47
+ events: List[Tuple[int, int]] = []
48
+ start = -1
49
+ for idx, active in enumerate(mask):
50
+ if active and start < 0:
51
+ start = idx
52
+ elif not active and start >= 0:
53
+ if idx - start >= min_samples:
54
+ events = _append_or_merge(events, start, idx, gap_samples)
55
+ start = -1
56
+
57
+ if start >= 0 and len(mask) - start >= min_samples:
58
+ events = _append_or_merge(events, start, len(mask), gap_samples)
59
+
60
+ return [(s / sr, e / sr) for s, e in events]
61
+
62
+
63
+ def _append_or_merge(events: List[Tuple[int, int]], start: int, end: int, gap: int) -> List[Tuple[int, int]]:
64
+ if events and start - events[-1][1] <= gap:
65
+ previous_start, _ = events[-1]
66
+ events[-1] = (previous_start, end)
67
+ else:
68
+ events.append((start, end))
69
+ return events
70
+
71
+
72
+ def plot_detection(time: np.ndarray, signal: np.ndarray, score: np.ndarray, events: List[Tuple[float, float]]) -> None:
73
+ fig, axes = plt.subplots(2, 1, figsize=(12, 6), sharex=True)
74
+
75
+ axes[0].plot(time, signal, color="steelblue", linewidth=0.8)
76
+ axes[0].set_ylabel("Amplitude")
77
+ axes[0].set_title("VPU 信号与冲击事件")
78
+
79
+ axes[1].plot(time, score, color="crimson", linewidth=0.8)
80
+ axes[1].axhline(RATIO_THRESHOLD, color="gray", linestyle="--", linewidth=0.8, label="阈值")
81
+ axes[1].set_ylabel("短/长包络比")
82
+ axes[1].set_xlabel("时间 (s)")
83
+ axes[1].legend(loc="upper right")
84
+
85
+ for axis in axes:
86
+ for start, end in events:
87
+ axis.axvspan(start, end, color="lime", alpha=0.25)
88
+ axis.grid(alpha=0.2)
89
+
90
+ fig.tight_layout()
91
+ plt.savefig('./impact_noise_rejection.png')
92
+
93
+
94
+ def main() -> None:
95
+ if not AUDIO_PATH.exists():
96
+ raise FileNotFoundError(f"找不到音频文件: {AUDIO_PATH}")
97
+
98
+ data, sr = sf.read(AUDIO_PATH, always_2d=True)
99
+ if CHANNEL_INDEX >= data.shape[1]:
100
+ raise ValueError(f"音频仅有 {data.shape[1]} 通道,无法访问 VPU 通道 {CHANNEL_INDEX}")
101
+
102
+ signal = data[:, CHANNEL_INDEX].astype(np.float64)
103
+ signal = preprocess(signal, sr)
104
+ score = ratio_score(signal, sr)
105
+ events = detect_events(score > RATIO_THRESHOLD, sr)
106
+
107
+ if events:
108
+ print("检测到的冲击事件:")
109
+ for start, end in events:
110
+ print(f" 起始 {start:.3f}s 结束 {end:.3f}s 持续 {(end-start)*1000:.1f}ms")
111
+ else:
112
+ print("未检测到明显的冲击事件。")
113
+
114
+ time_axis = np.arange(len(signal)) / sr
115
+ plot_detection(time_axis, signal, score, events)
116
+
117
+
118
+ if __name__ == "__main__":
119
+ main()
Binary file
Binary file
@@ -0,0 +1,3 @@
1
+ https://github.com/iver56/audiomentations
2
+ https://github.com/gfdb/wav2aug
3
+ https://github.com/documentation-ai/DocumentationAI-Docs
@@ -0,0 +1,28 @@
1
+ # This file is auto-generated. Do NOT edit manually.
2
+ # Generated by neverlib.QA.gen_init
3
+ from lazy_loader import attach
4
+
5
+ __getattr__, __dir__, __all__ = attach(
6
+ __name__,
7
+ submodules=[
8
+ "HarmonicDistortion",
9
+ "TFDrop",
10
+ "TFMask",
11
+ "audio_aug",
12
+ "clip_aug",
13
+ "coder_aug",
14
+ "coder_aug2",
15
+ "loss_packet_aug",
16
+ "quant_aug",
17
+ ],
18
+ submod_attrs={
19
+ "HarmonicDistortion": ['apply_harmonic_distortion', 'apply_pedalboard_distortion'],
20
+ "TFMask": ['FreqMask', 'TimeMask'],
21
+ "audio_aug": ['add_reverb', 'get_snr_use_vad', 'limiter', 'measure_loudness', 'snr_aug_Interpolation', 'snr_aug_changeClean', 'snr_aug_changeNoise', 'snr_aug_vad_Interpolation', 'snr_diff_changeClean', 'snr_diff_changeNoise', 'volume_aug', 'volume_aug_dbrms', 'volume_aug_linmax', 'volume_aug_lufs', 'volume_convert', 'volume_norm'],
22
+ "clip_aug": ['clipping_aug'],
23
+ "coder_aug": ['aac_aug_save', 'amr_nb_aug', 'amr_wb_aug', 'flac_aug', 'flac_encode_save', 'mp3_aug', 'opus_aug_save', 'vorbis_aug'],
24
+ "coder_aug2": ['apply_codec_distortion', 'check_codec_available'],
25
+ "loss_packet_aug": ['simulate_packet_loss_vectorized'],
26
+ "quant_aug": ['apply_mulaw_quantization', 'apply_uniform_quantization'],
27
+ }
28
+ )
@@ -0,0 +1,25 @@
1
+ # This file is auto-generated. Do NOT edit manually.
2
+ # Generated by neverlib.QA.gen_init
3
+ from lazy_loader import attach
4
+
5
+ __getattr__, __dir__, __all__ = attach(
6
+ __name__,
7
+ submodules=[
8
+ "dataset_analyzer",
9
+ "quality_metrics",
10
+ "rms_distrubution",
11
+ "spectral_analysis",
12
+ "statistics",
13
+ "temporal_features",
14
+ "visualization",
15
+ ],
16
+ submod_attrs={
17
+ "dataset_analyzer": ['AudioFileInfo', 'DatasetAnalyzer', 'analyze_audio_dataset'],
18
+ "quality_metrics": ['QualityAnalyzer', 'audio_health_check', 'comprehensive_quality_assessment'],
19
+ "rms_distrubution": ['get_rms_vad'],
20
+ "spectral_analysis": ['SpectralAnalyzer', 'compute_spectral_features', 'frequency_domain_stats'],
21
+ "statistics": ['AudioStatistics', 'compare_datasets', 'quick_audio_stats'],
22
+ "temporal_features": ['dB', 'dc_offset', 'max_rms_amplitude', 'mean_rms_amplitude', 'min_rms_amplitude', 'peak_amplitude', 'rms_amplitude', 'short_time_energy', 'zero_crossing_rate'],
23
+ "visualization": ['AudioVisualizer', 'create_analysis_dashboard', 'plot_dataset_overview'],
24
+ }
25
+ )
@@ -0,0 +1,17 @@
1
+ # This file is auto-generated. Do NOT edit manually.
2
+ # Generated by neverlib.QA.gen_init
3
+ from lazy_loader import attach
4
+
5
+ __getattr__, __dir__, __all__ = attach(
6
+ __name__,
7
+ submodules=[
8
+ "biquad",
9
+ "common",
10
+ "core",
11
+ ],
12
+ submod_attrs={
13
+ "biquad": ['BiquadFilter'],
14
+ "common": ['HPFilter', 'HPFilter_torch', 'LPFilter'],
15
+ "core": ['EQFilter', 'EQ_test', 'eq_process', 'eq_process_test'],
16
+ }
17
+ )
@@ -0,0 +1,19 @@
1
+ # This file is auto-generated. Do NOT edit manually.
2
+ # Generated by neverlib.QA.gen_init
3
+ from lazy_loader import attach
4
+
5
+ __getattr__, __dir__, __all__ = attach(
6
+ __name__,
7
+ submodules=[
8
+ "de_eq",
9
+ "freq_eq",
10
+ "ga_eq_advanced",
11
+ "ga_eq_basic",
12
+ ],
13
+ submod_attrs={
14
+ "de_eq": ['get_filter_function', 'match_frequency_response', 'plot_spectra_comparison'],
15
+ "freq_eq": ['get_freq_eq'],
16
+ "ga_eq_advanced": ['EQConfig', 'EQOptimizer', 'load_config_from_yaml', 'main'],
17
+ "ga_eq_basic": ['custom_mutate', 'evaluate_individual', 'generate_active_gene', 'generate_dbgain_gene', 'generate_fc_gene', 'generate_q_gene', 'generate_type_gene', 'get_combined_eq_response_db', 'get_magnitude_spectrum_db', 'get_single_filter_freq_response_db_from_coeffs', 'individual_creator', 'main_ga'],
18
+ }
19
+ )
@@ -322,9 +322,8 @@ def EQ_test():
322
322
  from scipy import signal
323
323
 
324
324
  fs = 16000
325
-
326
- # b, a = LowshelfFilter(1500, 15, Q=0.5)
327
- b, a = PeakingFilter(1500, 5, Q=0.5)
325
+ eq = EQFilter(fs)
326
+ b, a = eq.LowshelfFilter(4000, 6, Q=0.7)
328
327
  print(b)
329
328
  print(a)
330
329
 
@@ -335,5 +334,9 @@ def EQ_test():
335
334
  plt.ylabel('Amplitude [dB]')
336
335
  plt.grid(which='both', axis='both') # 显示网格
337
336
  # 画红色的垂直线, 标记截止频率
338
- plt.xscale('log') # x轴对数化
339
- plt.show()
337
+ # plt.xscale('log') # x轴对数化
338
+ plt.savefig('./lowshelf_freq_response.png')
339
+
340
+
341
+ if __name__ == "__main__":
342
+ EQ_test()
@@ -0,0 +1,35 @@
1
+ https://github.com/ftshijt/speech_evaluation?tab=readme-ov-file
2
+ https://github.com/Amir-Ivry/MAPSS-measures
3
+ https://github.com/espnet/espnet/blob/f517b63fe5defb865e2067b11c2dfc516150868d/utils/eval-source-separation.py#L361
4
+
5
+
6
+
7
+
8
+
9
+ F0 Correlation
10
+
11
+ F0 Root Mean Square Error
12
+ sdr
13
+ isr
14
+ sir
15
+ sar
16
+ perm
17
+
18
+
19
+ Convolutional scale-invariant signal-to-distortion ratio (CI-SDR) [x]
20
+ Scale-invariant signal-to-noise ratio (SI-SNR) [x]
21
+ Speech BERT Score
22
+ Discrete Speech BLEU Score [x]
23
+ Discrete Speech Token Edit Distance
24
+
25
+
26
+
27
+
28
+ STOI
29
+ ESTOI
30
+ PESQ
31
+
32
+
33
+ 音频特征:
34
+ https://github.com/libAudioFlux/audioFlux
35
+ https://github.com/csteinmetz1/pyloudnorm
@@ -0,0 +1,23 @@
1
+ # This file is auto-generated. Do NOT edit manually.
2
+ # Generated by neverlib.QA.gen_init
3
+ from lazy_loader import attach
4
+
5
+ __getattr__, __dir__, __all__ = attach(
6
+ __name__,
7
+ submodules=[
8
+ "dnsmos",
9
+ "lpc_lsp",
10
+ "snr",
11
+ "spec",
12
+ "test_pesq",
13
+ "time",
14
+ ],
15
+ submod_attrs={
16
+ "dnsmos": ['ComputeScore'],
17
+ "lpc_lsp": ['framing', 'lpc_lsp_distance', 'lpc_to_lsp'],
18
+ "snr": ['get_snr', 'get_snr_from_noisy', 'psnr', 'seg_snr', 'si_sdr'],
19
+ "spec": ['lsd', 'mcd', 'sd'],
20
+ "test_pesq": ['mos2pesq', 'pesq2mos'],
21
+ "time": ['dc_offset', 'mean_rms_amplitude', 'peak_amplitude', 'rms_amplitude'],
22
+ }
23
+ )
@@ -0,0 +1,113 @@
1
+ # -*- coding:utf-8 -*-
2
+ # Author:凌逆战 | Never
3
+ # Date: 2024/6/14
4
+ """
5
+ babble噪声生成
6
+ """
7
+ import os
8
+ import torch
9
+ import random
10
+ import numpy as np
11
+ import soundfile as sf
12
+ import pickle
13
+
14
+ from neverlib.utils import get_path_list
15
+ from vad import EnergyVAD
16
+ from utils.audio_aug import volume_aug, add_reverb
17
+ from joblib import Parallel, delayed
18
+ from multiprocessing import Pool
19
+
20
+ vad = EnergyVAD(
21
+ sample_rate=16000,
22
+ frame_length=25, # in milliseconds
23
+ frame_shift=20, # in milliseconds
24
+ energy_threshold=0.05, # you may need to adjust this value
25
+ pre_emphasis=0.95,
26
+ ) # default values are used here
27
+
28
+
29
+ def get_one_babble(speech_path_list, rir_path_list):
30
+ sub_len = 0
31
+ sub_list = []
32
+ while sub_len < sentence_len:
33
+ speech_path = random.choice(speech_path_list)
34
+ rir_path = random.choice(rir_path_list)
35
+ # 加rir
36
+ with open(rir_path, 'rb') as f:
37
+ # arrayCoor (2,3) (num_mic, 3(x,y,z))
38
+ # sPos (4,3) (num_source, 3(x,y,z))
39
+ [arrayCoor, sPos, sAziPth, rir, L, rt, c, mtype, n, fs] = pickle.load(f)
40
+ rir = np.array(rir) # (souece, mic, T) (4, 3, 2668)
41
+ rir_idx = np.random.randint(0, rir.shape[0]) # 随机选择一个source
42
+ sPos = sPos[rir_idx] # (3,) (x,y,z)
43
+ DistMic2Source_1 = np.sqrt(np.sum((arrayCoor[0] - sPos) ** 2))
44
+ DistMic2Source_2 = np.sqrt(np.sum((arrayCoor[1] - sPos) ** 2))
45
+ if DistMic2Source_1 < 2 or DistMic2Source_2 < 2:
46
+ continue
47
+ rir = rir[rir_idx]
48
+
49
+ wav, _ = sf.read(speech_path, dtype='float32', always_2d=True)
50
+ assert wav.shape[-1] == 1, f"音频应该为单通道"
51
+ if len(wav) > sentence_len:
52
+ idx = random.randint(0, len(wav) - sentence_len)
53
+ wav = wav[idx:idx + sentence_len]
54
+
55
+ wav = wav / np.abs(wav).max() # 归一化
56
+ wav = vad.apply_vad(wav.T).T
57
+
58
+ wav = add_reverb(wav, rir, add_rir_ratio=1) # 双麦wav
59
+ # 音量增强
60
+ rms = np.sqrt(np.mean(wav ** 2))
61
+ wav *= random.uniform(0.5, 1.0) / rms
62
+
63
+ sub_len += len(wav)
64
+ sub_list.append(wav)
65
+
66
+ sub_babble = np.concatenate(sub_list, axis=0)
67
+ if sub_len >= sentence_len:
68
+ sub_babble = sub_babble[:sentence_len]
69
+ return sub_babble
70
+
71
+
72
+ def babble_noise_generate(i, speech_path_list, rir_path_list):
73
+ source_num = random.randint(15, 25)
74
+ babble_noise = np.zeros((sentence_len, 2))
75
+ for _ in range(source_num):
76
+ sub_babble = get_one_babble(speech_path_list, rir_path_list)
77
+ babble_noise += sub_babble
78
+
79
+ babble_path = os.path.join(target_dir, f"babble_noise_{i}.wav")
80
+ print(babble_path)
81
+ babble_noise = babble_noise / np.max(np.abs(babble_noise)) * 0.5
82
+ sf.write(babble_path, babble_noise, sr)
83
+
84
+
85
+ if __name__ == "__main__":
86
+ speech_dir = "/data/never/kws_data/BigDataset/speech"
87
+ rir_dir = "/data/never/RIR/2mic_Line_r50mm_fs16k_4source_t60mix08_maxdist8m_2w"
88
+ target_dir = "/data/never/SE_dataset/babble_noise10"
89
+ # if os.path.exists(target_dir):
90
+ # os.system(f"rm -rf {target_dir}")
91
+ # os.makedirs(target_dir, exist_ok=True)
92
+ # else:
93
+ # os.makedirs(target_dir, exist_ok=True)
94
+ speech_path_list = get_path_list(speech_dir, "*.wav")
95
+ rir_path_list = get_path_list(rir_dir, "*.rir")
96
+
97
+ sentence_num = 20000
98
+ sr = 16000
99
+ volume_range = [0.5, 1.0]
100
+ sentence_len = sr * 10
101
+ # for i in range(10):
102
+ # babble_noise_generate(i, speech_path_list, rir_path_list)
103
+
104
+ # 多核并行处理
105
+ # Parallel(n_jobs=-1)(delayed(babble_noise_generate)(i, speech_path_list, rir_path_list) for i in range(sentence_num))
106
+
107
+ pool = Pool(32) # 创建进程池, 一定要放在 事件函数之后, 不然会保错
108
+
109
+ for i in range(sentence_num):
110
+ r = pool.apply_async(func=babble_noise_generate, args=(i, speech_path_list, rir_path_list,))
111
+
112
+ pool.close() # 关闭进程池
113
+ pool.join() # 回收进程池
@@ -0,0 +1,16 @@
1
+ # This file is auto-generated. Do NOT edit manually.
2
+ # Generated by neverlib.QA.gen_init
3
+ from lazy_loader import attach
4
+
5
+ __getattr__, __dir__, __all__ = attach(
6
+ __name__,
7
+ submodules=[
8
+ "test_imports",
9
+ "test_preprocess",
10
+ "test_vad",
11
+ ],
12
+ submod_attrs={
13
+ "test_preprocess": ['test_NS_shape', 'test_pre_emphasis'],
14
+ "test_vad": ['test_vad2nad'],
15
+ }
16
+ )
@@ -0,0 +1,29 @@
1
+ prsync
2
+ 来源:https://github.com/nathanhaigh/parallel-rsync
3
+ 用法
4
+ 如果您的命令如下所示:rsync
5
+
6
+ ```bash
7
+ rsync \
8
+ --times --recursive --progress \
9
+ --exclude "raw_reads" --exclude ".snakemake" \
10
+ user@example.com:/my_remote_dir/ /my_local_dir/
11
+ ```
12
+ 只需替换此脚本的可执行文件:rsync
13
+ ```bash
14
+ ./prsync \
15
+ --times --recursive --progress \
16
+ --exclude "raw_reads" --exclude ".snakemake" \
17
+ user@example.com:/my_remote_dir/ /my_local_dir/
18
+ ```
19
+
20
+ 并行作业数
21
+ 默认情况下,脚本将为计算机上的每个处理器使用 1 个并行作业。 这是由确定的,如果失败,我们将回退到并行作业来传输文件。
22
+ 可以通过使用作为脚本的第一个命令行参数来覆盖此行为:```nproc 10 --parallel```
23
+ ```bash
24
+ ./prsync \
25
+ --parallel=20 \
26
+ --times --recursive --progress \
27
+ --exclude "raw_reads" --exclude ".snakemake" \
28
+ user@example.com:/my_remote_dir/ /my_local_dir/
29
+ ```
@@ -0,0 +1,27 @@
1
+ # This file is auto-generated. Do NOT edit manually.
2
+ # Generated by neverlib.QA.gen_init
3
+ from lazy_loader import attach
4
+
5
+ __getattr__, __dir__, __all__ = attach(
6
+ __name__,
7
+ submodules=[
8
+ "audio_split",
9
+ "checkGPU",
10
+ "floder",
11
+ "lazy_expose",
12
+ "lazy_module",
13
+ "message",
14
+ "pcm",
15
+ "utils",
16
+ ],
17
+ submod_attrs={
18
+ "audio_split": ['audio_split_VADfunasr', 'audio_split_VADsilero', 'audio_split_ffmpeg', 'audio_split_np', 'audio_split_pydub', 'audio_split_random', 'audio_split_sox'],
19
+ "checkGPU": ['get_gpu_utilization', 'get_gpu_utilization2', 'monitor_gpu_utilization'],
20
+ "floder": ['change_path', 'del_empty_folders', 'get_leaf_folders', 'rename_files_and_folders'],
21
+ "lazy_expose": ['attach_and_expose_all'],
22
+ "lazy_module": ['LazyModule'],
23
+ "message": ['send_QQEmail', 'send_QQEmail_with_images'],
24
+ "pcm": ['pcm2wav', 'read_pcm', 'wav2pcm'],
25
+ "utils": ['DatasetSubfloderSplit', 'TrainValSplit', 'TrainValTestSplit', 'get_audio_segments', 'get_file_time', 'get_path_list', 'save_weight_histogram'],
26
+ }
27
+ )