[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80137":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":11,"openIssues":12,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":14,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":15,"rankGlobal":8,"rankLanguage":8,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":8,"pushedAt":8,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":13,"starSnapshotCount":13,"syncStatus":11,"lastSyncTime":24,"discoverSource":25},80137,"DTLN_v2.0","imperia-ran\u002FDTLN_v2.0","imperia-ran",null,"Python",119,2,4,0,62,44.63,"MIT License",false,"main",true,[],"2026-06-12 04:01:26","# DTLN_v2.0\n\n[![tests](https:\u002F\u002Fgithub.com\u002Fimperia-ran\u002FDTLN_v2.0\u002Factions\u002Fworkflows\u002Ftests.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fimperia-ran\u002FDTLN_v2.0\u002Factions\u002Fworkflows\u002Ftests.yml)\n\nThis repository is the new home for the improved DTLN\u002FAEC rewrite formerly\nhosted at `https:\u002F\u002Fgithub.com\u002FGR33N-WCL\u002FDTLN_improved.git`.\n\nIt is a ground-up rewrite of the original DTLN\ncodebase and the existing repository-specific AEC branch. The project keeps the\ncore Dual-Signal Transformation LSTM ideas, but turns the repository into a\nmaintainable Python package with explicit configuration, reusable data\npipelines, test coverage, conversion helpers, and compatibility shims for the\nlegacy scripts.\n\n## Retained advantages\n\nThe rewrite intentionally keeps the strengths of the original project and the\nexisting AEC branch:\n\n- The real-time two-stage DTLN\u002FAEC inference structure is preserved.\n- Existing TFLite model artifacts under `DTLNbeta\u002F` remain usable.\n- Legacy entry points are still available through compatibility wrappers.\n- The repository-specific dual-input AEC workflow is kept instead of being\n  flattened into a denoising-only layout.\n\nWhat improved around those strengths:\n\n- The code is now package-structured and configuration-driven instead of being\n  centered on one large script.\n- Data validation, manifest building, export, inspection, and reporting are now\n  first-class modules.\n- Training, export, offline inference, and streaming-style inference share\n  reusable runtime code.\n- Regression tests and benchmark scripts are included so changes can be checked\n  instead of guessed.\n\n## What changed\n\n- The single-file training script was decomposed into a package under\n  `src\u002Fmoneyprint_dtln`.\n- Both the original single-input denoising model and the repository-specific\n  dual-input acoustic echo cancellation model are supported.\n- Dataset indexing, file pairing, frame chunking, and metadata validation now\n  live in dedicated modules.\n- Export to SavedModel and TFLite is routed through reusable service classes.\n- Offline enhancement and frame-by-frame streaming inference are built on top of\n  shared runtime code.\n- The previous `DTLNbeta` scripts are kept as thin compatibility wrappers so\n  existing workflows do not break immediately.\n\n## Benchmarks\n\nThe repository now includes benchmark scripts and reports for the rewritten\nruntime path.\n\n- Real TFLite runtime benchmark: the rewritten inference loop is about 6% to 7%\n  faster than the previous loop while producing identical output for the same\n  AEC `.tflite` weights.\n- Quality regression checks: legacy and rewritten loops produce identical audio\n  output on the tested real `.tflite` models, so the rewrite does not introduce\n  an inference-quality regression by itself.\n- The benchmark work also showed that the current checked-in AEC weights are the\n  limiting factor for quality on the tested speech cases; the runtime rewrite\n  improves execution efficiency, not the learned model quality.\n\n## Layout\n\n```text\nsrc\u002Fmoneyprint_dtln\u002F\n  config.py            typed project configuration\n  data\u002F                manifests, file pairing, and tf.data creation\n  models\u002F              DTLN denoiser and AEC model builders\n  training.py          trainer and callbacks\n  exporters.py         SavedModel and TFLite export\n  runtime.py           offline and streaming inference\n  cli.py               command line entry point\ntests\u002F\n  lightweight tests for config, manifests, and audio framing helpers\nDTLNbeta\u002F\n  legacy compatibility wrappers\n```\n\n## Documentation\n\n- [Usage guide](docs\u002Fusage.md)\n- [Data conventions](docs\u002Fdata.md)\n- [Testing guide](docs\u002Ftesting.md)\n- [Benchmarking notes](docs\u002Fbenchmarking.md)\n- [Architecture overview](docs\u002Farchitecture.md)\n- [Rewrite evidence checklist](docs\u002Frewrite-evidence.md)\n- [Contribution guide](CONTRIBUTING.md)\n- [Changelog](CHANGELOG.md)\n\n## Quick start\n\nInstall the package in editable mode:\n\n```bash\npip install -e .\n```\n\nInspect the available commands:\n\n```bash\npython -m moneyprint_dtln.cli --help\n```\n\nCreate a dataset manifest:\n\n```bash\npython -m moneyprint_dtln.cli manifest \\\n  --config configs\u002Faec_train.json \\\n  --root \u002Fpath\u002Fto\u002Fdataset \\\n  --output dataset_manifest.json\n```\n\nTrain the AEC model:\n\n```bash\npython -m moneyprint_dtln.cli train \\\n  --config configs\u002Faec_train.json\n```\n\nEnhance a folder offline:\n\n```bash\npython -m moneyprint_dtln.cli enhance \\\n  --config configs\u002Faec_infer_tflite.json \\\n  --input \u002Fpath\u002Fto\u002Finput \\\n  --output \u002Fpath\u002Fto\u002Foutput\n```\n\n## Data conventions\n\nThe denoising mode expects parallel noisy and clean `.wav` files with the same\nrelative path under separate roots.\n\nThe AEC mode expects triplets that can be identified by a shared suffix:\n\n- `nearend_mic_fileid_\u003Cid>.wav`\n- `farend_speech_fileid_\u003Cid>.wav`\n- `nearend_speech_fileid_\u003Cid>.wav`\n\nThe pairing logic is configurable if your naming rules differ.\n\n## Notes\n\n- TensorFlow is loaded lazily so utility modules and tests can run without a\n  full training environment.\n- The repository still contains historical model artifacts under `DTLNbeta\u002F`.\n  They are not required for the new package layout.\n","DTLN_v2.0 是一个用于实时双信号变换 LSTM 的声学回声消除和降噪项目的改进版本。项目核心功能包括保留了原版的两阶段 DTLN\u002FAEC 推理结构，同时重构为可维护的 Python 包，提供了明确的配置、可重用的数据管道、测试覆盖以及与旧脚本的兼容性封装。技术特点上，它通过模块化设计提升了代码的可维护性和扩展性，支持单输入降噪模型和双输入声学回声消除模型，并优化了导出到 SavedModel 和 TFLite 的流程。适用于需要高质量音频处理的应用场景，如在线会议、电话通讯等，特别适合那些已经使用了早期 DTLN 项目但希望获得更好性能和更简洁代码结构的用户。","2026-06-11 03:59:24","CREATED_QUERY"]