Kiam via PWA ekparolas

Uzante WaveNet por aldoni parolsintezon por artikoloj

Pri kio ni parolas kiam ni parolas pri parolado

Post kiam mi starigis la aŭtomatan tradukon de ĉiuj miaj artikoloj al diversaj aliaj lingvoj, mi ekpensis pri kia sekva moderna kaj utila funkcio mi povus efektivigi. Ĉar vi tute konsentos, ke legi miajn afiŝojn estas unu el la plej plaĉaj spertoj, mi pensis, ke uzi aŭtomatan parolsintezan servon povus plibonigi la artikolon UX eĉ pli. Sekve, la plano estis simpla: mi aldonos novan agon ĉe la komenco de artikola teksto, kiu permesas al uzantoj aŭskulti ĝin per la sonludilo de la retumilo.

Kiel: parolsintezo

Post kiam mi rigardis la aktualan ar architectureitekturon de la programo, la sekva laborfluo efektiviĝis por plibonigi la PWA per aŭtomata parolsintezo kaj sonludilo:

  1. efektivigi la sintezon per la teksto-al-parola-servo de GCP uzante la (multe) pli bonigatan opcion WaveNet anstataŭ la norman
  2. konservi la kreitan mp3-dosieron en Firebase Storage, simpla dosiersistemo ankaŭ gastigita en GCP; la nomo de la dosiero konsistas el la limako de la artikolo kaj la uzita lokaĵaro, kiu donas al mi implican identigilon kaj evitas la aldonon de aparta dokumento, kiu konservas referencon al ĉiuj URL-oj por difinita parolado
  3. tiam mi telefonas al la du supraj paŝoj sur la Vercel-servilo kiam kreas aŭ ĝisdatigas artikolan paĝon, kio nuntempe okazas maksimume ĉiun 24 horojn
  4. uzante maldiligentan ŝarĝon por la interreta ludilo, se aŭdila URL disponeblas

Maldiligenti gravas

Mi ne volas difekti miajn retejajn programojn ŝarĝante rendimenton (kaj sekve la serĉilan rangon), tial la reteja ludilo ŝarĝas laŭpete nur post kiam du kondiĉoj estas plenumitaj:

  • Aŭda URL por la artikolo efektive haveblas, kiu nuntempe validas nur por anglaj tekstoj, ĉefe por malpliigi kostojn
  • Uzanto alklakas la ludbutonon, indikante la deziron efektive aŭskulti la voĉlegitan artikolon

Kial ne ĉiuj lingvoj (nuntempe)?

Pro uzo de WaveNet de Google kiel la efektiva modelo de parolsintezo, mi devas konsideri kostojn por ĉi tiu funkcio kiel ĉefan zorgon. Uzado de WaveNet kostas kvaroble la norman sintezan modelon. Tamen mi elektis ĝin, ĉar WaveNet multe superas plej multajn aliajn modelojn, ne nur de Google mem, sed ankaŭ de IBM, ekzemple.

Nur la komenco

Ĉi tio estis rapida superrigardo, kiel mi efektivigis parolsintezon en unua versio por ĉi tiu PWA. La tempo por kodi daŭris nur kelkajn horojn, ĉar mi jam preparis la plej grandan parton de la instalado, estante GCP-kliento. La generita produktaĵo sonas nekredeble bona, kio montras la fortojn de WaveNet kaj ML-bazitaj aliroj al parolado kaj ankaŭ teksto-pritraktado. Estonta efektivigo povus aldoni la legadon laŭte por ĉiuj subtenataj lingvoj. Surbaze de la uzado kaj kostoj en la venontaj monatoj, mi determinos kiel procedi ĉi-kaze.

Tom