File size: 3,018 Bytes
e03e8a3
 
 
 
 
9419e6c
 
 
e03e8a3
9419e6c
 
d06761a
9419e6c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e03e8a3
0a0fa3a
 
 
 
 
e03e8a3
 
 
1553f03
e03e8a3
 
fad7e51
e03e8a3
 
 
 
1aa9cf1
e03e8a3
 
1aa9cf1
e03e8a3
1aa9cf1
 
 
e03e8a3
 
 
 
 
 
 
 
 
3b3e7c4
e03e8a3
 
1551672
0a0fa3a
 
 
 
e03e8a3
3b3e7c4
e6b3b3c
e03e8a3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
---
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["rigid_in_ear_microphone"]
          type: Cnam-LMSSC/vibravox
          args: fr
        metrics:
          - name: Test STOI, in-domain training
            type: stoi
            value: 0.8773
          - name: Test Noresqa-MOS, in-domain training
            type: n-mos
            value: 4.285
---

<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))
- **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_rigid_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.rigid_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)
```