# Service Gradium AI

**URL:** <https://community.gladysassistant.com/t/service-gradium-ai/10318>\
**Category:** Développement\
**Created:** [Juillet 3, 2026, 10:18 UTC](https://community.gladysassistant.com/t/service-gradium-ai/10318 "2026-07-03T22:18:20Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![bertrandda](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/bertrandda/32/5929_2.png) [@bertrandda](https://community.gladysassistant.com/u/bertrandda)\
**Post date:** [Juillet 3, 2026, 10:18 UTC](https://community.gladysassistant.com/t/service-gradium-ai/10318/1 "2026-07-03T22:18:20Z")

</div>

Bonjour à tous,

Depuis quelques temps maintenant je tease à Pierre-Gilles un nouveau service basé sur [Gradium](https://gradium.ai/). C’est une startup française autour de l’IA de la voix qui fait beaucoup parler d’elle. L’abonnement gratuit permet 1h de text-to-speech par mois.

L’idée du service est de permettre à ceux qui souhaite bidouiller un peu de choisir une voix personnalisée (ils proposent même la voix du Général de Gaulle), ou de tester du TTS gratuitement pour les nouveaux utilisateurs Gladys.

Une nouvelle fois, Gladys Plus vous permet déjà d’avoir une voix clé en main, et permet de soutenir le projet donc n’hésitez pas à souscrire à [Gladys Plus](https://gladysassistant.com/fr/plus/).

Côté développeur c’est un premier pas qui a permis d’ajouter une abstraction de tts et mon prochain objectif est de faire marcher des modèles locaux. @McFlyPartages avais parlé de [supertonic](https://community.gladysassistant.com/t/un-tts-local-tres-interessant/10136), la v3 est sortie récemment et est encore plus performante. Mes premiers tests sont assez concluants, mais j’essaie de faire des comparaisons avec d’autres modèles dispo sur HunggingFace, j’espère vous proposer quelque chose prochainement.

En attendant pour le service Gradium, j’ai testé avec Airplay, j’aurai besoin de testeurs sur Google Cast et Sonos, une image docker est disponible `bertrandda/gladys:gradium`

---

<div class="post-metadata">

**Author:** ![McFlyPartages](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/mcflypartages/32/15670_2.png) [@McFlyPartages](https://community.gladysassistant.com/u/McFlyPartages)\
**Post date:** [Juillet 4, 2026, 8:04 UTC](https://community.gladysassistant.com/t/service-gradium-ai/10318/2 "2026-07-04T08:04:58Z")

</div>

Salut merci pour ton travail.

Je sais qu’il y a aussi Voxtral qui tourne en local avec de très bonne performances mais pas testé encore.

Si j’ai le temps de tester ton développement, je te ferais un retour, j’ai des enceintes sonos (Ikea)

---

<div class="post-metadata">

**Author:** ![bertrandda](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/bertrandda/32/5929_2.png) [@bertrandda](https://community.gladysassistant.com/u/bertrandda)\
**Post date:** [Juillet 11, 2026, 9:29 UTC](https://community.gladysassistant.com/t/service-gradium-ai/10318/3 "2026-07-11T21:29:19Z")

</div>

> [@McFlyPartages](#):
>
> Je sais qu’il y a aussi Voxtral qui tourne en local avec de très bonnes performances mais pas encore testé.

Oui j’ai vu, mais Voxtral semble marcher à partir d’une bonne petite config. Mes tests de `supertonic` sur Raspberry PI 4 8Go m’ont permis de générer des audios d’une petite dizaine de secondes en ~8 secondes. Voilà quelques exemples générés en Nodejs sur RPI 4 (les liens sont valables 7 jours je pourrais les réuploader si nécessaire) :

- [voix 1](https://pastewaves.com/player/1af74dfa-2e11-419a-b1cd-b1626fab843a)
- [voix 2](https://pastewaves.com/player/e540fb0d-5c54-4a71-8ed4-dc4eb8ef8498)
- [voix 3](https://pastewaves.com/player/606e1497-3117-462a-910c-f9b404b9ad06)

D’autres voix sont dispos dont des voix masculines

Si ça tourne sur PI4 ça tourne sur de meilleures machines (avec encore de meilleurs rendus, en augmentant le paramètre `total_steps` par exemple). Le CPU du RPI 4 date de 2021 (cf benchmark ci dessous) avec des appareils plus récents (comme avec les Beelink proposés via les kit [Gladys clé en main](https://gladysassistant.com/fr/starter-kit/)) le temps de latence sera assurément plus faible.

 ![1024-740](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/d/a/da87faa1d9b12b7ab1e8644c34244d2f389016f5.png)

À noter que dans ce que j’imagine, l’objectif de Gradium et plus tard des modèles locaux est d’avoir des alternatives pour le bloc Notification audio dans les scènes uniquement (pas le widget assistant vocal du dashboard qui nécessite un llm et donc Gladys Plus), donc avoir quelques secondes de délai ne me semble pas très grave.

Et une fois un premier modèle local implémenté, rien n’empêche d’en ajouter d’autres plus gros pour les machines plus musclées.

En attendant, pour ceux qui veulent tester Gradium, une image avec les derniers fix est disponible `bertrandda/gladys:gradium`

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 2, 2026, 8:41 UTC](https://community.gladysassistant.com/t/service-gradium-ai/10318/4 "2026-08-02T08:41:44Z")

</div>

Salut @bertrandda,

Comme je t’ai indiqué dans ta PR, je penses que cette intégration sera une intégration externe 🙂

J’ai développé la spec et la gestion des fournisseurs de «&nbsp;Text To Speech&nbsp;» :

> <https://github.com/GladysAssistant/Gladys/pull/2746>
>
> \### Description
> 
> This PR implements a pluggable text-to-speech (TTS) provider sy…stem that decouples TTS consumers (scene actions, voice assistant) from specific TTS engines. The system supports:
> 
> 1. \*\*Built-in Gladys Plus provider\*\* as the default, with fallback behavior
> 2. \*\*External TTS integrations\*\* (type: "tts") that expose a \`synthesize\` command over WebSocket
> 3. \*\*Provider selection UI\*\* in system settings to switch between available providers
> 4. \*\*Audio streaming\*\* via high-entropy tokens for LAN speakers (Sonos, Cast, etc.) that cannot send JWT authentication
> 
> \#### Key Changes
> 
> \*\*Backend:\*\*
> \- New \`Tts\` manager class (\`server/lib/tts/\`) with methods to:
> - List available providers (\`getProviders\`)
> - Get/set active provider configuration (\`getProviderConfiguration\`, \`setActiveProvider\`)
> - Generate speech URLs (\`getSpeechUrl\`) - dispatches to Gladys Plus or external provider
> - Serve synthesized audio clips (\`getAudio\`) with token-based access control
> - Manage audio lifecycle (purge expired clips, get local API base URL)
> \- TTS controller with three endpoints:
> - \`GET /api/v1/tts/provider\` - list providers and active selection
> - \`POST /api/v1/tts/provider\` - change active provider (admin only)
> - \`GET /api/v1/tts/audio/:token\` - serve audio clips (unauthenticated)
> \- Extended external integration proxy service registration to expose \`tts.synthesize\` capability for TTS-type integrations
> \- Validation of TTS manifest (rejects messaging/contact\_schema fields)
> \- Audio validation: content-type curation, size bounds, text length capping
> 
> \*\*Frontend:\*\*
> \- New \`SettingsSystemTtsProvider\` component for provider selection in system settings
> \- Updated \`PlayNotification\` scene action to conditionally show Gladys Plus upsell only when using Gladys Plus
> \- Integration catalog support for TTS providers (empty by default, populated by external integrations)
> \- i18n strings for TTS category in English, French, and German
> 
> \*\*Tests:\*\*
> \- Comprehensive test suite for TTS manager (providers, configuration, speech URL generation, audio retrieval)
> \- External integration TTS provider tests (manifest validation, proxy service registration, audio handling)
> \- TTS controller tests (provider endpoints, audio serving)
> \- Updated existing tests to use new TTS system
> 
> \#### Design Notes
> 
> \- Audio clips stored in RAM only (no database table) behind high-entropy tokens - the token is the secret
> \- 10-minute TTL for synthesized clips with lazy purging
> \- Text capped before relay to provider (truncation, not error)
> \- Unauthenticated audio endpoint by design: speakers cannot send JWT, token provides security
> \- Local API base URL derived from first non-internal IPv4 + SERVER\_PORT for LAN accessibility
> \- Graceful fallback: if configured provider is unavailable, throws rather than silently switching
> 
> \### Checklist
> 
> \- \[x\] Tests pass: Added comprehensive unit tests for TTS manager, external integration TTS support, and controller endpoints
> \- \[x\] Linter and prettier pass
> \- \[x\] No breaking changes: New system is additive; existing Gladys Plus behavior unchanged when no provider configured
> 
> https://claude.ai/code/session\_013ihJhVk52zW6qUsxBHeqx2
> 
> 
> \## Summary by CodeRabbit
> 
> \* \*\*New Features\*\*
> \* Added text-to-speech integrations with external provider support.
> \* Added settings to select the active provider, with Gladys Plus as the default and fallback.
> \* Added TTS integration management, installation guidance, and local-network audio delivery.
> \* Voice messages and scene notifications can use the selected provider.
> \* Added English, French, and German translations.
> 
> \* \*\*Bug Fixes\*\*
> \* Improved handling of unavailable providers and provider removal.
> \* Added validation for unsupported, oversized, or malformed audio responses.
> \* Added expiration handling for temporary synthesized audio.

---

<div class="post-metadata">

**Author:** ![bertrandda](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/bertrandda/32/5929_2.png) [@bertrandda](https://community.gladysassistant.com/u/bertrandda)\
**Post date:** [Août 3, 2026, 8:27 UTC](https://community.gladysassistant.com/t/service-gradium-ai/10318/5 "2026-08-03T20:27:46Z")

</div>

Hello, j’ai raté pas mal de choses en 3 semaines d’absences, ça a bien changé Gladys 😆 (pour le mieux évidemment).

Je veux bien bosser dessus, je pense commencer par migrer Nextcloud Talk pour me faire la main sur les intégrations externes puis m’occuper de Gradium quand tu auras mergé le TTS dans le sdk

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 4, 2026, 5:55 UTC](https://community.gladysassistant.com/t/service-gradium-ai/10318/6 "2026-08-04T05:55:27Z")

</div>

Oula, effectivement si tu as loupé 3 semaines tu reviens c’est plus le même projet 😂😂

Génial !

---

<div class="post-metadata">

**Author:** ![bertrandda](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/bertrandda/32/5929_2.png) [@bertrandda](https://community.gladysassistant.com/u/bertrandda)\
**Post date:** [Octobre 20, 2026, 9:59 UTC](https://community.gladysassistant.com/t/service-gradium-ai/10318/7 "2026-10-20T21:59:25Z")

</div>

👀

> **[Inference performance: supported devices - Open-Sourcing Phonon: A Suite of...](https://gradium.ai/blog/release-phonon-open-weight#inference-performance-supported-devices)**
>
> Today, we're open-sourcing Phonon, now a family of 31m and 40m parameter text-to-speech (TTS) models that set a new standard for naturalness and accuracy on-device, making natural, high-quality speech possible even on the most resource-constrained...

Ils viennent d’Open sourcer le modèle hors-ligne. Quand est ce qu’il sort le sdk TTS 😆, le Raspberry Pi est noté dans les tests, j’ai hâte d’en faire une intégration externe !
