npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

node-speech

v1.0.5

Published

Speech Synthesized for node js

Downloads

16

Readme

Node Speech

English documentatio will be write soon.

Documentación en español

Sintetizador de texto a voz que funciona sin necesidad de navegador ni otro complemente. Es completamente nativo y depende de las voces y culturas instaldas en Windows 10. Se ejecuta en un hilo separado por lo que no detiene la ejecución de la aplicación mientras está hablado el sintentizador y no necesita que la aplicación esté en primer planto para funcionar.

Build

El paquete viene compilado para la versión de node.js 12.16.0, es posible hacer reconstrucciones para otras versiones de node, pero no se garantiza un correcto funcioamiento para versiones anteriores anteriores a la 12 ya que el módulo hace uso de Worker Threads que está disponible solo a partir de la versión 11.7.0 de node.js y otros complementos que solo están disponibles en las versiones más modernas de nodejs.

Para construir el paquete para node, tan solo ejecutar el siguiente comando después de instalar las dependencias de desarrollo:

$ npm run rebuild

Si se quiere hacer uso del paquete en algún entorno de ejecución distinto como por ejemplo NWJS o Electrón hay dos maneras de compilar el módulo. La primera es editar el package.json y modificar las siguientes líneas para ajustarlo a tu versión de NWJS o Electrón:

"scripts": {
    "test": "node test/test.js",
    "clean": "cmake-js clean",
    "build": "cmake-js build",
    "rebuild": "cmake-js rebuild",
    "build-nw": "cmake-js build --runtime=nw --runtime-version=<<YOUR-NW-VERSIONI>> --arch=x64",
    "rebuild-nw": "cmake-js rebuild --runtime=nw --runtime-version=<<YOUR-NW-VERSIONI>> --arch=x64",
    "build-electron": "cmake-js build --runtime=electron --runtime-version=<<YOUR-ELECTRON-VERSIONI>> --arch=x64",
    "rebuild-electron": "cmake-js build --runtime=electron --runtime-version=<<YOUR-ELECTRON-VERSIONI>> --arch=x64"
  }

Reemplazar el texto <<YOUR-XX-VERSION>> por la versión de NWJS o electrón en la que se vaya a compilar el módulo y luego ejecutar el script correspondiente en función de donde estés compilando el módulo

# Para NWJS
$ npm run rebuild-nw

# Para Electrón
$ npm run rebuild-electron

También puedes realizar una compilación manual más específicas siguiendo las instrucciones de cmake-js.

Iniciar el sintetizador

Es necesario instanciar el reconocedor para una cultura concreta que esté instalada en el sistema operatvio, para hacerlo hay que instanciar el reconocedor con una de las culturas aceptadas.

const tts = require("node-speech");
const Synth = new tts( "es-ES" );

Las culturas disponibles con reconocimiento de voz en Windows 10 son:

  • Español - España: (es-ES)
  • Español - México: (es-MX)
  • Inglés - EEUU: (en-US)
  • Inglés - Reino Unido: (en-GB)
  • Inglés - Canadá: (en-CA)
  • Inglés - Australiz: (en-AU)
  • Inglés - India: (en-IN)
  • Francés - Francia: (fr-FR)
  • Francés - Canadá: (fr-CA)
  • Alemán - Alemania: (de-DE)
  • Italiano - Italia: (it-IT)
  • Portugués - Brasil: (pt-BR)
  • Japonés - Japón: (ja-JP)
  • Chino - China (zh-CN)
  • Chino - Taiwan (zh-TW)
  • Chino - Hong Kong (zh-HK)

Puedes instalar las diferentes culturas en Configuración -> Hora e idioma -> Idioma

Obtener culturas instaladas

Se pueden obtener las culturas instaladas en el sistema operativo con el siguiente método:

let cultures = Synth.installed_cultures()

Esto devolverá un array con las diferentes culturas instaladas ej.: ["es-ES","en-US","en-GB"]

Obtener voces instaladsa

Obtiene las voces instaladas en el sistema operativo y devuelve un array con los datos de éstas.

Synth.get_voices();

Asignar una voz al sinteizador

Asigna una de las voces instaladas al sintetizador a través del nombre de la voz. Puedes obetner el nombre de las voces con el método get_voices

Synth.set_voice( "Nombre de la voz" );

Hablar

Haz que el sintetizador hable con el método speak

Synth.speak( "Di esto en voz alta." );

Escucha de eventos

El reconocedor enviará enventos cuando el motor realice tareas como devolver un texto reconocido o enviar un texto que no ha reconocido en la gramática.

Los eventos que están disponible para la escucha son:

tts:started

Este evento ocurre cuando el el sintetizador empieza a leer un texto.

Synth.on( "tts:started", () => {
	console.log( "Start to speak" );
});

tts:progress

Devuelve el resultado con el progreso del texto reconocido.

Synth.on( "tts:progress", result => {
	console.log( result );
});

tts:voiceChange

Devuelve este evento cuando se cambia la coz del sintetizadoe

Synth.on( "tts:voiceChange", result => {
	console.log( result );
})

!NOTA! Poco a poco iré implementando más funcionalidades hasta entonces es completamente funcional con estas caracterásticas descritas.