neverlib 0.2.5__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.
- neverlib/.claude/settings.local.json +9 -0
- neverlib/Docs/audio_aug/test_volume.ipynb +416 -0
- neverlib/Docs/audio_aug_test/test_volume.ipynb +289 -0
- neverlib/Docs/filter/biquad.ipynb +129 -0
- neverlib/Docs/filter/filter_family.ipynb +450 -0
- neverlib/Docs/filter/highpass.ipynb +139 -0
- neverlib/Docs/filter/scipy_filter_family.ipynb +110 -0
- neverlib/Docs/vad/VAD_Energy.ipynb +167 -0
- neverlib/Docs/vad/VAD_Silero.ipynb +325 -0
- neverlib/Docs/vad/VAD_WebRTC.ipynb +189 -0
- neverlib/Docs/vad/VAD_funasr.ipynb +192 -0
- neverlib/Docs/vad/VAD_rvADfast.ipynb +162 -0
- neverlib/Docs/vad/VAD_statistics.ipynb +532 -0
- neverlib/Docs/vad/VAD_tenVAD.ipynb +292 -0
- neverlib/Docs/vad/VAD_vadlib.ipynb +168 -0
- neverlib/Docs/vad/VAD_whisper.ipynb +404 -0
- neverlib/QA/gen_init.py +117 -0
- neverlib/QA/get_fun.py +19 -0
- neverlib/__init__.py +21 -4
- neverlib/audio_aug/HarmonicDistortion.py +19 -13
- neverlib/audio_aug/__init__.py +30 -12
- neverlib/audio_aug/audio_aug.py +19 -14
- neverlib/audio_aug/clip_aug.py +15 -18
- neverlib/audio_aug/coder_aug.py +44 -24
- neverlib/audio_aug/coder_aug2.py +54 -37
- neverlib/audio_aug/loss_packet_aug.py +7 -7
- neverlib/audio_aug/quant_aug.py +19 -17
- neverlib/data/000_short_enhance.wav +0 -0
- neverlib/data/3956_speech.wav +0 -0
- neverlib/data/3956_sweep.wav +0 -0
- neverlib/data/vad_example.wav +0 -0
- neverlib/data/white.wav +0 -0
- neverlib/data/white_EQ.wav +0 -0
- neverlib/data/white_matched.wav +0 -0
- neverlib/data_analyze/__init__.py +25 -20
- neverlib/data_analyze/dataset_analyzer.py +109 -114
- neverlib/data_analyze/quality_metrics.py +87 -89
- neverlib/data_analyze/rms_distrubution.py +23 -42
- neverlib/data_analyze/spectral_analysis.py +43 -46
- neverlib/data_analyze/statistics.py +76 -76
- neverlib/data_analyze/temporal_features.py +15 -6
- neverlib/data_analyze/visualization.py +208 -144
- neverlib/filter/__init__.py +17 -20
- neverlib/filter/auto_eq/__init__.py +18 -35
- neverlib/filter/auto_eq/de_eq.py +0 -2
- neverlib/filter/common.py +24 -5
- neverlib/metrics/DNSMOS/bak_ovr.onnx +0 -0
- neverlib/metrics/DNSMOS/model_v8.onnx +0 -0
- neverlib/metrics/DNSMOS/sig.onnx +0 -0
- neverlib/metrics/DNSMOS/sig_bak_ovr.onnx +0 -0
- neverlib/metrics/__init__.py +23 -0
- neverlib/metrics/dnsmos.py +4 -15
- neverlib/metrics/pDNSMOS/sig_bak_ovr.onnx +0 -0
- neverlib/metrics/pesq_c/PESQ +0 -0
- neverlib/metrics/pesq_c/dsp.c +553 -0
- neverlib/metrics/pesq_c/dsp.h +138 -0
- neverlib/metrics/pesq_c/pesq.h +294 -0
- neverlib/metrics/pesq_c/pesqdsp.c +1047 -0
- neverlib/metrics/pesq_c/pesqio.c +392 -0
- neverlib/metrics/pesq_c/pesqmain.c +610 -0
- neverlib/metrics/pesq_c/pesqmod.c +1417 -0
- neverlib/metrics/pesq_c/pesqpar.h +297 -0
- neverlib/metrics/snr.py +5 -1
- neverlib/metrics/spec.py +31 -21
- neverlib/metrics/test_pesq.py +0 -4
- neverlib/tests/test_imports.py +17 -0
- neverlib/utils/__init__.py +26 -15
- neverlib/utils/audio_split.py +5 -1
- neverlib/utils/checkGPU.py +17 -9
- neverlib/utils/lazy_expose.py +29 -0
- neverlib/utils/utils.py +40 -12
- neverlib/vad/__init__.py +33 -25
- neverlib/vad/class_get_speech.py +1 -1
- neverlib/vad/class_vad.py +3 -3
- neverlib/vad/img.png +0 -0
- {neverlib-0.2.5.dist-info → neverlib-0.2.7.dist-info}/METADATA +20 -17
- {neverlib-0.2.5.dist-info → neverlib-0.2.7.dist-info}/RECORD +80 -37
- {neverlib-0.2.5.dist-info → neverlib-0.2.7.dist-info}/WHEEL +0 -0
- {neverlib-0.2.5.dist-info → neverlib-0.2.7.dist-info}/licenses/LICENSE +0 -0
- {neverlib-0.2.5.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,
|
|
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[
|
|
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,
|
|
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(
|
|
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 = [
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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',
|
|
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,
|
|
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',
|
|
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
|
-
#
|
|
2
|
-
#
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
""
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
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
|
+
)
|
neverlib/vad/class_get_speech.py
CHANGED
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:
|
|
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.
|
|
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
|
|
@@ -9,20 +9,26 @@ Project-URL: Bug Tracker, https://github.com/yourusername/neverlib/issues
|
|
|
9
9
|
Project-URL: Documentation, https://github.com/yourusername/neverlib
|
|
10
10
|
Project-URL: Source Code, https://github.com/yourusername/neverlib
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
12
15
|
Classifier: License :: OSI Approved :: MIT License
|
|
13
16
|
Classifier: Operating System :: OS Independent
|
|
14
17
|
Requires-Python: >=3.6
|
|
15
18
|
Description-Content-Type: text/markdown
|
|
16
19
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: numpy
|
|
18
|
-
Requires-Dist: noisereduce
|
|
19
|
-
Requires-Dist: soundfile
|
|
20
|
-
Requires-Dist: matplotlib
|
|
21
|
-
Requires-Dist: scipy
|
|
22
|
-
Requires-Dist: tqdm
|
|
23
|
-
Requires-Dist: joblib
|
|
24
|
-
Requires-Dist: pydub
|
|
25
20
|
Requires-Dist: lazy-loader>=0.4
|
|
21
|
+
Provides-Extra: analysis
|
|
22
|
+
Requires-Dist: numpy; extra == "analysis"
|
|
23
|
+
Requires-Dist: scipy; extra == "analysis"
|
|
24
|
+
Requires-Dist: tqdm; extra == "analysis"
|
|
25
|
+
Requires-Dist: joblib; extra == "analysis"
|
|
26
|
+
Requires-Dist: noisereduce; extra == "analysis"
|
|
27
|
+
Provides-Extra: io
|
|
28
|
+
Requires-Dist: soundfile; extra == "io"
|
|
29
|
+
Requires-Dist: pydub; extra == "io"
|
|
30
|
+
Provides-Extra: plot
|
|
31
|
+
Requires-Dist: matplotlib; extra == "plot"
|
|
26
32
|
Provides-Extra: vad
|
|
27
33
|
Requires-Dist: torch; extra == "vad"
|
|
28
34
|
Requires-Dist: torchaudio; extra == "vad"
|
|
@@ -34,14 +40,11 @@ Requires-Dist: transformers; extra == "vad"
|
|
|
34
40
|
Provides-Extra: gpu
|
|
35
41
|
Requires-Dist: GPUtil; extra == "gpu"
|
|
36
42
|
Provides-Extra: all
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist:
|
|
41
|
-
Requires-Dist:
|
|
42
|
-
Requires-Dist: openai-whisper; extra == "all"
|
|
43
|
-
Requires-Dist: transformers; extra == "all"
|
|
44
|
-
Requires-Dist: GPUtil; extra == "all"
|
|
43
|
+
Requires-Dist: neverlib[analysis]; extra == "all"
|
|
44
|
+
Requires-Dist: neverlib[io]; extra == "all"
|
|
45
|
+
Requires-Dist: neverlib[plot]; extra == "all"
|
|
46
|
+
Requires-Dist: neverlib[vad]; extra == "all"
|
|
47
|
+
Requires-Dist: neverlib[gpu]; extra == "all"
|
|
45
48
|
Dynamic: license-file
|
|
46
49
|
|
|
47
50
|
# NeverLib
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
neverlib/__init__.py,sha256=
|
|
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=
|
|
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=
|
|
409
|
-
neverlib/audio_aug/audio_aug.py,sha256=
|
|
410
|
-
neverlib/audio_aug/clip_aug.py,sha256=
|
|
411
|
-
neverlib/audio_aug/coder_aug.py,sha256=
|
|
412
|
-
neverlib/audio_aug/coder_aug2.py,sha256=
|
|
413
|
-
neverlib/audio_aug/loss_packet_aug.py,sha256=
|
|
414
|
-
neverlib/audio_aug/quant_aug.py,sha256=
|
|
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=
|
|
417
|
-
neverlib/data_analyze/dataset_analyzer.py,sha256=
|
|
418
|
-
neverlib/data_analyze/quality_metrics.py,sha256=
|
|
419
|
-
neverlib/data_analyze/rms_distrubution.py,sha256=
|
|
420
|
-
neverlib/data_analyze/spectral_analysis.py,sha256
|
|
421
|
-
neverlib/data_analyze/statistics.py,sha256=
|
|
422
|
-
neverlib/data_analyze/temporal_features.py,sha256=
|
|
423
|
-
neverlib/data_analyze/visualization.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
431
|
-
neverlib/filter/auto_eq/de_eq.py,sha256=
|
|
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/
|
|
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=
|
|
438
|
-
neverlib/metrics/spec.py,sha256=
|
|
439
|
-
neverlib/metrics/test_pesq.py,sha256=
|
|
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=
|
|
445
|
-
neverlib/utils/audio_split.py,sha256=
|
|
446
|
-
neverlib/utils/checkGPU.py,sha256=
|
|
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=
|
|
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=
|
|
460
|
-
neverlib/vad/class_get_speech.py,sha256=
|
|
461
|
-
neverlib/vad/class_vad.py,sha256=
|
|
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.
|
|
464
|
-
neverlib-0.2.
|
|
465
|
-
neverlib-0.2.
|
|
466
|
-
neverlib-0.2.
|
|
467
|
-
neverlib-0.2.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|