--- language: fr license: mit library_name: transformers tags: - audio - audio-to-audio - speech datasets: - Cnam-LMSSC/vibravox model-index: - name: EBEN(M=4,P=4,Q=4) results: - task: name: Bandwidth Extension type: speech-enhancement dataset: name: Vibravox["headset_microphone"] to Vibravox["temple_vibration_pickup"] type: Cnam-LMSSC/vibravox args: fr metrics: - name: Test STOI, in-domain training type: stoi value: 0.4351 ---
# Model Card - **Developed by:** [Cnam-LMSSC](https://huggingface.co/Cnam-LMSSC) - **Model:** [EBEN(M=4,P=4,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) - **Samplerate for usage:** 16kHz ## Overview This model, trained on [Vibravox](https://huggingface.co/datasets/Cnam-LMSSC/vibravox) body conduction sensor data, maps clean speech to body-conducted speech. ## 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_reverse_temple_vibration_pickup") test_dataset = load_dataset("Cnam-LMSSC/vibravox", "speech_clean", split="test", streaming=True) audio_48kHz = torch.Tensor(next(iter(test_dataset))["audio.headset_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, :]) degraded_audio_16kHz, _ = model(cut_audio_16kHz) ```