JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 19
  • Score
    100M100P100Q48339F
  • License ISC

SDK to use Speaqr public api in javascript / node.js

Package Exports

  • @speaqr/javascript-sdk
  • @speaqr/javascript-sdk/dist/sdk.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@speaqr/javascript-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Javascript-SpeaqrSDK

npm version

javascript-SpeaqrSDK is a lightweight client for interacting with the Speaqr API in real time. It allows you to handle events, send audio and text, and obtain translations or voice synthesis.

🚀 Instalación

Vía npm

npm install speaqr/javascript-sdk

Vía CDN

<script src="https://unpkg.com/@speaqr/javascript-sdk@1.0.0/speaqr-sdk.min.js"></script>

📦 Uso

Ejemplo:

const speaqr= new SpeaqrSDK(apiKey); //Instancia

//Parámetros de conexión
const params = {
                languageIdSource: langSourceInput.value, // Idioma de origen
                languageIdTarget: langDestinationInput.value, // Idioma de destino
                mode: 'sts', //Modo de uso
                sendType: JSON.stringify({ type: 'buffer', codec: 'linear16', samplerate: 16000 }), //Formato envío
                receiveType: JSON.stringify({ type: 'buffer', codec: 'mp3', samplerate: 16000 }),//Formato resultado 
                url: null,// URL de streaming (si aplica)
                voiceGender: 'M'
            };

//Sesión Streaming

speaqr.connect(params);
speaqr.socket.on('result', ()=>{ //Resultado del API según modo
    console.log(data)
});
speaqr.socket.on('error', (error) => { //Notificación de errores
    console.error(error);
});
speaqr.socket.on('open', console.log('Ready')) //Señal de "preparado"
speaqr.socket.on('status_con', (data)=>{ //Retorno del status de la sesión.
    console.log(data)
})

speaqr.sendStream(audioChunk) //Función para el envío de paquetes de audio
speaqr.disconnect() //Desconexión del cliente

//Llamadas batch
speaqr.listLanguages() //Devuelve los lenguajes compatibles con SpeaqrAPI
speaqr.batch(mode,origin,destination,file) // Transcribe/Traduce un fichero de audio.

📚 Configuración (Valores)

languageIdSource && languageIdTarget:

"ar-qa" //Árabe (Qatar)
"ar-sa" //Árabe (Arabia Saudita)
"en-us" //Inglés (EEUU)
"en-gb" //Inglés (Gran bretaña)
"es-es" //Español
"hi-in" //Hindi
"de-de" //Holandés
"fr-fr" //Francés
"ru-ru" //Ruso
"zh-cn" //Chino (Simplificado)
"pt-pt" //Portugués (Portugal)
"pt-br" //Portugués (Brasil)
"it-it" //Italiano
"ja-jp" //Japonés 

mode

"sts" //Speech to Speech con traducción
"stt" // Speech to Text 
"tts"  //Text to Speech 
"translator" //Traductor.
(default) mode: "sts"

sendType && receiveType

{
    type: "buffer || streaming", //Buffer = Chunks audio | Streaming= Url emisora
    codec: "mp3 || linear16 || mulaw", //(opcional) Codec de entrada del Buffer/url
    samplerate: 8000-16000 //(Opcional) Samplerate de la entrada Buffer/url
}
(default) codec: "linear16"
(default) sampleRate: 16000

voiceGender

"M" //Masculina 
"F" //Femenina
"N" //No-Binaria
(default) voiceGender: "N"

✨ Eventos

  • ‘status_con’: Feedback del estado de conexión con Speaqr
  • ‘error’: Notificación de errores.
  • ‘open’: Comienzo de la escucha por parte del servicio.
  • ‘result’: Devolución del resultado.
  • ‘write_stream’: Envío de audio. (Buffer)
  • ‘text’: Envío de texto

Valores:

status_con

connectionStatus = {
    success: true, // Indicador de éxito
    code: 'connected to Speaqr', // Código de acción
    languageIdSource: languageIdSource, // Lenguaje Origen
    languageIdTarget: languageIdTarget,	// Lenguaje Destino
    mode: mode, //Modo
    sendType: sendType, //Configuración de envío 
    receiveType: receiveType, //Configuración de recepción
    urlStreaming: streamingUrl //Streaming url (modo streaming)
}

error

error = {
    success: false, //Indicador de Éxito
    error: true, //Indicador de error
    code: "send_type_not_supported", //Código de error
    description: "Receive type not supported. Check your configuration. Types: buffer | url ---- Codecs: linear16 | mp3 | mulaw --- Samplerate: 8000 - 48000", //Descripción
};

result

{ //Mode translator
    text: "hello my friend", //Texto traducido
    language: "en-gb" //Idioma al que se ha traducido
}
{ //Mode stt
    text: "hello my friend", //Texto traducido
    language: "en-gb" //Idioma en el que se está detectando
}
{//mode tts
    text: "hello my friend" //Texto traducido 
    language: "en-gb" //idioma en el que se está escribiendo
    audio: (buffer) //Síntesis de audio
}
{ //mode sts
    text: "hola mi amigo" //Texto traducido 
    language: "es-es" //idioma al que se ha traducido
    audio: (buffer) //Síntesis de audio en el idioma destino.
}