Faire fonctionner la synthèse vocale d’une Renault des années 80

Le saviez-vous ? Dans les années 80, les voitures parlaient. Et en discutant avec une voix connue des téléspectateurs pour un tout autre sujet, nous en sommes arrivés à parler de ça. Et il m’a appris qu’il avait été la voix des voitures Renault 25. Ca m’a intrigué, j’ai cherché, et je suis tombé sur un vieux sujet de forum qui en parlait.

Du coup, j’ai acheté deux boîtiers sur Le Bon Coin (ça se trouve facilement pour quelques euros, il suffit de chercher synthèse vocale renault) et j’ai essayé de voir comment ça fonctionnait. J’ai complètement ouvert le premier (ce qui est assez compliqué) juste pour vérifier ce qu’il contient. Comme prévu, la voix n’est pas composée d’enregistrements classiques (en PCM) mais se base sur un synthétiseur Texas Instruments. C’est une puce de la famille LPC de la marque (TMS5110 et TMS6100) et c’est en gros ce que contient la Dictée Magique, pour ceux qui connaissent. Le codage LPC (Linear Predictive Coding) n’enregistre pas des extraits classiques (ce qui demanderait un espace de stockage trop élevé à l’époque) mais des données numériques (pitch, fréquence, etc.) qui permettent de reproduire de façon assez efficace la voix humaine. dans le cas présent, tout est stocké dans une ROM de 16 ko. C’était parfois utilisé dans les consoles ou ordinateurs pour générer de la voix, avec les bons paramètres – et des enregistrements efficaces au départ -, on peut vraiment faire quelque chose de convaincant. On peut visiblement dumper les ROM pour passer dans un émulateur, mais je ne suis pas assez calé pour faire ça. Si quelqu’un a les compétences, je peux donner mon exemplaire démonté pour effectuer les tests, ça pourrait être intéressants de récupérer tous les messages.

Les puces



Un double PCB déplié

Dans mon cas, j’ai juste voulu m’amuser un peu en émettant quelques messages. J’ai trouvé quelques pages de documentation sur le sujet, et après pas mal d’essais, ça a fonctionné.

La doc’


Une liste d’erreurs


Les deux connecteurs

Les branchements sont un peu compliqués, et je ne suis pas vraiment spécialiste du sujet.

Je vais illustrer avec une photo, mais voici les principaux branchements.

• 01 connecteur rouge haut : + 12 V (avant contact)
• 02 connecteur rouge haut : masse
• 07 connecteur rouge haut : + 12 V (après contact, donc quand la voiture est démarrée).

• 12 / 13 connecteur noir haut : audio
• 15 connecteur noir haut : + 12 V (après contact, donc quand la voiture est démarrée).

Il y a aussi une cosse sur le boîtier, à relier à la masse.

Avec ce montage basique, en utilisant une breadboard, j’arrive à avoir un boîtier qui s’allume.

Mon montage à l’arrache

Les messages

Je n’ai pas toute la documentation, mais le fonctionnement reste assez basique : après un défaut pendant un temps défini, la synthèse s’active. Plus exactement, pendant un temps défini avec certaines variables. Certains messages ne s’activent que si la voiture roule à une certaine vitesse, d’autres uniquement si elle est arrêtée, etc. J’ai trouvé une liste partielle, mais je ne sais pas exactement comment simuler certains comportements. Certains messages se répètent, d’autres ne s’activent qu’une fois et ne reviennent que si le contact est coupé (la broche 15 du connecteur noir, par exemple).

Je préviens directement, le son est mauvais : il est très faible, donc j’ai amplifié et juste passé un filtre pour réduire vaguement le souffle. Je suppose qu’il y a un mécanisme d’amplification, et je n’avais rien sous la main.

On commence par les broches du haut du connecteur rouge.

• 4, 6, 8, 14 ne sont pas branchés.
• 3 et 5 servent pour le compte tour, en diesel et en essence. Je suppose que ce sont des informations que le module reçoit.
• 9 : C’est la gestion de la température de l’eau. Le message se déclenche rapidement.

• 10 : Les plaquettes de freins. Il se déclenche après 30 secondes de défauts.

• 11 : Stop arrière gauche. Il se déclenche après 2 secondes de défauts.

• 12 : Stop arrière droit. Il se déclenche après 2 secondes de défauts.

• 13 : Les feux de position. La documentation indique que les “lanternes” doivent être allumées, et la défaillance de 4 secondes. Aucune idée de comment charger le message.
• 15 : C’est la vitesse du véhicule, mais je ne sais pas ce que le boîtier reçoit.

Les broches du bas du connecteur rouge ne sont a priori pas câbles (la documentation l’indique, en tout cas).

Maintenant, la partie haute du connecteur noir.

• 4, 5, 7, 8, 9, 10 ne sont pas câblés.
• 1, 2 et 3 servent pour les portes arrières et le coffre. Ils s’activent en cas de défaut avec une vitesse au-delà de 15 km/h (aucune idée de comment simuler ça).
• 6 : la batterie est défaillante (10 secondes de défauts).

• 11, c’est la radio. Aucune idée de comment le déclencher.
• 14, c’est le feux de position. Aucune idée de comment le déclencher.

Maintenant, la partie basse du connecteur noir.

• 2, 3, 10, 11, 12, 13 ne sont pas câblés.
• 1 sert pour la pression d’huile. Il est doit émettre le message quand le moteur tourne depuis 10 secondes, après 2 secondes de défaillance. Mais je n’ai pas eu le message.
• 4 indique un souci de freinage.

• 5 sert pour le frein à main, mais nécessite une vitesse minimale.
• 6, 7 et 8 servent pour les portes avant et le capot. Ils s’activent en cas de défaut avec une vitesse au-delà de 15 km/h (aucune idée de comment simuler ça).
• 9 indique un souci de carburant (en gros, la voiture est dans la réserve). Le défaut est de 30 secondes.

• 14 sert a priori à faire répéter les messages.
• 15 remplace le message par une alerte sonore s’il est à la masse.

Comme vous pouvez l’entendre, ça mériterait une amplification propre ou – mieux – une extraction des données de la ROM. Mais ça permet déjà de se faire une idée de ce que le véhicule pouvait émettre à l’époque, le tout avec un gros boîtier et 16 ko de ROM. Si j’ai du temps un jour, je tenterais d’aller plus loin.