إطار تعزيز خطاب التعقيد منخفضة للصوت الكامل (48 كيلو هرتز) باستخدام التصفية العميقة.
لتكامل pipewire كميكروفون لقمع الضوضاء الظاهرية هنا.
لتشغيل العرض التوضيحي (Linux فقط) استخدم:
cargo +nightly run -p df-demo --features ui --bin df-demo --releaseتوضيح جديد DeepFilternet: DeepFilternet: تعزيز الكلام في الوقت الفعلي بدافع إدراكي
ورقة تصفية متعددة الإطار جديدة: تصفية متعددة الإطار العميقة لأدوات السمع
نسخة في الوقت الحقيقي ومساعد LADSPA
deep-filter audio-file.wavورقة DeepFilternet2: DeepFilternet2: نحو تعزيز الكلام في الوقت الفعلي على الأجهزة المدمجة للصوت الكامل النطاق
ورقة DeepFilternet الأصلية: DeepFilternet: إطار تعزيز الكلام منخفض التعقيد للصوت الكامل على أساس التصفية العميقة
قم بتنزيل ثنائي المرشح العميق المسبق من صفحة الإصدار. يمكنك استخدام deep-filter لقمع الضوضاء في ملفات الصوت. WAV. حاليًا ، يتم دعم ملفات WAV فقط بمعدل أخذ العينات 48 كيلو هرتز.
USAGE:
deep-filter [OPTIONS] [FILES]...
ARGS:
< FILES > ...
OPTIONS:
-D, --compensate-delay
Compensate delay of STFT and model lookahead
-h, --help
Print help information
-m, --model < MODEL >
Path to model tar.gz. Defaults to DeepFilterNet2.
-o, --out-dir < OUT_DIR >
[default: out]
--pf
Enable postfilter
-v, --verbose
Logging verbosity
-V, --version
Print version informationإذا كنت ترغب في استخدام الواجهة الخلفية Pytorch على سبيل المثال لمعالجة GPU ، راجع المزيد أدناه لاستخدام Python.
يدعم هذا الإطار Linux و MacOS و Windows. يتم اختبار التدريب فقط تحت Linux. الإطار منظم على النحو التالي:
libDF على رمز الصدأ المستخدمة لتحميل البيانات وزيادةها.DeepFilterNet على التدريب على رمز DeepFilternet وتقييمه وتصوره وكذلك أوزان النموذج المسبق.pyDF على غلاف Python من حلقة معالجة LIBDF STFT/ISTFT.pyDF-data على غلاف Python من وظيفة مجموعة بيانات LIBDF ويوفر محمل بيانات PYTORCH.ladspa على مكون إضافي LADSPA لقمع الضوضاء في الوقت الفعلي.models تحتوي على ما قبل المسبق للاستخدام في DeepFilternet (Python) أو LibDF/المرشح العميق (الصدأ)قم بتثبيت عجلة Python DeepFilternet عبر PIP:
# Install cpu/cuda pytorch (>=1.9) dependency from pytorch.org, e.g.:
pip install torch torchaudio -f https://download.pytorch.org/whl/cpu/torch_stable.html
# Install DeepFilterNet
pip install deepfilternet
# Or install DeepFilterNet including data loading functionality for training (Linux only)
pip install deepfilternet[train]لتعزيز ملفات الصوت الصاخبة باستخدام DeepFilternet Run
# Specify an output directory with --output-dir [OUTPUT_DIR]
deepFilter path/to/noisy_audio.wav تثبيت البضائع عبر Rustup. استخدام conda أو virtualenv الموصى بها. يرجى قراءة التعليقات وتنفيذ الأوامر التي تحتاجها فقط.
تركيب تبعيات بيثون و libdf:
cd path/to/DeepFilterNet/ # cd into repository
# Recommended: Install or activate a python env
# Mandatory: Install cpu/cuda pytorch (>=1.8) dependency from pytorch.org, e.g.:
pip install torch torchaudio -f https://download.pytorch.org/whl/cpu/torch_stable.html
# Install build dependencies used to compile libdf and DeepFilterNet python wheels
pip install maturin poetry
# Install remaining DeepFilterNet python dependencies
# *Option A:* Install DeepFilterNet python wheel globally within your environment. Do this if you want use
# this repos as is, and don't want to develop within this repository.
poetry -C DeepFilterNet install -E train -E eval
# *Option B:* If you want to develop within this repo, install only dependencies and work with the repository version
poetry -C DeepFilterNet install -E train -E eval --no-root
export PYTHONPATH= $PWD /DeepFilterNet # And set the python path correctly
# Build and install libdf python package required for enhance.py
maturin develop --release -m pyDF/Cargo.toml
# *Optional*: Install libdfdata python package with dataset and dataloading functionality for training
# Required build dependency: HDF5 headers (e.g. ubuntu: libhdf5-dev)
maturin develop --release -m pyDF-data/Cargo.toml
# If you have troubles with hdf5 you may try to build and link hdf5 statically:
maturin develop --release --features hdf5-static -m pyDF-data/Cargo.tomlلتعزيز ملفات الصوت الصاخبة باستخدام DeepFilternet Run
$ python DeepFilterNet/df/enhance.py --help
usage: enhance.py [-h] [--model-base-dir MODEL_BASE_DIR] [--pf] [--output-dir OUTPUT_DIR] [--log-level LOG_LEVEL] [--compensate-delay]
noisy_audio_files [noisy_audio_files ...]
positional arguments:
noisy_audio_files List of noise files to mix with the clean speech file.
optional arguments:
-h, --help show this help message and exit
--model-base-dir MODEL_BASE_DIR, -m MODEL_BASE_DIR
Model directory containing checkpoints and config.
To load a pretrained model, you may just provide the model name, e.g. ` DeepFilterNet ` .
By default, the pretrained DeepFilterNet2 model is loaded.
--pf Post-filter that slightly over-attenuates very noisy sections.
--output-dir OUTPUT_DIR, -o OUTPUT_DIR
Directory in which the enhanced audio files will be stored.
--log-level LOG_LEVEL
Logger verbosity. Can be one of (debug, info, error, none)
--compensate-delay, -D
Add some paddig to compensate the delay introduced by the real-time STFT/ISTFT implementation.
# Enhance audio with original DeepFilterNet
python DeepFilterNet/df/enhance.py -m DeepFilterNet path/to/noisy_audio.wav
# Enhance audio with DeepFilterNet2
python DeepFilterNet/df/enhance.py -m DeepFilterNet2 path/to/noisy_audio.wav from df import enhance , init_df
model , df_state , _ = init_df () # Load default model
enhanced_audio = enhance ( model , df_state , noisy_audio )انظر هنا للحصول على مثال كامل.
نقطة الدخول هي DeepFilterNet/df/train.py . ويتوقع دليل بيانات يحتوي على مجموعة بيانات HDF5 بالإضافة إلى ملف JSON تكوين مجموعة البيانات.
لذلك ، تحتاج أولاً إلى إنشاء مجموعات البيانات الخاصة بك بتنسيق HDF5. عادةً ما تحمل كل مجموعة بيانات التدريب أو التحقق من الصحة أو اختبار الضوضاء أو الكلام أو RIRS.
# Install additional dependencies for dataset creation
pip install h5py librosa soundfile
# Go to DeepFilterNet python package
cd path / to / DeepFilterNet / DeepFilterNet
# Prepare text file (e.g. called training_set.txt) containing paths to .wav files
#
# usage: prepare_data.py [-h] [--num_workers NUM_WORKERS] [--max_freq MAX_FREQ] [--sr SR] [--dtype DTYPE]
# [--codec CODEC] [--mono] [--compression COMPRESSION]
# type audio_files hdf5_db
#
# where:
# type: One of `speech`, `noise`, `rir`
# audio_files: Text file containing paths to audio files to include in the dataset
# hdf5_db: Output HDF5 dataset.
python df / scripts / prepare_data . py - - sr 48000 speech training_set . txt TRAIN_SET_SPEECH . hdf5يجب إتاحة جميع مجموعات البيانات في مجلد مجموعة بيانات واحدة لنص القطار.
يجب أن يحتوي ملف تكوين مجموعة البيانات على 3 إدخالات: "Train" ، "Valid" ، "Test". يحتوي كل من هذه على قائمة مجموعات البيانات (مثل الكلام والضوضاء ومجموعة بيانات RIR). يمكنك استخدام مجموعة بيانات الكلام أو الضوضاء المتعددة. اختياريا ، قد يتم تحديد عامل أخذ العينات يمكن استخدامه لأكثر من/عينة من مجموعة البيانات. لنفترض ، لديك مجموعة بيانات محددة ذات ضوضاء عابرة وتريد زيادة كمية الضوضاء غير الثابتة عن طريق الإفراط في التغلب. في معظم الحالات ، تريد ضبط هذا العامل على 1.
dataset.cfg
{
"train" : [
[
" TRAIN_SET_SPEECH.hdf5 " ,
1.0
],
[
" TRAIN_SET_NOISE.hdf5 " ,
1.0
],
[
" TRAIN_SET_RIR.hdf5 " ,
1.0
]
],
"valid" : [
[
" VALID_SET_SPEECH.hdf5 " ,
1.0
],
[
" VALID_SET_NOISE.hdf5 " ,
1.0
],
[
" VALID_SET_RIR.hdf5 " ,
1.0
]
],
"test" : [
[
" TEST_SET_SPEECH.hdf5 " ,
1.0
],
[
" TEST_SET_NOISE.hdf5 " ,
1.0
],
[
" TEST_SET_RIR.hdf5 " ,
1.0
]
]
} وأخيرا ، ابدأ البرنامج النصي التدريبي. قد يقوم البرنامج النصي التدريبي بإنشاء نموذج base_dir إن لم يكن موجودًا في التسجيل ، وبعض عينات الصوت ، ونقاط التفتيش النموذجية ، والتكوين. إذا لم يتم العثور على ملف تكوين ، فسيقوم بإنشاء تكوين افتراضي. انظر DeepFilternet/PretRained_Models/DeepFilternet للحصول على ملف التكوين.
# usage: train.py [-h] [--debug] data_config_file data_dir base_dir
python df / train . py path / to / dataset . cfg path / to / data_dir / path / to / base_dir / لإعادة إنتاج أي مقاييس ، نتوصي باستخدام تطبيق Python عبر pip install deepfilternet .
إذا كنت تستخدم هذا الإطار ، فيرجى الاستشهاد: DeepFilternet: إطار عمل منخفض تعقيد تعقيد التعقيد للصوت الكامل على أساس التصفية العميقة
@inproceedings { schroeter2022deepfilternet ,
title = { {DeepFilterNet}: A Low Complexity Speech Enhancement Framework for Full-Band Audio based on Deep Filtering } ,
author = { Schröter, Hendrik and Escalante-B., Alberto N. and Rosenkranz, Tobias and Maier, Andreas } ,
booktitle = { ICASSP 2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) } ,
year = { 2022 } ,
organization = { IEEE }
}إذا كنت تستخدم طراز DeepFilternet2 ، فيرجى الاستشهاد: DeepFilternet2: نحو تعزيز الكلام في الوقت الفعلي على الأجهزة المدمجة للصوت الكامل
@inproceedings { schroeter2022deepfilternet2 ,
title = { {DeepFilterNet2}: Towards Real-Time Speech Enhancement on Embedded Devices for Full-Band Audio } ,
author = { Schröter, Hendrik and Escalante-B., Alberto N. and Rosenkranz, Tobias and Maier, Andreas } ,
booktitle = { 17th International Workshop on Acoustic Signal Enhancement (IWAENC 2022) } ,
year = { 2022 } ,
}إذا كنت تستخدم نموذج DeepFilternet3 ، فيرجى الاستشهاد: DeepFilternet: تعزيز الكلام في الوقت الفعلي مدعومًا
@inproceedings { schroeter2023deepfilternet3 ,
title = { {DeepFilterNet}: Perceptually Motivated Real-Time Speech Enhancement } ,
author = { Schröter, Hendrik and Rosenkranz, Tobias and Escalante-B., Alberto N. and Maier, Andreas } ,
booktitle = { INTERSPEECH } ,
year = { 2023 } ,
}إذا كنت تستخدم خوارزميات الشكل المتعددة الإطار. يرجى الاستشهاد بتصفية متعددة الإطار العميقة لأدوات السمع
@inproceedings { schroeter2023deep_mf ,
title = { Deep Multi-Frame Filtering for Hearing Aids } ,
author = { Schröter, Hendrik and Rosenkranz, Tobias and Escalante-B., Alberto N. and Maier, Andreas } ,
booktitle = { INTERSPEECH } ,
year = { 2023 } ,
}DeepFilternet مجاني ومفتوح المصدر! جميع التعليمات البرمجية في هذا المستودع مرخصة مزدوجة تحت:
في خيارك. هذا يعني أنه يمكنك تحديد الترخيص الذي تفضله!
ما لم تقل بشكل صريح على خلاف ذلك ، فإن أي مساهمة تم تقديمها عمداً لإدراجها في العمل بواسطتك ، كما هو محدد في ترخيص Apache-2.0 ، تكون مرخصة مزدوجة على النحو الوارد أعلاه ، دون أي شروط أو شروط إضافية.