https://huggingface.co/facebook/mms-tts-mlg with ONNX weights to be compatible with Transformers.js.
Usage (Transformers.js)
If you haven't already, you can install the Transformers.js JavaScript library from NPM using:
npm i @xenova/transformers
Example: Generate Malagasy speech with elloza/mms-tts-mlg
.
import { pipeline } from '@xenova/transformers';
const synthesizer = await pipeline('text-to-speech', 'elloza/mms-tts-mlg', {
quantized: false,
});
const output = await synthesizer('manao ahoana');
console.log(output);
Optionally, save the audio to a wav file (Node.js):
import wavefile from 'wavefile';
import fs from 'fs';
const wav = new wavefile.WaveFile();
wav.fromScratch(1, output.sampling_rate, '32f', output.audio);
fs.writeFileSync('out.wav', wav.toBuffer());
Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using 🤗 Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx
).