CoolFace
Modelpublic

Cnam-LMSSC/EBEN_noisy_temple_vibration_pickup

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes9downloads
Model Card

<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

Overview

This bandwidth extension model, trained on 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.

Training procedure

Detailed instructions for reproducing the experiments are available on the 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_noisy_temple_vibration_pickup")
test_dataset = load_dataset("Cnam-LMSSC/vibravox", "speech_noisy", split="test", streaming=True)

audio_48kHz = torch.Tensor(next(iter(test_dataset))["audio.temple_vibration_pickup"]["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)