neverlib 0.2.6__py3-none-any.whl → 0.2.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. neverlib/.claude/settings.local.json +9 -0
  2. neverlib/Docs/audio_aug/test_volume.ipynb +416 -0
  3. neverlib/Docs/audio_aug_test/test_volume.ipynb +289 -0
  4. neverlib/Docs/filter/biquad.ipynb +129 -0
  5. neverlib/Docs/filter/filter_family.ipynb +450 -0
  6. neverlib/Docs/filter/highpass.ipynb +139 -0
  7. neverlib/Docs/filter/scipy_filter_family.ipynb +110 -0
  8. neverlib/Docs/vad/VAD_Energy.ipynb +167 -0
  9. neverlib/Docs/vad/VAD_Silero.ipynb +325 -0
  10. neverlib/Docs/vad/VAD_WebRTC.ipynb +189 -0
  11. neverlib/Docs/vad/VAD_funasr.ipynb +192 -0
  12. neverlib/Docs/vad/VAD_rvADfast.ipynb +162 -0
  13. neverlib/Docs/vad/VAD_statistics.ipynb +532 -0
  14. neverlib/Docs/vad/VAD_tenVAD.ipynb +292 -0
  15. neverlib/Docs/vad/VAD_vadlib.ipynb +168 -0
  16. neverlib/Docs/vad/VAD_whisper.ipynb +404 -0
  17. neverlib/QA/gen_init.py +117 -0
  18. neverlib/QA/get_fun.py +19 -0
  19. neverlib/__init__.py +21 -4
  20. neverlib/audio_aug/HarmonicDistortion.py +19 -13
  21. neverlib/audio_aug/__init__.py +30 -12
  22. neverlib/audio_aug/audio_aug.py +19 -14
  23. neverlib/audio_aug/clip_aug.py +15 -18
  24. neverlib/audio_aug/coder_aug.py +44 -24
  25. neverlib/audio_aug/coder_aug2.py +54 -37
  26. neverlib/audio_aug/loss_packet_aug.py +7 -7
  27. neverlib/audio_aug/quant_aug.py +19 -17
  28. neverlib/data/000_short_enhance.wav +0 -0
  29. neverlib/data/3956_speech.wav +0 -0
  30. neverlib/data/3956_sweep.wav +0 -0
  31. neverlib/data/vad_example.wav +0 -0
  32. neverlib/data/white.wav +0 -0
  33. neverlib/data/white_EQ.wav +0 -0
  34. neverlib/data/white_matched.wav +0 -0
  35. neverlib/data_analyze/__init__.py +25 -20
  36. neverlib/data_analyze/dataset_analyzer.py +109 -114
  37. neverlib/data_analyze/quality_metrics.py +87 -89
  38. neverlib/data_analyze/rms_distrubution.py +23 -42
  39. neverlib/data_analyze/spectral_analysis.py +43 -46
  40. neverlib/data_analyze/statistics.py +76 -76
  41. neverlib/data_analyze/temporal_features.py +15 -6
  42. neverlib/data_analyze/visualization.py +208 -144
  43. neverlib/filter/__init__.py +17 -20
  44. neverlib/filter/auto_eq/__init__.py +18 -35
  45. neverlib/filter/auto_eq/de_eq.py +0 -2
  46. neverlib/filter/common.py +24 -5
  47. neverlib/metrics/DNSMOS/bak_ovr.onnx +0 -0
  48. neverlib/metrics/DNSMOS/model_v8.onnx +0 -0
  49. neverlib/metrics/DNSMOS/sig.onnx +0 -0
  50. neverlib/metrics/DNSMOS/sig_bak_ovr.onnx +0 -0
  51. neverlib/metrics/__init__.py +23 -0
  52. neverlib/metrics/dnsmos.py +4 -15
  53. neverlib/metrics/pDNSMOS/sig_bak_ovr.onnx +0 -0
  54. neverlib/metrics/pesq_c/PESQ +0 -0
  55. neverlib/metrics/pesq_c/dsp.c +553 -0
  56. neverlib/metrics/pesq_c/dsp.h +138 -0
  57. neverlib/metrics/pesq_c/pesq.h +294 -0
  58. neverlib/metrics/pesq_c/pesqdsp.c +1047 -0
  59. neverlib/metrics/pesq_c/pesqio.c +392 -0
  60. neverlib/metrics/pesq_c/pesqmain.c +610 -0
  61. neverlib/metrics/pesq_c/pesqmod.c +1417 -0
  62. neverlib/metrics/pesq_c/pesqpar.h +297 -0
  63. neverlib/metrics/snr.py +5 -1
  64. neverlib/metrics/spec.py +31 -21
  65. neverlib/metrics/test_pesq.py +0 -4
  66. neverlib/tests/test_imports.py +17 -0
  67. neverlib/utils/__init__.py +26 -15
  68. neverlib/utils/audio_split.py +5 -1
  69. neverlib/utils/checkGPU.py +17 -9
  70. neverlib/utils/lazy_expose.py +29 -0
  71. neverlib/utils/utils.py +40 -12
  72. neverlib/vad/__init__.py +33 -25
  73. neverlib/vad/class_get_speech.py +1 -1
  74. neverlib/vad/class_vad.py +3 -3
  75. neverlib/vad/img.png +0 -0
  76. {neverlib-0.2.6.dist-info → neverlib-0.2.7.dist-info}/METADATA +1 -1
  77. {neverlib-0.2.6.dist-info → neverlib-0.2.7.dist-info}/RECORD +80 -37
  78. {neverlib-0.2.6.dist-info → neverlib-0.2.7.dist-info}/WHEEL +0 -0
  79. {neverlib-0.2.6.dist-info → neverlib-0.2.7.dist-info}/licenses/LICENSE +0 -0
  80. {neverlib-0.2.6.dist-info → neverlib-0.2.7.dist-info}/top_level.txt +0 -0
neverlib/utils/utils.py CHANGED
@@ -12,6 +12,7 @@ from tqdm import tqdm
12
12
  from datetime import datetime
13
13
  import soundfile as sf
14
14
  import numpy as np
15
+
15
16
  EPS = np.finfo(float).eps
16
17
 
17
18
 
@@ -28,7 +29,10 @@ def get_path_list(source_path, end="*.wav", shuffle=False):
28
29
  return wav_list
29
30
 
30
31
 
31
- def get_audio_segments(sentence_len, wav_path_list, sr=16000, insert_silence=None):
32
+ def get_audio_segments(sentence_len,
33
+ wav_path_list,
34
+ sr=16000,
35
+ insert_silence=None):
32
36
  """
33
37
  从音频列表中随机拼接指定长度音频
34
38
  Args:
@@ -102,7 +106,8 @@ def TrainValSplit(dataset_dir, train_dir, val_dir, percentage=0.9):
102
106
  total_wav_num = len(wav_path_list)
103
107
  # 计算训练集和验证集的分割点
104
108
  split_idx = int(total_wav_num * percentage)
105
- train_path_list, val_path_list = wav_path_list[:split_idx], wav_path_list[split_idx:]
109
+ train_path_list, val_path_list = wav_path_list[:split_idx], wav_path_list[
110
+ split_idx:]
106
111
 
107
112
  for train_wavpath in tqdm(train_path_list, desc="Copying train wav"):
108
113
  target_path = train_wavpath.replace(dataset_dir, train_dir)
@@ -119,7 +124,11 @@ def TrainValSplit(dataset_dir, train_dir, val_dir, percentage=0.9):
119
124
  print("Done!")
120
125
 
121
126
 
122
- def TrainValTestSplit(dataset_dir, train_dir, val_dir, test_dir, percentage=[0.8, 0.1, 0.1]):
127
+ def TrainValTestSplit(dataset_dir,
128
+ train_dir,
129
+ val_dir,
130
+ test_dir,
131
+ percentage=[0.8, 0.1, 0.1]):
123
132
  """ 分割数据集为训练集、验证集和测试集
124
133
  :param dataset_dir: 源数据集地址
125
134
  :param train_dir: 训练集地址
@@ -160,7 +169,9 @@ def TrainValTestSplit(dataset_dir, train_dir, val_dir, test_dir, percentage=[0.8
160
169
  os.makedirs(os.path.split(target_path)[0])
161
170
  shutil.copy(test_wavpath, target_path)
162
171
 
163
- print(f"完成! 训练集: {len(train_path_list)}个文件, 验证集: {len(val_path_list)}个文件, 测试集: {len(test_path_list)}个文件")
172
+ print(
173
+ f"完成! 训练集: {len(train_path_list)}个文件, 验证集: {len(val_path_list)}个文件, 测试集: {len(test_path_list)}个文件"
174
+ )
164
175
 
165
176
 
166
177
  def get_leaf_folders(directory):
@@ -178,7 +189,10 @@ def del_empty_folders(path):
178
189
  return
179
190
 
180
191
  # 获取子文件夹
181
- subfolders = [os.path.join(path, d) for d in os.listdir(path) if os.path.isdir(os.path.join(path, d))]
192
+ subfolders = [
193
+ os.path.join(path, d) for d in os.listdir(path)
194
+ if os.path.isdir(os.path.join(path, d))
195
+ ]
182
196
 
183
197
  # 递归处理子文件夹
184
198
  for subfolder in subfolders:
@@ -254,7 +268,8 @@ def DatasetSubfloderSplit(source_dir, split_dirs, percentage=None):
254
268
 
255
269
  # 复制文件夹
256
270
  split_names = ['train', 'val', 'test']
257
- for folders, target_dir, split_name in zip(split_folder_lists, split_dirs, split_names[:len(split_dirs)]):
271
+ for folders, target_dir, split_name in zip(split_folder_lists, split_dirs,
272
+ split_names[:len(split_dirs)]):
258
273
  for folder in tqdm(folders, desc=f"Copying {split_name} folders"):
259
274
  target_folder = folder.replace(source_dir, target_dir)
260
275
  os.makedirs(os.path.dirname(target_folder), exist_ok=True)
@@ -262,7 +277,8 @@ def DatasetSubfloderSplit(source_dir, split_dirs, percentage=None):
262
277
 
263
278
  # 打印统计信息
264
279
  print(f"Total folders: {total_folder_num}")
265
- for folders, split_name in zip(split_folder_lists, split_names[:len(split_dirs)]):
280
+ for folders, split_name in zip(split_folder_lists,
281
+ split_names[:len(split_dirs)]):
266
282
  print(f"{split_name.capitalize()} folders: {len(folders)}")
267
283
 
268
284
 
@@ -290,7 +306,11 @@ def wav2pcm(wav_path, pcm_path):
290
306
  data.tofile(pcm_path)
291
307
 
292
308
 
293
- def save_weight_histogram(model, save_dir, mode=["params", "buffers"], ignore_name=["scale", "bias"], bins=100):
309
+ def save_weight_histogram(model,
310
+ save_dir,
311
+ mode=["params", "buffers"],
312
+ ignore_name=["scale", "bias"],
313
+ bins=100):
294
314
  """
295
315
  保存模型权重分布直方图
296
316
  Args:
@@ -322,11 +342,15 @@ def save_weight_histogram(model, save_dir, mode=["params", "buffers"], ignore_na
322
342
  plt.ylabel("count")
323
343
  plt.grid(alpha=0.5)
324
344
  # 在右上角添加统计信息
325
- plt.text(1, 1, f"max: {param_max:.2f}\n \
345
+ plt.text(1,
346
+ 1,
347
+ f"max: {param_max:.2f}\n \
326
348
  min: {param_min:.2f}\n \
327
349
  mean: {param_mean:.2f}\n \
328
350
  std: {param_std:.2f}",
329
- ha='right', va='top', transform=plt.gca().transAxes)
351
+ ha='right',
352
+ va='top',
353
+ transform=plt.gca().transAxes)
330
354
  plt.hist(param, bins=bins)
331
355
  plt.savefig(os.path.join(save_dir, "param", f"{name}.png"))
332
356
  plt.close()
@@ -349,11 +373,15 @@ def save_weight_histogram(model, save_dir, mode=["params", "buffers"], ignore_na
349
373
  plt.ylabel("count")
350
374
  plt.grid(alpha=0.5)
351
375
  # 在右上角添加统计信息
352
- plt.text(1, 1, f"max: {buffer_max:.2f}\n \
376
+ plt.text(1,
377
+ 1,
378
+ f"max: {buffer_max:.2f}\n \
353
379
  min: {buffer_min:.2f}\n \
354
380
  mean: {buffer_mean:.2f}\n \
355
381
  std: {buffer_std:.2f}",
356
- ha='right', va='top', transform=plt.gca().transAxes)
382
+ ha='right',
383
+ va='top',
384
+ transform=plt.gca().transAxes)
357
385
  plt.hist(buffer, bins=bins)
358
386
  plt.savefig(os.path.join(save_dir, "buffer", f"{name}.png"))
359
387
  plt.close()
neverlib/vad/__init__.py CHANGED
@@ -1,25 +1,33 @@
1
- # -*- coding:utf-8 -*-
2
- # Author:凌逆战 | Never
3
- # Date: 2024/5/17
4
- """
5
- 节省路径
6
- from neverlib.vad import EnergyVad_C
7
- 如果没有用户必须完整路径
8
- from neverlib.vad.VAD_Energy import EnergyVad_C
9
- """
10
- from lazy_loader import attach
11
-
12
- __getattr__, __dir__, __all__ = attach(
13
- __name__,
14
- submodules=["PreProcess", "VAD_Energy", "VAD_funasr", "VAD_Silero", "VAD_statistics", "VAD_vadlib", "VAD_WebRTC", "VAD_whisper", "utils"],
15
- submod_attrs={
16
- "VAD_Energy": ["EnergyVad_C"],
17
- "VAD_funasr": ["FunASR_VAD_C"],
18
- "VAD_Silero": ["Silero_VAD_C"],
19
- "VAD_statistics": ["Statistics_VAD"],
20
- "VAD_vadlib": ["Vadlib_C"],
21
- "VAD_WebRTC": ["WebRTC_VAD_C"],
22
- "VAD_whisper": ["Whisper_VAD_C"],
23
- "utils": ["from_vadArray_to_vadEndpoint", "vad2nad"],
24
- },
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
+ "PreProcess",
9
+ "VAD_Energy",
10
+ "VAD_Silero",
11
+ "VAD_WebRTC",
12
+ "VAD_funasr",
13
+ "VAD_statistics",
14
+ "VAD_vadlib",
15
+ "VAD_whisper",
16
+ "class_get_speech",
17
+ "class_vad",
18
+ "utils",
19
+ ],
20
+ submod_attrs={
21
+ "PreProcess": ['NS', 'NS_test', 'pre_emphasis'],
22
+ "VAD_Energy": ['EnergyVad_C'],
23
+ "VAD_Silero": ['Silero_VAD_C'],
24
+ "VAD_WebRTC": ['WebRTC_VAD_C'],
25
+ "VAD_funasr": ['FunASR_VAD_C'],
26
+ "VAD_statistics": ['Statistics_VAD'],
27
+ "VAD_vadlib": ['Vadlib_C'],
28
+ "VAD_whisper": ['Whisper_VAD_C'],
29
+ "class_get_speech": ['getSpeech'],
30
+ "class_vad": ['VADClass'],
31
+ "utils": ['from_vadArray_to_vadEndpoint', 'vad2nad', 'vad_smooth'],
32
+ }
33
+ )
@@ -7,9 +7,9 @@
7
7
  import os
8
8
  import numpy as np
9
9
  import soundfile as sf
10
- from pydub.silence import split_on_silence
11
10
  from vad import EnergyVAD
12
11
  from pydub import AudioSegment
12
+ from pydub.silence import split_on_silence
13
13
 
14
14
 
15
15
  class getSpeech():
neverlib/vad/class_vad.py CHANGED
@@ -5,9 +5,8 @@
5
5
  一个包含众多VAD方法的类
6
6
  来源参考README
7
7
  """
8
- import numpy as np
9
- import soundfile as sf
10
8
  import torch
9
+ import soundfile as sf
11
10
 
12
11
 
13
12
  class VADClass():
@@ -94,7 +93,8 @@ class VADClass():
94
93
  timestamps = []
95
94
  for chunk in result['chunks']:
96
95
  word_start, word_end = chunk['timestamp'][0], chunk['timestamp'][1]
97
- if word_end == None: word_end = len(wav) / self.sr
96
+ if word_end == None:
97
+ word_end = len(wav) / self.sr
98
98
  timestamps.append({"start": int(word_start * self.sr), "end": int(word_end * self.sr)})
99
99
  return timestamps
100
100
 
neverlib/vad/img.png ADDED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: neverlib
3
- Version: 0.2.6
3
+ Version: 0.2.7
4
4
  Summary: A successful sign for python setup
5
5
  Author-email: "Never.Ling" <1786088386@qq.com>
6
6
  License: MIT
@@ -1,4 +1,5 @@
1
- neverlib/__init__.py,sha256=zz5VnrI59Wl6wBRV5lbkViWeQHlR76cOJcPnzU9m1hc,945
1
+ neverlib/__init__.py,sha256=kqm4-34anitzcQfir4sU9rMLeICDcl9TKEY3gNoFLqg,1622
2
+ neverlib/.claude/settings.local.json,sha256=nBol-eXbiZ3FMr1a7e6ls6CO9nwz5f3quPjEQzMkTyQ,126
2
3
  neverlib/.history/__init___20250805234212.py,sha256=RuVTeJiZfStZ12eMlEfTZ8ZjiC5RBaIQFht-bzMWdTs,1158
3
4
  neverlib/.history/__init___20250904102635.py,sha256=7G8jWnR8puUua7yvH63_AKM6rWGq0IvwgrincgrEs58,1081
4
5
  neverlib/.history/__init___20250904102836.py,sha256=R97n26izUmzFvB1K1e3Z4RA3-g0e6SBt_mI3YfsopO8,1002
@@ -399,54 +400,95 @@ neverlib/.specstory/history/2025-08-26_11-54Z-oserror-missing-shared-object-file
399
400
  neverlib/.specstory/history/2025-08-27_08-07Z-完善测试文档的讨论.md,sha256=1QlRvAsGRy11OvTjRbXj1Pd5ndaYku4gZL-yscFghZQ,9812
400
401
  neverlib/.specstory/history/2025-08-27_08-29Z-delete-python-file-command.md,sha256=rP1_LF0NhulirxWVgovUTOw7nu57LOg9ze4zMW-m21E,22061
401
402
  neverlib/.specstory/history/2025-08-27_09-05Z-在jupyter中播放音频的代码修改.md,sha256=87oxKHccYOlALgF9L7WW860Cjb_xjToCxDzAG4CXuQg,11587
403
+ neverlib/Docs/audio_aug/test_volume.ipynb,sha256=K2qXRe8Md8rfiKsOhsGqAuEzxj2EPvAdRGaXDl0YrYY,18375
402
404
  neverlib/Docs/audio_aug_test/test_snr.py,sha256=1BRUzTYL37pblvhHNB0ORtrbNyxTFWytAxlJ8CDSwfM,1317
405
+ neverlib/Docs/audio_aug_test/test_volume.ipynb,sha256=ZKDPm7Dr8ooZvO6nItshiVIY7jkh2a5AcmUw4wqsB0k,1843460
403
406
  neverlib/Docs/audio_aug_test/test_volume.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
407
+ neverlib/Docs/filter/biquad.ipynb,sha256=CRKHXUozpTaZXpdZSBRas3776SONAOUrWbkjYlMbvgY,3091
408
+ neverlib/Docs/filter/filter_family.ipynb,sha256=EgXqDgP52KpdXkU_gPROb6ks5vZPzUVNf9Swrry0RRk,1135214
409
+ neverlib/Docs/filter/highpass.ipynb,sha256=-sT6-xH9zV7mR6wWZ9Jnqt9lbUEajGafbhGvUVY98IY,40181
410
+ neverlib/Docs/filter/scipy_filter_family.ipynb,sha256=dLhf4BG3KF6jlfiPKeq6Rl5DrUnx0jDx74an4J7ktGk,79092
411
+ neverlib/Docs/vad/VAD_Energy.ipynb,sha256=qqw6_YwRGAbMcU2_F-1XXomU-y42HDY9WYCMxQVvD58,317091
412
+ neverlib/Docs/vad/VAD_Silero.ipynb,sha256=LREAdVkgdKW_XB5N6SFkHHCRqTkkQxigWOFH9Vhxops,303837
413
+ neverlib/Docs/vad/VAD_WebRTC.ipynb,sha256=n5lmmFEnrr5ESigMq_yAwTdVz6jaD84fHwEIf5JnOUg,324763
414
+ neverlib/Docs/vad/VAD_funasr.ipynb,sha256=-4KVReX7IqKfufBHk0oTEYNfzaqlJE5mDuYC8TGhv7U,251035
415
+ neverlib/Docs/vad/VAD_rvADfast.ipynb,sha256=YszYIEG_qVUU2hzvbraY4y5fdMToT--50Za1A3IBozc,252432
416
+ neverlib/Docs/vad/VAD_statistics.ipynb,sha256=wT0k_91YUpLLIt6LZMKrjvJLk4kz8g-fZdBvVH07O2k,346246
417
+ neverlib/Docs/vad/VAD_tenVAD.ipynb,sha256=w8oOBVeabW44Fw7TF6CSxIqa3u1gGydoMuWSxE7slaA,351893
418
+ neverlib/Docs/vad/VAD_vadlib.ipynb,sha256=m55oKqOGeMOSgmQlbMkOR6zVh5_Hn6SIocHi6mOtg1k,300998
419
+ neverlib/Docs/vad/VAD_whisper.ipynb,sha256=P78NqxCfwbbEJYQsqA1NV8vpxQxWNxy2lDX85zO_yD4,364207
420
+ neverlib/QA/gen_init.py,sha256=KJz5Thqo3rUDIVTPLmRN_iCtn1w_bMstSJHQo8DDqzc,4369
421
+ neverlib/QA/get_fun.py,sha256=-UP2FOm3jB_138ntpbsW0eG1S0tJ0d90NqI6f95ryYg,541
404
422
  neverlib/QA/html2markdown.py,sha256=ZiXvpwcJ_QBhIR6aetaMOmktWHtd_F7Ed07Deo3qM4c,669
405
- neverlib/audio_aug/HarmonicDistortion.py,sha256=iA6dY42pqA_4I1K4CX1GSqe1Y0urtprtQ9RuB_V4hXA,2382
423
+ neverlib/audio_aug/HarmonicDistortion.py,sha256=MqbfcdWJLtl_WGloQYDa6fIB6QCgukYdjoxsj8X03kk,2706
406
424
  neverlib/audio_aug/TFDrop.py,sha256=HDLf5qfqMT73-dxKder0v0AT7b0FYsSlexbbh3sL2iM,987
407
425
  neverlib/audio_aug/TFMask.py,sha256=Fakx5YTj88bZEdj_w3aH9Z9AhEGzGq01TZcnjF4v4BU,1769
408
- neverlib/audio_aug/__init__.py,sha256=BCQf6gQbw8i2nXRc8Cf_4-zU4LvZaCS_bUR6BHohC4M,223
409
- neverlib/audio_aug/audio_aug.py,sha256=OxxZ2R5ClilAod0tX3nGD2PoakuonNcaMIqfAw_Aafc,16506
410
- neverlib/audio_aug/clip_aug.py,sha256=fm24KrilyvuIV3oD5mFaUsmNDOEq9VKBMFJ9NtYARkI,1071
411
- neverlib/audio_aug/coder_aug.py,sha256=lRUx8jwKev8lio2op2X41qv6mMO9uxskcVrR1xFE1MM,7628
412
- neverlib/audio_aug/coder_aug2.py,sha256=QlSieScNqqZ80mAzk22OlLCdiC81H3dVdt4z3cOVnW0,4305
413
- neverlib/audio_aug/loss_packet_aug.py,sha256=Ch5GLyF_NqCGzC6Qt3JEu6qp9A6HvYc4zGCUkz9QEUc,4825
414
- neverlib/audio_aug/quant_aug.py,sha256=GHSpUXnMEjmcituQfUEBESPuhDl3Ql2vQkCOr1wTk7U,2381
426
+ neverlib/audio_aug/__init__.py,sha256=sPtnnOxjo9QyEX3bMaP_IoJEFI5vRSWd5fN-GXfluR8,1349
427
+ neverlib/audio_aug/audio_aug.py,sha256=5Eqtx_v2RLtNEwh1gTyfqSHBirwz1JCgDrjgt4WYBlY,16674
428
+ neverlib/audio_aug/clip_aug.py,sha256=xZi89AtdOgUpX7W4x4_UiZFeK-oCWktueoWSEAY19hU,1041
429
+ neverlib/audio_aug/coder_aug.py,sha256=1JtNadfUVbOw8Xg3vpp0cTl87HHuDedHZ3zbUZ2fWW0,8347
430
+ neverlib/audio_aug/coder_aug2.py,sha256=wniOuOWb3vLqgi8N-oDEfTHuEtQtWZ5O4HhmUfflIlM,4733
431
+ neverlib/audio_aug/loss_packet_aug.py,sha256=z0H6u4ug6FAd2beVYeUQR24GiDg-dfdeEhOTPpGiMms,4862
432
+ neverlib/audio_aug/quant_aug.py,sha256=yUH28tED-oYJxrD3z4rjitDKM6S1ZDtkHtjM2-NSSZY,2608
433
+ neverlib/data/000_short_enhance.wav,sha256=TUZSjHareIY3BFlgZiDuffzirpxnEKagnQDVwDYLdgk,216356
434
+ neverlib/data/3956_speech.wav,sha256=wehCr85ITMOmkQWi1DnjRzb2ggC-XJUftZ3_9sARvS8,2977476
435
+ neverlib/data/3956_sweep.wav,sha256=DoLnlIkYGSuraIE7nWK4nAvmgGWWW4VuhI7xDoMrLys,813832
436
+ neverlib/data/vad_example.wav,sha256=xvcEvjmdjeZO-1fT7u0m0EuiJAqeXUWjBWewDWd8guY,216812
437
+ neverlib/data/white.wav,sha256=JJ3aaPx8v7WakYU7U--m0kO1qUkDSMOrOrPKi6RqAA0,325086
438
+ neverlib/data/white_EQ.wav,sha256=UN1W0hH_4JInnye9vIsQlagVXM-rnJPd1j7A_RIia8c,325086
439
+ neverlib/data/white_matched.wav,sha256=h9vD-2q1eKw9s8pVUoIeXXjeKEC-VRiNABCY-CYcUQ0,115514
415
440
  neverlib/data_analyze/README.md,sha256=jqPmD--kinoTqlcpu51teospu9p_ijjtjLdFGTMnBc8,6051
416
- neverlib/data_analyze/__init__.py,sha256=wTs_8Ppvkk3LbQB0WwHvd-XVYZ_0rhJVcUWmqWlG1PQ,487
417
- neverlib/data_analyze/dataset_analyzer.py,sha256=V4eK1rjR1gO3V_HC7wlSBotoCApmQdlK52CaSgAG-o8,22909
418
- neverlib/data_analyze/quality_metrics.py,sha256=Z57TipRlUBne7b0hoyLmd8erbruR2JMDJuh4pbQJeFs,12261
419
- neverlib/data_analyze/rms_distrubution.py,sha256=o2cpa-25e_2RFYlsPb4AXYgjSpk2sKSOOJkXt93kcy0,1836
420
- neverlib/data_analyze/spectral_analysis.py,sha256=ItsAf_KBuWwELOMHnX836_AgDUeeB0aIzmXKj0LwrXA,6206
421
- neverlib/data_analyze/statistics.py,sha256=H60D5JqMdkE3b9Qu8XgZjQUKUPCPl0rFiERJy2U1r3o,13314
422
- neverlib/data_analyze/temporal_features.py,sha256=TrKaJ-XgrqjtCDGvQ6zIelIBz2M1cVSYn8wLTPa95Og,2689
423
- neverlib/data_analyze/visualization.py,sha256=MAjkju2hyM-5zczG3Sn_PXonjuxjeieHuaEWFDSYnNY,15101
441
+ neverlib/data_analyze/__init__.py,sha256=PTobY-7N40PzfZiZ5-2JaU_VUVktb5xw6HgD0s-eXEg,1138
442
+ neverlib/data_analyze/dataset_analyzer.py,sha256=JawpMrahP2YD9mX6kIGJrBRtC7sqYJJdY1R5pGBUDDY,21902
443
+ neverlib/data_analyze/quality_metrics.py,sha256=wOivyQ4JXdyiq1STLCSdBDtoW8Kju-Zc1RZMyPNmNjY,11726
444
+ neverlib/data_analyze/rms_distrubution.py,sha256=EpK9s7WJLtJHXd1xD8SvuiyPVTguouYVHyS7Lha2Qag,1526
445
+ neverlib/data_analyze/spectral_analysis.py,sha256=-QZGSvopovLaSh7OcJLYKFH9YLIp_THXUEV3uOreHz0,5894
446
+ neverlib/data_analyze/statistics.py,sha256=9b9S_7eBoklNfz9cRAs8oWlRnDSjuark4SwTrdFkAGw,12957
447
+ neverlib/data_analyze/temporal_features.py,sha256=qrxA0Uh-DxRPbuILQle66AAgv4SgwiLoPTIR9Q2_Jz4,3065
448
+ neverlib/data_analyze/visualization.py,sha256=kaJBfh1ixlGeVfr4yNRfZlzTvfhbdnIW4LOhbGqwYKM,16439
424
449
  neverlib/filter/README.md,sha256=X1VQRnSxzjkeR_16ylbAqRbYLAlf4c5stkHzmWlCzlo,3801
425
- neverlib/filter/__init__.py,sha256=wCkO_Z2wPw1SnPZ-O0fYQ1r5PDqhidmZqHTE32icSJ8,445
450
+ neverlib/filter/__init__.py,sha256=7787a3wwVkSdeuDEuEeU6Q1CLg1wp6r8lPqURkpV_zY,450
426
451
  neverlib/filter/biquad.py,sha256=EEGAqGwTQGG5O49Q855hb475WVX0oOu3zq-Gn_ppIto,1438
427
- neverlib/filter/common.py,sha256=peGja9A_Lcdvv6gzuOQAhuH9UwpQ3ZVwDSvVMJf_LWo,1408
452
+ neverlib/filter/common.py,sha256=9FD3VKwRpe_IdQujt2AJjlMJ_WR-YNEY8OmhOQUDDO8,1953
428
453
  neverlib/filter/core.py,sha256=qr-0IGEEpiSUFgo_uVOXJLLZeaSDFlALzg_b8mEivrY,13091
429
454
  neverlib/filter/auto_eq/README.md,sha256=-qcqLxIQPo31YfzABHK-_tcqksLdOTHz8ZG3izz46Ug,4968
430
- neverlib/filter/auto_eq/__init__.py,sha256=G8hPMz8bzjCYamqcytiGtpe7bSd4YTHVGXUbuK5_zmg,872
431
- neverlib/filter/auto_eq/de_eq.py,sha256=DqXPyvwO_Kzkcrg5DInGCCKgl2Q8NxeV88LsNvvZAqQ,16444
455
+ neverlib/filter/auto_eq/__init__.py,sha256=LQkDdkHYbwusic8xkP1a6MKswm96INlxYgkizqvmsBY,849
456
+ neverlib/filter/auto_eq/de_eq.py,sha256=XlbFWDPOdGHI97fbU9wXd4h3Aiosv1T5k_e-VEUcDMQ,16411
432
457
  neverlib/filter/auto_eq/freq_eq.py,sha256=1b5hnoqUy1zxVd2WSNqhpokAgJo0xTRwR5AyVPaMr3E,3494
433
458
  neverlib/filter/auto_eq/ga_eq_advanced.py,sha256=qu9J5ugWeEAcXboV9Fv1g60bMOkIebw9ZwYT_zQq5pI,23458
434
459
  neverlib/filter/auto_eq/ga_eq_basic.py,sha256=gbPqJcimrThzhCjgWkg4DuWpeswRRqxNKMC4I07rp6g,15431
435
- neverlib/metrics/dnsmos.py,sha256=tXDxd0ToEjbO8cYMyAF50mV6FxyK6oJ1i4_5Yi6srjI,4753
460
+ neverlib/metrics/__init__.py,sha256=HAnkorpoxDQjxT5G1SpvPkkYmoGDkzoqF7EsqeG6ITg,693
461
+ neverlib/metrics/dnsmos.py,sha256=xfrKxYR9mMDkr2HQ7AT_7V-TtdRpy2MybjsJ2AuLXus,4590
436
462
  neverlib/metrics/lpc_lsp.py,sha256=OXKfillGKo55M2aa7LzyvDGcjtOxdOJquWgqC1yV4Ho,3710
437
- neverlib/metrics/snr.py,sha256=cr776eQgg4Z0uYihFMQq9PtBtprsjvs95nGH_GsmTko,6212
438
- neverlib/metrics/spec.py,sha256=4jrmf5dynkLkXV6PxERQQK7HbKE6euw0T85aJSZtro4,5131
439
- neverlib/metrics/test_pesq.py,sha256=J3b0do3wPaj6Fv4WalYAEebtX_nhquhItCf7041I2tI,1252
463
+ neverlib/metrics/snr.py,sha256=l8cYOUuEYeKc5LzQ3q5n4-wql3PcuJfEYcsjBAEQt5w,6360
464
+ neverlib/metrics/spec.py,sha256=OtiHaoHzRuxHtLSS5HVmaisJsD2SPi13T3MphGyeUHc,5442
465
+ neverlib/metrics/test_pesq.py,sha256=nrvd5p3JnMO5jgAuFwmm4rNoZ7riczsB8iFu1Jx8Gxs,1211
440
466
  neverlib/metrics/time.py,sha256=MSUdaT3WvFRnL_wvjZEGjwcVrsy7KwArz3hLkYcXF7s,1292
467
+ neverlib/metrics/DNSMOS/bak_ovr.onnx,sha256=XzNckJlGGBUBkqZWpHS8-KnLztvEeWVJS6jaeWBdEwg,742375
468
+ neverlib/metrics/DNSMOS/model_v8.onnx,sha256=kkZIDFhWe8av_UIAk4537vSUaMi8ftN3bRCcB0VvbpE,224860
469
+ neverlib/metrics/DNSMOS/sig.onnx,sha256=0vvbKTvCNm37rit0d8SQ-YHSSotEBe_TwReHVpxlSdc,742203
470
+ neverlib/metrics/DNSMOS/sig_bak_ovr.onnx,sha256=Jp--vbUTqiPN37tZNULsxUAoSpGEmsUFFocOGsePbt0,1157965
471
+ neverlib/metrics/pDNSMOS/sig_bak_ovr.onnx,sha256=njoZdEnKIXfwmXr-w71riQEXzi8XuJ1u6n-g1HJyyBw,1157962
472
+ neverlib/metrics/pesq_c/PESQ,sha256=f8qbES1y_94XvHgddOpVqOu0aJBym0z2FXvwq1egBGQ,89400
473
+ neverlib/metrics/pesq_c/dsp.c,sha256=N81r8Hdt-xCUW69ALvECknZHThEhah4okjnxIi1T8Ug,15233
474
+ neverlib/metrics/pesq_c/dsp.h,sha256=I1mOP3JsTNqyEdhI3W3FRBAOltDJnJpXG0ShXbVXM2E,5457
475
+ neverlib/metrics/pesq_c/pesq.h,sha256=wkqE2Vf6EB4QnP16c8jXM-cTBO2SVvmc9JiRNvbHLNs,9430
476
+ neverlib/metrics/pesq_c/pesqdsp.c,sha256=YlGSRes0qJgCyPwe1Zb5bShjGQnDzRE08Ecpv5y0A1E,33879
477
+ neverlib/metrics/pesq_c/pesqio.c,sha256=S8PLwBfx0oHHVLfZ1jUsGbwwMniFhHNNV8X6bcUxFYU,12930
478
+ neverlib/metrics/pesq_c/pesqmain.c,sha256=NaANjEDJrCFwJBbXErX51ZKtE86SHKdrXLhS0P3TbT0,27322
479
+ neverlib/metrics/pesq_c/pesqmod.c,sha256=9stYhCLUShFAd6Zc85nQn57RUKDbS2Q8MrhQFB_-ySA,52999
480
+ neverlib/metrics/pesq_c/pesqpar.h,sha256=XZkwXcwycL8ekK6LQy_PT9Ih2K0zirSPHCMhGKyJExs,20986
441
481
  neverlib/tests/__init__.py,sha256=PITL4btOVji1rexFP35A20v2gcLqc6vmGWiF-_5ywnI,27
482
+ neverlib/tests/test_imports.py,sha256=aEEjlz54XtKk-N7krFGvIFz_0j-H90qKKx4nPoZfbT8,439
442
483
  neverlib/tests/test_preprocess.py,sha256=GHj2PvlG8chJlV-zpRfy8IYlTXzGkn5heO9ipy6Xe20,1003
443
484
  neverlib/tests/test_vad.py,sha256=TjBuB_qPooflrjkkvoy19HySdBo-MiVeb5yTmLGBJvM,415
444
- neverlib/utils/__init__.py,sha256=Vct3J6mpfmpJwOZWdFyDp0lcf3mbUgSxnwTBiS60qds,259
445
- neverlib/utils/audio_split.py,sha256=LP08L4VMTKWmus86K0PrFqXWcsGkmAj4gVl2Uqls_c0,12152
446
- neverlib/utils/checkGPU.py,sha256=Wye2UovtVK6Fk8W4wZ3dqaYrdZc30WyW5iGa-6Ouxf0,4075
485
+ neverlib/utils/__init__.py,sha256=1WO9Q_X9fUWUF_ZaK_ALQNzHpWqletxIJfLoI7FOyCQ,1090
486
+ neverlib/utils/audio_split.py,sha256=8ehyecES9Ih7f85ZyBiOAycrduCQOzaHl1yifsCMjDM,12306
487
+ neverlib/utils/checkGPU.py,sha256=OkztJZJxncqSSIttxISpLSgfqa9xjXOaHIuMlRNwX-4,4393
488
+ neverlib/utils/lazy_expose.py,sha256=3h1LidRoab_ylv574-dOBjnJpOKWgLFgXpTWrvqce9E,1027
447
489
  neverlib/utils/lazy_module.py,sha256=JdEdAYnbHmolB-hktrcuOlzR4Ee5jgu6V0XjDNqioVM,3995
448
490
  neverlib/utils/message.py,sha256=XV7m0yUsR7Zq-olS-vL1oUEatSgh-Am8pyB_QPLzQok,4121
449
- neverlib/utils/utils.py,sha256=N28PETG0hbkCYvY_SAWa-FbTdXpApFDXZr4wSH6O26k,14073
491
+ neverlib/utils/utils.py,sha256=7aPSwrPvkVAPARb5brGikV5C4DVlS71fujTrpq8DnjI,14658
450
492
  neverlib/vad/PreProcess.py,sha256=syd-s4TiQeqvLeQqQRzTzSqeNuMdWnZEIywX24H4Vro,2108
451
493
  neverlib/vad/README.md,sha256=3aFnGmz3uhg-kQVOGei40Ei3Lx5P71r2rk0Xl8-JZXI,1490
452
494
  neverlib/vad/VAD_Energy.py,sha256=ErsiDxn4mH_EOiFBRcoBBRqTUsFfEsvEvRELrdZflkw,2135
@@ -456,12 +498,13 @@ neverlib/vad/VAD_funasr.py,sha256=oJqU3VOFT-KXmFV2g8kvT64nHIo5-PxcB4tdb-Ap3Bw,15
456
498
  neverlib/vad/VAD_statistics.py,sha256=o310LKoMECBHO6LcqU3vb-uirF6PM2fHbaRautT2w-w,16663
457
499
  neverlib/vad/VAD_vadlib.py,sha256=5reZ7blu0BsqqO9WJn8YPIvPQVn8VcFPcJnH1scgEzQ,2228
458
500
  neverlib/vad/VAD_whisper.py,sha256=GhBFV-EIS865c-rj2RvM4IUKKG8ZsoD9LCTwrx1Fx2c,1792
459
- neverlib/vad/__init__.py,sha256=agJBf6Bl7WXbnFLBo9Iu8nj0QRZewvtFagpoXQKdf84,838
460
- neverlib/vad/class_get_speech.py,sha256=jbeGNhEYSkvAdf3wdA8J504Uy-plln8-Hu2hNUFEyh8,2074
461
- neverlib/vad/class_vad.py,sha256=XSOOg_TnNXPjaqD3yr9m6_t7jUYQ5NuZJho9lX2JosA,5215
501
+ neverlib/vad/__init__.py,sha256=MgQXDgeqFZN9MqLrYn0hS9Dz5OqY0nTjHW5fQoZ5LGk,967
502
+ neverlib/vad/class_get_speech.py,sha256=s1n24I4P4aTFaQSiyXrh_xAmOChuFZ-wWgrYEE6eCHs,2074
503
+ neverlib/vad/class_vad.py,sha256=ao_20-vyzcI8CxEcvcA_-HoRPTiPEtfuKor2_YWEbz0,5212
504
+ neverlib/vad/img.png,sha256=eLlaUgDnJNyleWZwW8sNv3eXaeaGoXwhFUZCCDJh9u8,179778
462
505
  neverlib/vad/utils.py,sha256=rEWEzGv2E_iTHIdQxY361iEW4Hq9MRDwkMBQMTA9mGw,3049
463
- neverlib-0.2.6.dist-info/licenses/LICENSE,sha256=h-U7vhFdQhieyaNCiA_utrRNMk1rjfrBAUJVodgkfsw,1096
464
- neverlib-0.2.6.dist-info/METADATA,sha256=how_JqPsfEeg9xfAqbPvQYcAXTcHr4vvrjiPQE6yjBA,2811
465
- neverlib-0.2.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
466
- neverlib-0.2.6.dist-info/top_level.txt,sha256=QqwYFuDiY_iFTz0Kx8av6zKCP_s4M5NiMTNsIXOy8Po,9
467
- neverlib-0.2.6.dist-info/RECORD,,
506
+ neverlib-0.2.7.dist-info/licenses/LICENSE,sha256=h-U7vhFdQhieyaNCiA_utrRNMk1rjfrBAUJVodgkfsw,1096
507
+ neverlib-0.2.7.dist-info/METADATA,sha256=d3h2QWvLLjEILDa65gPYVj1PNAcI0grCTfKn6WU4j9E,2811
508
+ neverlib-0.2.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
509
+ neverlib-0.2.7.dist-info/top_level.txt,sha256=QqwYFuDiY_iFTz0Kx8av6zKCP_s4M5NiMTNsIXOy8Po,9
510
+ neverlib-0.2.7.dist-info/RECORD,,