Mise à jour de la météo vocale via google Translate

décembre 19, 2020

Depuis le 1er décembre 2020 la météo vocale ne fonctionnait plus sur le site (encore un truc expérimental a base de nodejs et de google translate et de json)

Je me suis rendu compte qu’il y avait une erreur dans les logs de nodejs  ( souci d’api / de clef avec Google Translate)

Error: get key failed from google
    at /home/pi/meteo-mp3/node_modules/google-tts-api/lib/key.js:30:32
    at process._tickDomainCallback (internal/process/next_tick.js:135:7)

J’ai donc du upgrader le module de Google Translate passant de la version 0.0.4 à la version 2.0.0 ! ( un sacré bond en version  …) 
Le package est présent ici : https://www.npmjs.com/package/google-tts-api

Et en cherchant un peu j’ai trouvé ceci sur un forum 

edit package.json and change the dependency on 'google-tts-api' from '0.0.4' to '2.0.0' , so it reads:

"dependencies": {
... ,
... ,
"google-tts-api": "2.0.0"
}

Update the dependency
# npm update

Une fois le  module GoogleTTS installé , le programme principal ne fonctionne plus. ( la structure du module de Google translate a évolué), il a donc fallu modifier la partie  traduction 

je suis parti sur cet exemple  :

const googleTTS = require('google-tts-api');

// get audio URL
const url = googleTTS.getAudioUrl('Hello World', {
  lang: 'en-US',
  slow: false,
  host: 'https://translate.google.com',
});
console.log(url); // https://translate.google.com/translate_tts?...

et je l’ai adapté comme ceci :

//find here  https://www.npmjs.com/package/google-tts-api

const url = googleTTS.getAudioUrl(`Bonjour,ce ${day_long}, à ${name}, a ${hour} le temps est  ${condition} et une température mini de ${tmin}° et une température max de ${tmax }°, le vent souffle a ${wnd_spd} kilometre/heure.`,{
lang: 'fr-FR',
slow: false,
host: 'https://translate.google.com',
});
console.log(url); // https://translate.google.com/translate_tts?...
console.log('Download to ' + pathMp3 + ' ...');
return downloadFile(url, pathMp3);
  
console.log('Download success');
console.error(err.stack);

Le reste de la mécanique ne changeant pas

Vous pouvez retrouver mon article primaire ici  :  

La météo vocale avec du NodeJS avec un peu de MP3 et du ftp

D’ailleurs en 2018 j’avais mis a jour  cet article  car le module GoogleTTS avait également été mis a  jour

A bientôt

(Pensée à Dim …)