tec / README.md
wq2012's picture
Add multi-model precomputed checkpoint WAVs, execution-mode indicator, and text-conditioned browser fallback
44b657f
|
Raw History Blame Contribute Delete
2.66 kB
metadata
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

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 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 and the standalone Python Gradio app in app.py + requirements.txt for full Lingvo/TensorFlow checkpoint inference on arbitrary files via python3 app.py.)