PROJET AUTOBLOG


Warrior du Dimanche

Site original : Warrior du Dimanche

⇐ retour index

La synthèse vocale en JS: SILENCE DANS LA BIBLIOTHEQUE !

dimanche 4 avril 2021 09:13

Comme mon cerveau ne cesse jamais vraiment d'avoir des idées et que le confinement est propice aux réflexions, à la créativité et aux projets, j'ai à l'idée de nouvelles applis de travail pour mes élèves.

Hélas, il me faudrait une bibliothèque JS qui me permette de faire de la synthèse vocale.

Mais attention, hein: je suis prof de langue, il me faut donc une synthèse vocale CORRECTE.

A la recherche de la bibliothèque perdue

J'ai eu beau chercher, je n'ai RIEN trouvé pour le moment, car il faut dire que je cherche une bibliothèque:

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Le dimanche, c'est cadeau: T'as pas de ball...

samedi 3 avril 2021 17:35

Moi quand je serai grand  je serai comique  pasque  moi  je fais des jeux de mots rigolos

Oui  ben en attendant  si tu pouvais arrêter de me pourrir systématiquement TOUS mes titres

Le confinement nouveau est arrivé et avec lui plein de nouvelles raisons de se poser des questions exitentielles (non, j'ai pas fait de faute) (GAG)

Pour y répondre et vous guider dans vos choix, plutôt que de vous fier aux oracles, haruspices et autres politiciens qui vous noieront sous des mensonges, des billevesées voire même des promesses électorales, pourquoi ne pas utiliser la bonne vieille 8 ball magique ?

Du coup, je vous en propose une. Sous forme d'API. Oui.

Tu poses ta question dans ta tête, tu vas sur https://api.warriordudimanche.net/8ball et tu as ta réponse. Par contre, elle est parfois un peu franche...

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Vivir Quintana - Canción sin miedo ft. El Palomar - YouTube

mercredi 31 mars 2021 09:49

Superbe chanson mexicaine que je ne connaissais pas à propos du féminicide... je crois que je vais la faire en cours.

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Votre meilleur tournevis est... nul (et il y a bien mieux). Feat Nota Bene - YouTube

mardi 30 mars 2021 16:14

Vous vous interrogez sur le sens de la vis ? C'est par là !

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

1 LOC | Favorite JavaScript utilities in single line of code [Edit]

lundi 29 mars 2021 19:00

OMAGAD j'adore ce genre de sites d'astuces et de snippets ultra condensés ! MERCI COPAIN ! o/

[EDIT] La vache ! Pour certaines astuces, l'auteur propose plusieurs possibilités. En bon nerd, je me dis que j'aimerais bien savoir s'il y a des différences de perfs... Spoiler: y'en a.

Pour la deuxième astuce, le clonage de tableaux, le site propose:

// `arr` is an array
const clone = arr => arr.slice(0);

// Or
const clone = arr => [...arr];

// Or
const clone = arr => Array.from(arr);

// Or
const clone = arr => arr.map(x => x);

// Or
const clone = arr => JSON.parse(JSON.stringify(arr));

// Or
const clone = arr => arr.concat([]);

Du coup, je bricole un petit test vite fait, genre ça:

function repeat(funct,nb){
        let t=Date.now();
        let arr=[1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9];
        for (let i=0;i<=nb;i++){
            let a=funct(arr);
        }
        return Date.now()-t;
    }
    let nb=100000;
    console.log("arr.slice(0) x "+nb+": "+repeat(function(arr){return arr.slice(0);},nb) );
    console.log("[...arr] x "+nb+": "+repeat(function(arr){return [...arr];},nb) );
    console.log("Array.from(arr) x "+nb+": "+repeat(function(arr){return Array.from(arr);},nb) );
    console.log("arr.map(x => x) x "+nb+": "+repeat(function(arr){return arr.map(x => x);},nb) );
    console.log("JSON.parse(JSON.stringify(arr)) x "+nb+": "+repeat(function(arr){return JSON.parse(JSON.stringify(arr));},nb) );

Histoire de voir ce que chaque méthode donne en vitesse ...

Le résultat est sans appel...

Capture du 2021-03-29 18-55-29.png BIM!

Donc arr.slice(0) est 10x plus rapide que [...arr] et carrément 33 fois plus rapide que le recours à JSON (la non surprise est totale)

J'aime bien faire ce genre de tests

via https://bookmarks.ecyseo.net/?lkEG0w

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires