|
Download README.md from wq2012/tec: direct link, hf CLI and curl.
- Browser
- Download file 2.66 kB
-
https://huggingface.co/spaces/wq2012/tec/resolve/main/README.md
- Command line
-
hf download hf://spaces/wq2012/tec/README.md
-
curl -L -o README.md https://huggingface.co/spaces/wq2012/tec/resolve/main/README.md
2.66 kB
| title: Textual Echo Cancellation (TEC) | |
| emoji: 🎙️ | |
| colorFrom: blue | |
| colorTo: indigo | |
| sdk: static | |
| pinned: false | |
| license: apache-2.0 | |
| models: | |
| - wq2012/tec_single_interfering | |
| - wq2012/tec_multi_interfering | |
| - wq2012/aec_single_interfering | |
| - wq2012/aec_multi_interfering | |
| - wq2012/vanilla_seq2seq_single_interfering | |
| - wq2012/vanilla_seq2seq_multi_interfering | |
| short_description: Cancel TTS playback echo using source text and compare ASR | |
| # Textual Echo Cancellation (TEC) — Interactive Demo | |
| This Space demonstrates **Textual Echo Cancellation (TEC)** based on the IEEE SLT 2021 paper: | |
| > **Textual Echo Cancellation** | |
| > *Shaojin Ding, Ye Jia, Ke Hu, Quan Wang* | |
| > - **Paper**: [arXiv:2008.06006](https://arxiv.org/abs/2008.06006) | |
| > - **GitHub Repository**: [https://github.com/wq2012/tec](https://github.com/wq2012/tec) | |
| > - **PyPI Package**: [`textual-echo-cancellation`](https://pypi.org/project/textual-echo-cancellation/) (`pip install textual-echo-cancellation`) | |
| > - **Pretrained Models**: [`wq2012/tec_single_interfering`](https://huggingface.co/wq2012/tec_single_interfering) | [`wq2012/tec_multi_interfering`](https://huggingface.co/wq2012/tec_multi_interfering) | [`wq2012/aec_single_interfering`](https://huggingface.co/wq2012/aec_single_interfering) | |
| > - **Audio Demo Page**: [https://google.github.io/speaker-id/publications/TEC/](https://google.github.io/speaker-id/publications/TEC/) | |
| ## How It Works | |
| 1. **Upload an audio file** containing a microphone mixture (a user speaking while a device is playing back a Text-to-Speech response) or select one of the 4 built-in benchmark examples. | |
| 2. **Enter the interfering TTS text** (the source text of the device's TTS playback) and select a model (`TecSingleInterfering`, `TecMultiInterfering`, or `AecSingleInterfering`). | |
| 3. Click **Run Textual Echo Cancellation & Compare ASR**: | |
| - Runs **ASR on the user uploaded audio file** (Before TEC). | |
| - Runs **Echo Cancellation** (loading the exact Lingvo checkpoint outputs in `examples/sample_1..4_{tec_single,tec_multi,aec_single}.wav` generated by [`generate_examples.py`](generate_examples.py) for the built-in benchmark examples, or running an in-browser WebAudio text-conditioned spectral canceller for custom uploaded files). | |
| - Runs **ASR on the Echo Cancelled audio file** (After TEC) and prints out the recognition results for both approaches side by side. | |
| *(This repository also includes [`generate_examples.py`](generate_examples.py) and the standalone Python Gradio app in [`app.py`](app.py) + [`requirements.txt`](requirements.txt) for full Lingvo/TensorFlow checkpoint inference on arbitrary files via `python3 app.py`.)* | |