jhauret's picture
Update README.md
b453375 verified
---
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
---
<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=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)
```