Skip to content

Commit 5117333

Browse files
authored
Merge pull request #222 from soniqo/add/madlad-translation
Add MADLADTranslation: 400+ language translation (T5 v1.1, MLX)
2 parents ced4240 + 86263c2 commit 5117333

24 files changed

Lines changed: 2165 additions & 5 deletions

Package.swift

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ let package = Package(
7676
name: "Qwen3Chat",
7777
targets: ["Qwen3Chat"]
7878
),
79+
.library(
80+
name: "MADLADTranslation",
81+
targets: ["MADLADTranslation"]
82+
),
7983
.library(
8084
name: "SpeechUI",
8185
targets: ["SpeechUI"]
@@ -260,6 +264,17 @@ let package = Package(
260264
.product(name: "MLXFast", package: "mlx-swift"),
261265
]
262266
),
267+
.target(
268+
name: "MADLADTranslation",
269+
dependencies: [
270+
"AudioCommon",
271+
"MLXCommon",
272+
.product(name: "MLX", package: "mlx-swift"),
273+
.product(name: "MLXNN", package: "mlx-swift"),
274+
.product(name: "MLXFast", package: "mlx-swift"),
275+
.product(name: "Transformers", package: "swift-transformers"),
276+
]
277+
),
263278
.target(
264279
name: "SpeechUI",
265280
dependencies: []
@@ -285,6 +300,7 @@ let package = Package(
285300
"OmnilingualASR",
286301
"KokoroTTS",
287302
"VibeVoiceTTS",
303+
"MADLADTranslation",
288304
"SpeechWakeWord",
289305
"AudioCommon",
290306
.product(name: "MLX", package: "mlx-swift"),
@@ -425,6 +441,13 @@ let package = Package(
425441
"AudioCommon",
426442
]
427443
),
444+
.testTarget(
445+
name: "MADLADTranslationTests",
446+
dependencies: [
447+
"MADLADTranslation",
448+
"AudioCommon",
449+
]
450+
),
428451
.testTarget(
429452
name: "AudioCLITests",
430453
dependencies: [

README.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ AI speech models for Apple Silicon, powered by MLX Swift and CoreML.
66

77
On-device speech recognition, synthesis, and understanding for Mac and iOS. Runs locally on Apple Silicon — no cloud, no API keys, no data leaves your device.
88

9-
**[📚 Full Documentation →](https://soniqo.audio)** · **[🤗 HuggingFace Models](https://huggingface.co/aufklarer)** · **[📝 Blog](https://blog.ivan.digital)**
9+
**[📚 Full Documentation →](https://soniqo.audio)** · **[🤗 HuggingFace Models](https://huggingface.co/aufklarer)** · **[📝 Blog](https://blog.ivan.digital)** · **[💬 Discord](https://discord.gg/TnCryqEMgu)**
1010

1111
- **[Qwen3-ASR](https://soniqo.audio/guides/transcribe)** — Speech-to-text (automatic speech recognition, 52 languages, MLX + CoreML)
1212
- **[Parakeet TDT](https://soniqo.audio/guides/parakeet)** — Speech-to-text via CoreML (Neural Engine, NVIDIA FastConformer + TDT decoder, 25 languages)
@@ -19,6 +19,7 @@ On-device speech recognition, synthesis, and understanding for Mac and iOS. Runs
1919
- **[Kokoro TTS](https://soniqo.audio/guides/kokoro)** — On-device TTS (82M, CoreML/Neural Engine, 54 voices, iOS-ready, 10 languages)
2020
- **[VibeVoice TTS](https://soniqo.audio/guides/vibevoice)** — Long-form / multi-speaker TTS (Microsoft VibeVoice Realtime-0.5B + 1.5B, MLX, up to 90-min podcast/audiobook synthesis, EN/ZH)
2121
- **[Qwen3.5-Chat](https://soniqo.audio/guides/chat)** — On-device LLM chat (0.8B, MLX INT4 + CoreML INT8, DeltaNet hybrid, streaming tokens)
22+
- **[MADLAD-400](https://soniqo.audio/guides/translate)** — Many-to-many translation across 400+ languages (3B, MLX INT4 + INT8, T5 v1.1, Apache 2.0)
2223
- **[PersonaPlex](https://soniqo.audio/guides/respond)** — Full-duplex speech-to-speech (7B, audio in → audio out, 18 voice presets)
2324
- **[DeepFilterNet3](https://soniqo.audio/guides/denoise)** — Real-time noise suppression (2.1M params, 48 kHz)
2425
- **[Source Separation](https://soniqo.audio/guides/separate)** — Music source separation via Open-Unmix (UMX-HQ / UMX-L, 4 stems: vocals/drums/bass/other, 44.1 kHz stereo)
@@ -115,6 +116,7 @@ Compact view below. **[Full model catalogue with sizes, quantisations, download
115116
| [VibeVoice Realtime-0.5B](https://soniqo.audio/guides/vibevoice) | Text → Speech (long-form, multi-speaker) | MLX | 0.5B | EN/ZH |
116117
| [VibeVoice 1.5B](https://soniqo.audio/guides/vibevoice) | Text → Speech (up to 90-min podcast) | MLX | 1.5B | EN/ZH |
117118
| [Qwen3.5-Chat](https://soniqo.audio/guides/chat) | Text → Text (LLM) | MLX, CoreML | 0.8B | Multi |
119+
| [MADLAD-400](https://soniqo.audio/guides/translate) | Text → Text (Translation) | MLX | 3B | **400+** |
118120
| [PersonaPlex](https://soniqo.audio/guides/respond) | Speech → Speech | MLX | 7B | EN |
119121
| [Silero VAD](https://soniqo.audio/guides/vad) | Voice Activity Detection | MLX, CoreML | 309K | Agnostic |
120122
| [Pyannote](https://soniqo.audio/guides/diarize) | VAD + Diarization | MLX | 1.5M | Agnostic |
@@ -139,6 +141,7 @@ Then:
139141
```bash
140142
audio transcribe recording.wav
141143
audio speak "Hello world"
144+
audio translate "Hello, how are you?" --to es
142145
audio respond --input question.wav --transcript
143146
audio-server --port 8080 # local HTTP / WebSocket server (OpenAI-compatible /v1/realtime)
144147
```
@@ -166,6 +169,7 @@ import CosyVoiceTTS // Text-to-speech with voice cloning
166169
import KokoroTTS // Text-to-speech (iOS-ready)
167170
import VibeVoiceTTS // Long-form / multi-speaker TTS (EN/ZH)
168171
import Qwen3Chat // On-device LLM chat
172+
import MADLADTranslation // Many-to-many translation across 400+ languages
169173
import PersonaPlex // Full-duplex speech-to-speech
170174
import SpeechVAD // VAD + speaker diarization + embeddings
171175
import SpeechEnhancement // Noise suppression
@@ -267,6 +271,16 @@ chat.chat(messages: [(.user, "Explain MLX in one sentence")]) { token, isFinal i
267271
}
268272
```
269273

274+
### Translation — [full guide →](https://soniqo.audio/guides/translate)
275+
276+
```swift
277+
import MADLADTranslation
278+
279+
let translator = try await MADLADTranslator.fromPretrained()
280+
let es = try translator.translate("Hello, how are you?", to: "es")
281+
// → "Hola, ¿cómo estás?"
282+
```
283+
270284
### Voice Activity Detection — [full guide →](https://soniqo.audio/guides/vad)
271285

272286
```swift

README_de.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ KI-Sprachmodelle für Apple Silicon, basierend auf MLX Swift und CoreML.
66

77
Spracherkennung, -synthese und -verständnis auf dem Gerät für Mac und iOS. Läuft vollständig lokal auf Apple Silicon — keine Cloud, keine API-Schlüssel, keine Daten verlassen das Gerät.
88

9-
**[📚 Vollständige Dokumentation →](https://soniqo.audio/de)** · **[🤗 HuggingFace-Modelle](https://huggingface.co/aufklarer)** · **[📝 Blog](https://blog.ivan.digital)**
9+
**[📚 Vollständige Dokumentation →](https://soniqo.audio/de)** · **[🤗 HuggingFace-Modelle](https://huggingface.co/aufklarer)** · **[📝 Blog](https://blog.ivan.digital)** · **[💬 Discord](https://discord.gg/TnCryqEMgu)**
1010

1111
- **[Qwen3-ASR](https://soniqo.audio/de/guides/transcribe)** — Sprache-zu-Text (automatische Spracherkennung, 52 Sprachen, MLX + CoreML)
1212
- **[Parakeet TDT](https://soniqo.audio/de/guides/parakeet)** — Sprache-zu-Text über CoreML (Neural Engine, NVIDIA FastConformer + TDT-Decoder, 25 Sprachen)
@@ -19,6 +19,7 @@ Spracherkennung, -synthese und -verständnis auf dem Gerät für Mac und iOS. L
1919
- **[Kokoro TTS](https://soniqo.audio/de/guides/kokoro)** — TTS auf dem Gerät (82M, CoreML/Neural Engine, 54 Stimmen, iOS-tauglich, 10 Sprachen)
2020
- **[VibeVoice TTS](https://soniqo.audio/de/guides/vibevoice)** — Langform-/Multi-Speaker-TTS (Microsoft VibeVoice Realtime-0.5B + 1.5B, MLX, bis zu 90 Min. Podcast-/Hörbuch-Synthese, EN/ZH)
2121
- **[Qwen3.5-Chat](https://soniqo.audio/de/guides/chat)** — LLM-Chat auf dem Gerät (0.8B, MLX INT4 + CoreML INT8, DeltaNet-Hybrid, Token-Streaming)
22+
- **[MADLAD-400](https://soniqo.audio/de/guides/translate)** — Mehrsprachige Übersetzung über 400+ Sprachen (3B, MLX INT4 + INT8, T5 v1.1, Apache 2.0)
2223
- **[PersonaPlex](https://soniqo.audio/de/guides/respond)** — Vollduplex-Sprache-zu-Sprache (7B, Audio rein → Audio raus, 18 Stimmvoreinstellungen)
2324
- **[DeepFilterNet3](https://soniqo.audio/de/guides/denoise)** — Echtzeit-Rauschunterdrückung (2,1M Parameter, 48 kHz)
2425
- **[Quelltrennung](https://soniqo.audio/de/guides/separate)** — Musikquelltrennung mit Open-Unmix (UMX-HQ / UMX-L, 4 Stems: Gesang/Drums/Bass/Rest, 44,1 kHz Stereo)
@@ -115,6 +116,7 @@ Kompakte Übersicht unten. **[Vollständiger Modellkatalog mit Größen, Quantis
115116
| [VibeVoice Realtime-0.5B](https://soniqo.audio/de/guides/vibevoice) | Text → Sprache (Langform, Multi-Speaker) | MLX | 0.5B | EN/ZH |
116117
| [VibeVoice 1.5B](https://soniqo.audio/de/guides/vibevoice) | Text → Sprache (bis zu 90 Min. Podcast) | MLX | 1.5B | EN/ZH |
117118
| [Qwen3.5-Chat](https://soniqo.audio/de/guides/chat) | Text → Text (LLM) | MLX, CoreML | 0.8B | Multi |
119+
| [MADLAD-400](https://soniqo.audio/de/guides/translate) | Text → Text (Übersetzung) | MLX | 3B | **400+** |
118120
| [PersonaPlex](https://soniqo.audio/de/guides/respond) | Sprache → Sprache | MLX | 7B | EN |
119121
| [Silero VAD](https://soniqo.audio/de/guides/vad) | Sprachaktivitätserkennung | MLX, CoreML | 309K | Sprachunabhängig |
120122
| [Pyannote](https://soniqo.audio/de/guides/diarize) | VAD + Diarisierung | MLX | 1.5M | Sprachunabhängig |
@@ -139,6 +141,7 @@ Dann:
139141
```bash
140142
audio transcribe recording.wav
141143
audio speak "Hello world"
144+
audio translate "Hello, how are you?" --to es
142145
audio respond --input question.wav --transcript
143146
audio-server --port 8080 # lokaler HTTP/WebSocket-Server (OpenAI-kompatibles /v1/realtime)
144147
```
@@ -166,6 +169,7 @@ import CosyVoiceTTS // Sprachsynthese mit Stimmklonen
166169
import KokoroTTS // Sprachsynthese (iOS-tauglich)
167170
import VibeVoiceTTS // Langform-/Multi-Speaker-TTS (EN/ZH)
168171
import Qwen3Chat // LLM-Chat auf dem Gerät
172+
import MADLADTranslation // Mehrsprachige Übersetzung über 400+ Sprachen
169173
import PersonaPlex // Vollduplex-Sprache-zu-Sprache
170174
import SpeechVAD // VAD + Sprecherdiarisierung + Einbettungen
171175
import SpeechEnhancement // Rauschunterdrückung
@@ -267,6 +271,16 @@ chat.chat(messages: [(.user, "Explain MLX in one sentence")]) { token, isFinal i
267271
}
268272
```
269273

274+
### Übersetzung — [vollständige Anleitung →](https://soniqo.audio/de/guides/translate)
275+
276+
```swift
277+
import MADLADTranslation
278+
279+
let translator = try await MADLADTranslator.fromPretrained()
280+
let es = try translator.translate("Hello, how are you?", to: "es")
281+
// → "Hola, ¿cómo estás?"
282+
```
283+
270284
### Sprachaktivitätserkennung — [vollständige Anleitung →](https://soniqo.audio/de/guides/vad)
271285

272286
```swift

README_es.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Modelos de IA de voz para Apple Silicon, impulsados por MLX Swift y CoreML.
66

77
Reconocimiento, síntesis y comprensión de voz en el dispositivo para Mac e iOS. Se ejecuta localmente en Apple Silicon — sin nube, sin claves de API, ningún dato sale del dispositivo.
88

9-
**[📚 Documentación completa →](https://soniqo.audio/es)** · **[🤗 Modelos en HuggingFace](https://huggingface.co/aufklarer)** · **[📝 Blog](https://blog.ivan.digital)**
9+
**[📚 Documentación completa →](https://soniqo.audio/es)** · **[🤗 Modelos en HuggingFace](https://huggingface.co/aufklarer)** · **[📝 Blog](https://blog.ivan.digital)** · **[💬 Discord](https://discord.gg/TnCryqEMgu)**
1010

1111
- **[Qwen3-ASR](https://soniqo.audio/es/guides/transcribe)** — Voz a texto (reconocimiento automático del habla, 52 idiomas, MLX + CoreML)
1212
- **[Parakeet TDT](https://soniqo.audio/es/guides/parakeet)** — Voz a texto vía CoreML (Neural Engine, NVIDIA FastConformer + decodificador TDT, 25 idiomas)
@@ -19,6 +19,7 @@ Reconocimiento, síntesis y comprensión de voz en el dispositivo para Mac e iOS
1919
- **[Kokoro TTS](https://soniqo.audio/es/guides/kokoro)** — TTS en el dispositivo (82M, CoreML/Neural Engine, 54 voces, listo para iOS, 10 idiomas)
2020
- **[VibeVoice TTS](https://soniqo.audio/es/guides/vibevoice)** — TTS de formato largo / múltiples hablantes (Microsoft VibeVoice Realtime-0.5B + 1.5B, MLX, síntesis de podcast/audiolibro de hasta 90 min, EN/ZH)
2121
- **[Qwen3.5-Chat](https://soniqo.audio/es/guides/chat)** — Chat LLM en el dispositivo (0.8B, MLX INT4 + CoreML INT8, DeltaNet híbrido, tokens en streaming)
22+
- **[MADLAD-400](https://soniqo.audio/es/guides/translate)** — Traducción multidireccional entre 400+ idiomas (3B, MLX INT4 + INT8, T5 v1.1, Apache 2.0)
2223
- **[PersonaPlex](https://soniqo.audio/es/guides/respond)** — Voz a voz full-duplex (7B, audio de entrada → audio de salida, 18 presets de voz)
2324
- **[DeepFilterNet3](https://soniqo.audio/es/guides/denoise)** — Supresión de ruido en tiempo real (2.1M parámetros, 48 kHz)
2425
- **[Separación de fuentes](https://soniqo.audio/es/guides/separate)** — Separación de fuentes musicales con Open-Unmix (UMX-HQ / UMX-L, 4 stems: voces/batería/bajo/otros, 44,1 kHz estéreo)
@@ -115,6 +116,7 @@ Vista compacta a continuación. **[Catálogo completo de modelos con tamaños, c
115116
| [VibeVoice Realtime-0.5B](https://soniqo.audio/es/guides/vibevoice) | Texto → Voz (formato largo, múltiples hablantes) | MLX | 0.5B | EN/ZH |
116117
| [VibeVoice 1.5B](https://soniqo.audio/es/guides/vibevoice) | Texto → Voz (podcast de hasta 90 min) | MLX | 1.5B | EN/ZH |
117118
| [Qwen3.5-Chat](https://soniqo.audio/es/guides/chat) | Texto → Texto (LLM) | MLX, CoreML | 0.8B | Multi |
119+
| [MADLAD-400](https://soniqo.audio/es/guides/translate) | Texto → Texto (Traducción) | MLX | 3B | **400+** |
118120
| [PersonaPlex](https://soniqo.audio/es/guides/respond) | Voz → Voz | MLX | 7B | EN |
119121
| [Silero VAD](https://soniqo.audio/es/guides/vad) | Detección de actividad vocal | MLX, CoreML | 309K | Agnóstico |
120122
| [Pyannote](https://soniqo.audio/es/guides/diarize) | VAD + Diarización | MLX | 1.5M | Agnóstico |
@@ -139,6 +141,7 @@ Luego:
139141
```bash
140142
audio transcribe recording.wav
141143
audio speak "Hello world"
144+
audio translate "Hello, how are you?" --to es
142145
audio respond --input question.wav --transcript
143146
audio-server --port 8080 # servidor HTTP / WebSocket local (OpenAI-compatible /v1/realtime)
144147
```
@@ -166,6 +169,7 @@ import CosyVoiceTTS // Síntesis de voz con clonación
166169
import KokoroTTS // Síntesis de voz (listo para iOS)
167170
import VibeVoiceTTS // TTS de formato largo / múltiples hablantes (EN/ZH)
168171
import Qwen3Chat // Chat LLM en el dispositivo
172+
import MADLADTranslation // Traducción multidireccional entre 400+ idiomas
169173
import PersonaPlex // Voz a voz full-duplex
170174
import SpeechVAD // VAD + diarización + embeddings
171175
import SpeechEnhancement // Supresión de ruido
@@ -267,6 +271,16 @@ chat.chat(messages: [(.user, "Explain MLX in one sentence")]) { token, isFinal i
267271
}
268272
```
269273

274+
### Traducción — [guía completa →](https://soniqo.audio/es/guides/translate)
275+
276+
```swift
277+
import MADLADTranslation
278+
279+
let translator = try await MADLADTranslator.fromPretrained()
280+
let es = try translator.translate("Hello, how are you?", to: "es")
281+
// → "Hola, ¿cómo estás?"
282+
```
283+
270284
### Detección de actividad vocal — [guía completa →](https://soniqo.audio/es/guides/vad)
271285

272286
```swift

README_fr.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Modeles IA de parole pour Apple Silicon, propulses par MLX Swift et CoreML.
66

77
Reconnaissance, synthese et comprehension vocale embarquees pour Mac et iOS. S'execute entierement en local sur Apple Silicon -- sans cloud, sans cle API, aucune donnee ne quitte l'appareil.
88

9-
**[📚 Documentation complete →](https://soniqo.audio/fr)** · **[🤗 Modeles HuggingFace](https://huggingface.co/aufklarer)** · **[📝 Blog](https://blog.ivan.digital)**
9+
**[📚 Documentation complete →](https://soniqo.audio/fr)** · **[🤗 Modeles HuggingFace](https://huggingface.co/aufklarer)** · **[📝 Blog](https://blog.ivan.digital)** · **[💬 Discord](https://discord.gg/TnCryqEMgu)**
1010

1111
- **[Qwen3-ASR](https://soniqo.audio/fr/guides/transcribe)** -- Reconnaissance vocale (reconnaissance automatique de la parole, 52 langues, MLX + CoreML)
1212
- **[Parakeet TDT](https://soniqo.audio/fr/guides/parakeet)** -- Reconnaissance vocale via CoreML (Neural Engine, NVIDIA FastConformer + decodeur TDT, 25 langues)
@@ -19,6 +19,7 @@ Reconnaissance, synthese et comprehension vocale embarquees pour Mac et iOS. S'e
1919
- **[Kokoro TTS](https://soniqo.audio/fr/guides/kokoro)** -- TTS embarque (82M, CoreML/Neural Engine, 54 voix, compatible iOS, 10 langues)
2020
- **[VibeVoice TTS](https://soniqo.audio/fr/guides/vibevoice)** -- TTS long format / multi-locuteurs (Microsoft VibeVoice Realtime-0.5B + 1.5B, MLX, synthese de podcast/livre audio jusqu'a 90 min, EN/ZH)
2121
- **[Qwen3.5-Chat](https://soniqo.audio/fr/guides/chat)** -- Chat LLM embarque (0.8B, MLX INT4 + CoreML INT8, DeltaNet hybride, tokens en streaming)
22+
- **[MADLAD-400](https://soniqo.audio/fr/guides/translate)** — Traduction multidirectionnelle entre 400+ langues (3B, MLX INT4 + INT8, T5 v1.1, Apache 2.0)
2223
- **[PersonaPlex](https://soniqo.audio/fr/guides/respond)** -- Parole-a-parole en full-duplex (7B, audio entrant → audio sortant, 18 preselections de voix)
2324
- **[DeepFilterNet3](https://soniqo.audio/fr/guides/denoise)** -- Suppression de bruit en temps reel (2,1M parametres, 48 kHz)
2425
- **[Séparation de sources](https://soniqo.audio/fr/guides/separate)** — Séparation de sources musicales avec Open-Unmix (UMX-HQ / UMX-L, 4 stems : voix/batterie/basse/autres, 44,1 kHz stéréo)
@@ -115,6 +116,7 @@ Vue compacte ci-dessous. **[Catalogue complet des modeles avec tailles, quantifi
115116
| [VibeVoice Realtime-0.5B](https://soniqo.audio/fr/guides/vibevoice) | Texte → Parole (long format, multi-locuteurs) | MLX | 0.5B | EN/ZH |
116117
| [VibeVoice 1.5B](https://soniqo.audio/fr/guides/vibevoice) | Texte → Parole (podcast jusqu'a 90 min) | MLX | 1.5B | EN/ZH |
117118
| [Qwen3.5-Chat](https://soniqo.audio/fr/guides/chat) | Texte → Texte (LLM) | MLX, CoreML | 0.8B | Multi |
119+
| [MADLAD-400](https://soniqo.audio/fr/guides/translate) | Texte → Texte (Traduction) | MLX | 3B | **400+** |
118120
| [PersonaPlex](https://soniqo.audio/fr/guides/respond) | Parole → Parole | MLX | 7B | EN |
119121
| [Silero VAD](https://soniqo.audio/fr/guides/vad) | Detection d'activite vocale | MLX, CoreML | 309K | Agnostique |
120122
| [Pyannote](https://soniqo.audio/fr/guides/diarize) | VAD + Diarisation | MLX | 1.5M | Agnostique |
@@ -139,6 +141,7 @@ Ensuite :
139141
```bash
140142
audio transcribe recording.wav
141143
audio speak "Hello world"
144+
audio translate "Hello, how are you?" --to es
142145
audio respond --input question.wav --transcript
143146
audio-server --port 8080 # serveur HTTP / WebSocket local (OpenAI-compatible /v1/realtime)
144147
```
@@ -166,6 +169,7 @@ import CosyVoiceTTS // Synthese vocale avec clonage
166169
import KokoroTTS // Synthese vocale (compatible iOS)
167170
import VibeVoiceTTS // TTS long format / multi-locuteurs (EN/ZH)
168171
import Qwen3Chat // Chat LLM embarque
172+
import MADLADTranslation // Traduction multidirectionnelle entre 400+ langues
169173
import PersonaPlex // Parole-a-parole full-duplex
170174
import SpeechVAD // VAD + diarisation + empreintes
171175
import SpeechEnhancement // Suppression de bruit
@@ -267,6 +271,16 @@ chat.chat(messages: [(.user, "Explain MLX in one sentence")]) { token, isFinal i
267271
}
268272
```
269273

274+
### Traduction — [guide complet →](https://soniqo.audio/fr/guides/translate)
275+
276+
```swift
277+
import MADLADTranslation
278+
279+
let translator = try await MADLADTranslator.fromPretrained()
280+
let es = try translator.translate("Hello, how are you?", to: "es")
281+
// → "Hola, ¿cómo estás?"
282+
```
283+
270284
### Detection d'activite vocale -- [guide complet →](https://soniqo.audio/fr/guides/vad)
271285

272286
```swift

0 commit comments

Comments
 (0)