Instructions to use Cnam-LMSSC/EBEN_soft_in_ear_microphone with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Cnam-LMSSC/EBEN_soft_in_ear_microphone with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Cnam-LMSSC/EBEN_soft_in_ear_microphone", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| language: fr | |
| license: mit | |
| library_name: transformers | |
| tags: | |
| - audio | |
| - audio-to-audio | |
| - speech | |
| datasets: | |
| - Cnam-LMSSC/vibravox | |
| model-index: | |
| - name: EBEN(M=4,P=2,Q=4) | |
| results: | |
| - task: | |
| name: Bandwidth Extension | |
| type: speech-enhancement | |
| dataset: | |
| name: Vibravox["soft_in_ear_microphone"] | |
| type: Cnam-LMSSC/vibravox | |
| args: fr | |
| metrics: | |
| - name: Test STOI, in-domain training | |
| type: stoi | |
| value: 0.8676 | |
| - name: Test Noresqa-MOS, in-domain training | |
| type: n-mos | |
| value: 4.331 | |
| <p align="center"> | |
| <img src="https://cdn-uploads.huggingface.co/production/uploads/65302a613ecbe51d6a6ddcec/zhB1fh-c0pjlj-Tr4Vpmr.png" style="object-fit:contain; width:280px; height:280px;" > | |
| </p> | |
| # Model Card | |
| - **Developed by:** [Cnam-LMSSC](https://huggingface.co/Cnam-LMSSC) | |
| - **Model:** [EBEN(M=4,P=2,Q=4)](https://github.com/jhauret/vibravox/blob/main/vibravox/torch_modules/dnn/eben_generator.py) (see [publication in IEEE TASLP](https://ieeexplore.ieee.org/document/10244161) - [arXiv link](https://arxiv.org/abs/2303.10008)) | |
| - **Language:** French | |
| - **License:** MIT | |
| - **Training dataset:** `speech_clean` subset of [Cnam-LMSSC/vibravox](https://huggingface.co/datasets/Cnam-LMSSC/vibravox) (see [VibraVox paper on arXiV](https://arxiv.org/abs/2407.11828)) | |
| - **Testing dataset:** `speech_clean` subset of [Cnam-LMSSC/vibravox](https://huggingface.co/datasets/Cnam-LMSSC/vibravox) | |
| - **Samplerate for usage:** 16kHz | |
| ## Overview | |
| This bandwidth extension model, trained on [Vibravox](https://huggingface.co/datasets/Cnam-LMSSC/vibravox) body conduction sensor data, enhances body-conducted speech audio by denoising and regenerating mid and high frequencies from low-frequency content. | |
| ## Disclaimer | |
| This model, trained for **a specific non-conventional speech sensor**, is intended to be used with **in-domain data**. Using it with other sensor data may lead to suboptimal performance. | |
| ## Link to BWE models trained on other body conducted sensors : | |
| The entry point to all EBEN models for Bandwidth Extension (BWE) is available at [https://huggingface.co/Cnam-LMSSC/vibravox_EBEN_models](https://huggingface.co/Cnam-LMSSC/vibravox_EBEN_models). | |
| ## Training procedure | |
| Detailed instructions for reproducing the experiments are available on the [jhauret/vibravox](https://github.com/jhauret/vibravox) Github repository. | |
| ## Inference script : | |
| ```python | |
| import torch, torchaudio | |
| from vibravox.torch_modules.dnn.eben_generator import EBENGenerator | |
| from datasets import load_dataset | |
| model = EBENGenerator.from_pretrained("Cnam-LMSSC/EBEN_soft_in_ear_microphone") | |
| test_dataset = load_dataset("Cnam-LMSSC/vibravox", "speech_clean", split="test", streaming=True) | |
| audio_48kHz = torch.Tensor(next(iter(test_dataset))["audio.soft_in_ear_microphone"]["array"]) | |
| audio_16kHz = torchaudio.functional.resample(audio_48kHz, orig_freq=48_000, new_freq=16_000) | |
| cut_audio_16kHz = model.cut_to_valid_length(audio_16kHz[None, None, :]) | |
| enhanced_audio_16kHz, enhanced_speech_decomposed = model(cut_audio_16kHz) | |
| ``` | |