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.
- {neverlib-0.2.8/neverlib.egg-info → neverlib-0.2.9}/PKG-INFO +15 -1
- {neverlib-0.2.8 → neverlib-0.2.9}/README.md +14 -0
- neverlib-0.2.9/neverlib/QA/ImpactNoiseRejection.py +119 -0
- neverlib-0.2.9/neverlib/QA/impact_noise_rejection.png +0 -0
- neverlib-0.2.9/neverlib/QA/out.pcm +0 -0
- neverlib-0.2.9/neverlib/QA/out.wav +0 -0
- neverlib-0.2.9/neverlib/audio_aug/README.md +3 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/TFDrop.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/TFMask.py +0 -0
- neverlib-0.2.9/neverlib/audio_aug/__init__.py +28 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/quant_aug.py +0 -0
- neverlib-0.2.9/neverlib/data_analyze/__init__.py +25 -0
- neverlib-0.2.9/neverlib/filter/__init__.py +17 -0
- neverlib-0.2.9/neverlib/filter/auto_eq/__init__.py +19 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/core.py +8 -5
- neverlib-0.2.9/neverlib/metrics/README.md +35 -0
- neverlib-0.2.9/neverlib/metrics/__init__.py +23 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/PESQ +0 -0
- neverlib-0.2.9/neverlib/signal_gen/babble_noise_generate.py +113 -0
- neverlib-0.2.9/neverlib/tests/__init__.py +16 -0
- neverlib-0.2.9/neverlib/utils/README.md +29 -0
- neverlib-0.2.9/neverlib/utils/__init__.py +27 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/utils/audio_split.py +20 -20
- neverlib-0.2.9/neverlib/utils/checkGPU.py +95 -0
- neverlib-0.2.9/neverlib/utils/floder.py +115 -0
- neverlib-0.2.9/neverlib/utils/pcm.py +42 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/utils/utils.py +3 -92
- neverlib-0.2.9/neverlib/vad/__init__.py +33 -0
- {neverlib-0.2.8 → neverlib-0.2.9/neverlib.egg-info}/PKG-INFO +15 -1
- neverlib-0.2.9/neverlib.egg-info/SOURCES.txt +124 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/pyproject.toml +1 -1
- neverlib-0.2.8/neverlib/.claude/settings.local.json +0 -9
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162530.py +0 -0
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162540.py +0 -2
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162541.py +0 -7
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162606.py +0 -7
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162637.py +0 -8
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162645.py +0 -8
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162723.py +0 -9
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/del_20250827162739.py +0 -9
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011311.py +0 -0
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011331.py +0 -75
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011342.py +0 -57
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011352.py +0 -57
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011403.py +0 -57
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011413.py +0 -57
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250806011435.py +0 -55
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827161751.py +0 -55
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827161754.py +0 -55
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827161833.py +0 -54
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827162017.py +0 -56
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827162021.py +0 -57
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827162028.py +0 -57
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug/test_snr_20250827162033.py +0 -55
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162738.py +0 -9
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162819.py +0 -9
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162830.py +0 -9
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162846.py +0 -9
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162851.py +0 -9
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162903.py +0 -10
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162921.py +0 -10
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827162926.py +0 -10
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827163030.py +0 -10
- neverlib-0.2.8/neverlib/.history/Docs/audio_aug_test/del_20250827163032.py +0 -10
- neverlib-0.2.8/neverlib/.history/Docs/vad/1_20250810032405.py +0 -0
- neverlib-0.2.8/neverlib/.history/Docs/vad/1_20250810032417.py +0 -39
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234112.md +0 -0
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234140.py +0 -9
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234141.md +0 -9
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234159.py +0 -12
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234200.py +0 -17
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234236.py +0 -17
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234340.py +0 -14
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234522.py +0 -18
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234601.py +0 -20
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234615.py +0 -22
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234715.py +0 -28
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234720.py +0 -27
- neverlib-0.2.8/neverlib/.history/QA/html2markdown_20250822234903.py +0 -27
- neverlib-0.2.8/neverlib/.history/__init___20250805234212.py +0 -41
- neverlib-0.2.8/neverlib/.history/__init___20250904102635.py +0 -39
- neverlib-0.2.8/neverlib/.history/__init___20250904102836.py +0 -34
- neverlib-0.2.8/neverlib/.history/__init___20250904102838.py +0 -39
- neverlib-0.2.8/neverlib/.history/__init___20250904102851.py +0 -33
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806010451.py +0 -125
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806010750.py +0 -138
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806010759.py +0 -140
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806010803.py +0 -140
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806010809.py +0 -140
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250806011108.py +0 -140
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826155913.py +0 -158
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164159.py +0 -159
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164217.py +0 -160
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164408.py +0 -161
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164423.py +0 -161
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164529.py +0 -161
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164824.py +0 -161
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164932.py +0 -162
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826164947.py +0 -162
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826165403.py +0 -162
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826165421.py +0 -162
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826165509.py +0 -163
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826165702.py +0 -163
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826165732.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170041.py +0 -163
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170105.py +0 -164
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170154.py +0 -164
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170220.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170221.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170228.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826170231.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826212001.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220038.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220133.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220148.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220154.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220156.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220314.py +0 -165
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220343.py +0 -184
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220345.py +0 -184
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220349.py +0 -184
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220429.py +0 -184
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220447.py +0 -184
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220601.py +0 -186
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220638.py +0 -186
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220641.py +0 -186
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220647.py +0 -186
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220653.py +0 -186
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220655.py +0 -186
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220731.py +0 -185
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220739.py +0 -185
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220747.py +0 -185
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220801.py +0 -186
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220822.py +0 -186
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826220901.py +0 -186
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221107.py +0 -187
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221310.py +0 -188
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221353.py +0 -191
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221821.py +0 -191
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221838.py +0 -191
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221906.py +0 -191
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221930.py +0 -191
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221939.py +0 -191
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826221955.py +0 -191
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222008.py +0 -197
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222017.py +0 -200
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222046.py +0 -203
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222105.py +0 -203
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222206.py +0 -203
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222302.py +0 -203
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222336.py +0 -203
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222455.py +0 -204
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222526.py +0 -204
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222541.py +0 -204
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222624.py +0 -202
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222714.py +0 -205
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222820.py +0 -205
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222827.py +0 -205
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826222927.py +0 -232
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223009.py +0 -232
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223054.py +0 -232
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223225.py +0 -233
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223344.py +0 -236
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223356.py +0 -236
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826223955.py +0 -242
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224210.py +0 -240
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224250.py +0 -242
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224323.py +0 -280
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224452.py +0 -263
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224455.py +0 -263
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224502.py +0 -263
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224528.py +0 -263
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224658.py +0 -263
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826224833.py +0 -264
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225013.py +0 -269
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225050.py +0 -269
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225241.py +0 -268
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225315.py +0 -266
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225404.py +0 -266
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225502.py +0 -265
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225950.py +0 -267
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826225959.py +0 -268
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826230222.py +0 -271
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826230248.py +0 -270
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826230638.py +0 -266
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826230755.py +0 -266
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826230941.py +0 -265
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826231054.py +0 -266
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826231117.py +0 -266
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826231219.py +0 -266
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826232330.py +0 -266
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250826232352.py +0 -266
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827152748.py +0 -268
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827152806.py +0 -268
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827152808.py +0 -268
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827152917.py +0 -283
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827152929.py +0 -281
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153100.py +0 -286
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153102.py +0 -286
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153301.py +0 -295
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153331.py +0 -298
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153525.py +0 -303
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153533.py +0 -304
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153541.py +0 -321
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153805.py +0 -322
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153832.py +0 -323
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153836.py +0 -324
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153846.py +0 -324
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827153859.py +0 -325
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154453.py +0 -337
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154513.py +0 -355
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154538.py +0 -356
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154541.py +0 -357
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154612.py +0 -357
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154657.py +0 -360
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154708.py +0 -360
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154728.py +0 -366
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154755.py +0 -367
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154800.py +0 -367
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154917.py +0 -368
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154928.py +0 -369
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154932.py +0 -370
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827154947.py +0 -372
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155015.py +0 -375
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155106.py +0 -375
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155114.py +0 -393
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155207.py +0 -415
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155300.py +0 -415
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827155321.py +0 -471
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827164703.py +0 -471
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827164749.py +0 -471
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827165252.py +0 -472
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827165334.py +0 -472
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827165404.py +0 -473
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827165610.py +0 -473
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827165805.py +0 -473
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170056.py +0 -473
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170106.py +0 -472
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170143.py +0 -472
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170216.py +0 -472
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170218.py +0 -472
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827170314.py +0 -472
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827171500.py +0 -471
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827172347.py +0 -471
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827172558.py +0 -470
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827172559.py +0 -470
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827172801.py +0 -470
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827182522.py +0 -470
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827182526.py +0 -470
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827182626.py +0 -470
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250827182715.py +0 -470
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250904185444.py +0 -470
- neverlib-0.2.8/neverlib/.history/audio_aug/audio_aug_20250904185538.py +0 -445
- neverlib-0.2.8/neverlib/.history/dataAnalyze/__init___20250805234204.py +0 -87
- neverlib-0.2.8/neverlib/.history/dataAnalyze/__init___20250806204125.py +0 -14
- neverlib-0.2.8/neverlib/.history/dataAnalyze/__init___20250806204139.py +0 -14
- neverlib-0.2.8/neverlib/.history/dataAnalyze/__init___20250806204159.py +0 -14
- neverlib-0.2.8/neverlib/.history/data_analyze/__init___20250806204158.py +0 -14
- neverlib-0.2.8/neverlib/.history/data_analyze/__init___20250827163248.py +0 -14
- neverlib-0.2.8/neverlib/.history/filter/__init___20250820103351.py +0 -70
- neverlib-0.2.8/neverlib/.history/filter/__init___20250821102348.py +0 -70
- neverlib-0.2.8/neverlib/.history/filter/__init___20250821102405.py +0 -14
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250819213121.py +0 -36
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102241.py +0 -36
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102259.py +0 -36
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102307.py +0 -36
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102310.py +0 -36
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102318.py +0 -36
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/__init___20250821102507.py +0 -36
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/de_eq_20250820103848.py +0 -361
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/de_eq_20250821102422.py +0 -360
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250805234206.py +0 -75
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820140732.py +0 -75
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820140745.py +0 -75
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820140816.py +0 -75
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820140938.py +0 -77
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141003.py +0 -77
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141006.py +0 -77
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141019.py +0 -77
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141049.py +0 -77
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141211.py +0 -77
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141227.py +0 -77
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141311.py +0 -78
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141340.py +0 -78
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141712.py +0 -78
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141733.py +0 -78
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250820141755.py +0 -78
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821102434.py +0 -76
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821102500.py +0 -76
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821102502.py +0 -76
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821143140.py +0 -76
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821153208.py +0 -76
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/freq_eq_20250821153214.py +0 -76
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820102957.py +0 -380
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113054.py +0 -380
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113150.py +0 -380
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113520.py +0 -385
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250820113525.py +0 -385
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250821102212.py +0 -385
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250901110521.py +0 -385
- neverlib-0.2.8/neverlib/.history/filter/auto_eq/ga_eq_basic_20250901110652.py +0 -385
- neverlib-0.2.8/neverlib/.history/filter/common_20250806002134.py +0 -37
- neverlib-0.2.8/neverlib/.history/filter/common_20250821120448.py +0 -49
- neverlib-0.2.8/neverlib/.history/filter/common_20250821120453.py +0 -49
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250806001612.py +0 -160
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815180659.py +0 -160
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815180701.py +0 -158
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181321.py +0 -154
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181327.py +0 -154
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181331.py +0 -154
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181620.py +0 -154
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181631.py +0 -154
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181742.py +0 -154
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181824.py +0 -153
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181834.py +0 -153
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815181922.py +0 -153
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815182011.py +0 -147
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815182036.py +0 -144
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815182936.py +0 -143
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815182942.py +0 -143
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183032.py +0 -137
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183101.py +0 -144
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183121.py +0 -144
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183123.py +0 -143
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183214.py +0 -143
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183240.py +0 -143
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183248.py +0 -144
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183407.py +0 -142
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183409.py +0 -142
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183431.py +0 -142
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183507.py +0 -140
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183513.py +0 -139
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183618.py +0 -139
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183709.py +0 -140
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183756.py +0 -137
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183815.py +0 -128
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183827.py +0 -129
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183913.py +0 -117
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815183914.py +0 -117
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815184003.py +0 -118
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815184040.py +0 -118
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815184049.py +0 -118
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815184104.py +0 -117
- neverlib-0.2.8/neverlib/.history/metrics/dnsmos_20250815184200.py +0 -117
- neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816015944.py +0 -128
- neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020142.py +0 -128
- neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020156.py +0 -128
- neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020554.py +0 -130
- neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020600.py +0 -125
- neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020631.py +0 -120
- neverlib-0.2.8/neverlib/.history/metrics/lpc_lsp_metric_20250816020746.py +0 -118
- neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816013111.py +0 -0
- neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816013129.py +0 -121
- neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015430.py +0 -103
- neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015535.py +0 -96
- neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015542.py +0 -96
- neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015636.py +0 -97
- neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015658.py +0 -104
- neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015703.py +0 -100
- neverlib-0.2.8/neverlib/.history/metrics/lpc_me_20250816015945.py +0 -128
- neverlib-0.2.8/neverlib/.history/metrics/snr_20250806010538.py +0 -177
- neverlib-0.2.8/neverlib/.history/metrics/snr_20250806211634.py +0 -184
- neverlib-0.2.8/neverlib/.history/metrics/snr_20250827224201.py +0 -182
- neverlib-0.2.8/neverlib/.history/metrics/snr_20250827234019.py +0 -186
- neverlib-0.2.8/neverlib/.history/metrics/snr_20250827234028.py +0 -186
- neverlib-0.2.8/neverlib/.history/metrics/snr_20250827234030.py +0 -186
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250805234209.py +0 -45
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816135530.py +0 -11
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816135654.py +0 -16
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816135736.py +0 -68
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816135904.py +0 -75
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816135921.py +0 -82
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140111.py +0 -82
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140543.py +0 -136
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140559.py +0 -172
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140602.py +0 -172
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140608.py +0 -172
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140654.py +0 -148
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140705.py +0 -144
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140755.py +0 -138
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140823.py +0 -170
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140832.py +0 -170
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140833.py +0 -170
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816140922.py +0 -147
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816141148.py +0 -107
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816141219.py +0 -123
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816141732.py +0 -178
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816141740.py +0 -178
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816142030.py +0 -178
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816142107.py +0 -135
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816142126.py +0 -135
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816142410.py +0 -135
- neverlib-0.2.8/neverlib/.history/metrics/spec_20250816142415.py +0 -136
- neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135156.py +0 -0
- neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135226.py +0 -5
- neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135227.py +0 -10
- neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135306.py +0 -15
- neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135442.py +0 -31
- neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135448.py +0 -31
- neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135520.py +0 -29
- neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135537.py +0 -63
- neverlib-0.2.8/neverlib/.history/metrics/spec_metric_20250816135653.py +0 -65
- neverlib-0.2.8/neverlib/.history/utils/audio_split_20250805234209.py +0 -268
- neverlib-0.2.8/neverlib/.history/utils/audio_split_20250904185309.py +0 -268
- neverlib-0.2.8/neverlib/.history/utils/utils_20250813165516.py +0 -330
- neverlib-0.2.8/neverlib/.history/utils/utils_20250904181341.py +0 -328
- neverlib-0.2.8/neverlib/.history/utils/utils_20250904185546.py +0 -352
- neverlib-0.2.8/neverlib/.history/utils/utils_20250904185548.py +0 -353
- neverlib-0.2.8/neverlib/.history/utils/utils_20250904185603.py +0 -353
- neverlib-0.2.8/neverlib/.history/utils/utils_20250904185636.py +0 -353
- neverlib-0.2.8/neverlib/.history/utils/utils_20250904185658.py +0 -358
- neverlib-0.2.8/neverlib/.history/utils/utils_20250904190053.py +0 -359
- neverlib-0.2.8/neverlib/.history/vad/PreProcess_20250805234211.py +0 -63
- neverlib-0.2.8/neverlib/.history/vad/PreProcess_20250809232455.py +0 -63
- neverlib-0.2.8/neverlib/.history/vad/PreProcess_20250816020725.py +0 -66
- neverlib-0.2.8/neverlib/.history/vad/VAD_Silero_20250805234211.py +0 -50
- neverlib-0.2.8/neverlib/.history/vad/VAD_Silero_20250809232456.py +0 -50
- neverlib-0.2.8/neverlib/.history/vad/VAD_WebRTC_20250805234211.py +0 -61
- neverlib-0.2.8/neverlib/.history/vad/VAD_WebRTC_20250809232456.py +0 -61
- neverlib-0.2.8/neverlib/.history/vad/VAD_funasr_20250805234211.py +0 -54
- neverlib-0.2.8/neverlib/.history/vad/VAD_funasr_20250809232456.py +0 -54
- neverlib-0.2.8/neverlib/.history/vad/VAD_vadlib_20250805234211.py +0 -70
- neverlib-0.2.8/neverlib/.history/vad/VAD_vadlib_20250809232455.py +0 -70
- neverlib-0.2.8/neverlib/.history/vad/VAD_whisper_20250805234211.py +0 -55
- neverlib-0.2.8/neverlib/.history/vad/VAD_whisper_20250809232456.py +0 -55
- neverlib-0.2.8/neverlib/.specstory/.what-is-this.md +0 -69
- 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
- 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
- neverlib-0.2.8/neverlib/.specstory/history/2025-08-26_11-54Z-oserror-missing-shared-object-file.md +0 -87
- 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
- neverlib-0.2.8/neverlib/.specstory/history/2025-08-27_08-29Z-delete-python-file-command.md +0 -211
- 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
- neverlib-0.2.8/neverlib/audio_aug/__init__.py +0 -82
- neverlib-0.2.8/neverlib/data_analyze/__init__.py +0 -69
- neverlib-0.2.8/neverlib/filter/__init__.py +0 -40
- neverlib-0.2.8/neverlib/filter/auto_eq/__init__.py +0 -55
- neverlib-0.2.8/neverlib/metrics/__init__.py +0 -59
- neverlib-0.2.8/neverlib/tests/__init__.py +0 -33
- neverlib-0.2.8/neverlib/utils/__init__.py +0 -71
- neverlib-0.2.8/neverlib/utils/checkGPU.py +0 -122
- neverlib-0.2.8/neverlib/vad/__init__.py +0 -71
- neverlib-0.2.8/neverlib.egg-info/SOURCES.txt +0 -515
- {neverlib-0.2.8 → neverlib-0.2.9}/CLAUDE.md +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/LICENSE +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/MANIFEST.in +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/audio_aug/test_volume.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/audio_aug_test/test_snr.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/audio_aug_test/test_volume.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/audio_aug_test/test_volume.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/filter/biquad.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/filter/filter_family.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/filter/highpass.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/filter/scipy_filter_family.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_Energy.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_Silero.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_WebRTC.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_funasr.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_rvADfast.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_statistics.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_tenVAD.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_vadlib.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/Docs/vad/VAD_whisper.ipynb +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/QA/gen_init.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/QA/get_fun.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/QA/html2markdown.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/__init__.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/HarmonicDistortion.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/audio_aug.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/clip_aug.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/coder_aug.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/coder_aug2.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/audio_aug/loss_packet_aug.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/000_short_enhance.wav +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/3956_speech.wav +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/3956_sweep.wav +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/vad_example.wav +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/white.wav +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/white_EQ.wav +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data/white_matched.wav +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/README.md +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/dataset_analyzer.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/quality_metrics.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/rms_distrubution.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/spectral_analysis.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/statistics.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/temporal_features.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/data_analyze/visualization.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/README.md +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/auto_eq/README.md +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/auto_eq/de_eq.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/auto_eq/freq_eq.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/auto_eq/ga_eq_advanced.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/auto_eq/ga_eq_basic.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/biquad.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/filter/common.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/DNSMOS/bak_ovr.onnx +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/DNSMOS/model_v8.onnx +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/DNSMOS/sig.onnx +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/DNSMOS/sig_bak_ovr.onnx +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/dnsmos.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/lpc_lsp.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pDNSMOS/sig_bak_ovr.onnx +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/dsp.c +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/dsp.h +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesq.h +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesqdsp.c +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesqio.c +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesqmain.c +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesqmod.c +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/pesq_c/pesqpar.h +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/snr.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/spec.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/test_pesq.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/metrics/time.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/tests/test_imports.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/tests/test_preprocess.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/tests/test_vad.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/utils/lazy_expose.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/utils/lazy_module.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/utils/message.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/PreProcess.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/README.md +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_Energy.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_Silero.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_WebRTC.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_funasr.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_statistics.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_vadlib.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/VAD_whisper.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/class_get_speech.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/class_vad.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/img.png +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib/vad/utils.py +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib.egg-info/dependency_links.txt +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib.egg-info/requires.txt +0 -0
- {neverlib-0.2.8 → neverlib-0.2.9}/neverlib.egg-info/top_level.txt +0 -0
- {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.
|
|
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
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
@@ -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
|
+
)
|
|
File without changes
|
|
@@ -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
|
-
|
|
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.
|
|
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
|
+
)
|
|
File without changes
|
|
@@ -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
|
+
)
|