|
--- |
|
library_name: fairseq |
|
task: audio-to-audio |
|
tags: |
|
- fairseq |
|
- audio |
|
- audio-to-audio |
|
- speech-to-speech-translation |
|
|
|
datasets: |
|
- mtedx |
|
- covost2 |
|
- europarl_st |
|
- voxpopuli |
|
widget: |
|
- example_title: Common Voice sample 1 |
|
src: https://huggingface.co/facebook/xm_transformer_600m-es_en-multi_domain/resolve/main/common_voice_es_19966634.flac |
|
--- |
|
|
|
## Usage |
|
```python |
|
from fairseq.checkpoint_utils import load_model_ensemble_and_task_from_hf_hub |
|
from fairseq.models.text_to_speech.hub_interface import S2THubInterface |
|
from fairseq.models.text_to_speech.hub_interface import TTSHubInterface |
|
import IPython.display as ipd |
|
import torchaudio |
|
|
|
|
|
models, cfg, task = load_model_ensemble_and_task_from_hf_hub( |
|
"facebook/xm_transformer_600m-es_en-multi_domain", |
|
arg_overrides={"config_yaml": "config.yaml"}, |
|
) |
|
model = models[0] |
|
generator = task.build_generator(model, cfg) |
|
|
|
|
|
# requires 16000Hz mono channel audio |
|
audio, _ = torchaudio.load("/path/to/an/audio/file") |
|
|
|
sample = S2THubInterface.get_model_input(task, audio) |
|
text = S2THubInterface.get_prediction(task, model, generator, sample) |
|
|
|
# speech synthesis |
|
tts_models, tts_cfg, tts_task = load_model_ensemble_and_task_from_hf_hub( |
|
f"facebook/fastspeech2-en-ljspeech", |
|
arg_overrides={"vocoder": "griffin_lim", "fp16": False}, |
|
) |
|
tts_model = tts_models[0] |
|
TTSHubInterface.update_cfg_with_data_cfg(tts_cfg, tts_task.data_cfg) |
|
tts_generator = tts_task.build_generator([tts_model], tts_cfg) |
|
|
|
tts_sample = TTSHubInterface.get_model_input(tts_task, text) |
|
wav, sr = TTSHubInterface.get_prediction( |
|
tts_task, tts_model, tts_generator, tts_sample |
|
) |
|
|
|
ipd.Audio(wav, rate=rate) |
|
``` |
|
|
|
|