Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@tilde-nlp/asr-api-client

Package Overview
Dependencies
Maintainers
5
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tilde-nlp/asr-api-client

Library with services for communicating with Tilde TSP platform

  • 2.0.4
  • npm
  • Socket score

Version published
Weekly downloads
18
increased by50%
Maintainers
5
Weekly downloads
 
Created
Source

asr-api-client library

Library is created for implementing dictation. It is written with typescript and also includes typescript models.

Core methods of asrClient

beginVoiceRecognition - starts recording (asks permission for mic if needed) and creates connection with asr api.

endVoiceRecognition(forceCloseWebsocket = false) - stops recording and closes socket if forceCloseWebsocket param is set to true. If forceCloseWebsocket is set to false, it will close connection on next final result.

Real time oscilogram

Library also provides possibility to draw real time oscilogram that will be drawn into <canvas> element. To be able to create this visualization, you need to add <canvas></canvas> element to your html and pass elements ID to visualizer configuration.

Examples

Couple small examples for easier integration. Remember to replace variable placeholders with your own values.

Plain js without any visualization

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tilde speech recognition example</title>
    <!-- Include mediarecorder api -->
    <script src="https://cdn.webrtc-experiment.com/MediaStreamRecorder.js"> </script>
    <!-- Include Tilde asr api client -->
    <script src="https://unpkg.com/@tilde-nlp/asr-api-client@latest/index.js"></script>
</head>

<body>
    <script language="javascript">
      // set up config
        var config = {
            url: "wss://services.tilde.com/service/asr/ws/${SYSTEM_NAME}/?contentType=audio/x-raw&sampleRate=44100&channelCount=1&x-api-key=${API_KEY}",
            onResult: result => { if (result.final) console.log(result) }, // partial or final result
            onRecordingStartStop: isRecording => console.log(isRecording), // boolean value emitted whenever isRecording changes
            onError: error => console.error(error) // error callback
        }
        // Create asr client
        var asrClient = new window["asr-api-client"].AsrClient(config);
        // Start voice recognition
        asrClient.beginVoiceRecognition();
    </script>
</body>

</html>

Plain js with audio visualization

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tilde speech recognition example</title>
    <!-- Include mediarecorder api -->
    <script src="https://cdn.webrtc-experiment.com/MediaStreamRecorder.js"> </script>
    <!-- Include Tilde asr api client -->
    <script src="https://unpkg.com/@tilde-nlp/asr-api-client@latest/index.js"></script>
</head>

<body>
    <script language="javascript">
        // set up config
        var config = {
            url: "wss://services.tilde.com/service/asr/ws/${SYSTEM_NAME}/?contentType=audio/x-raw&sampleRate=44100&channelCount=1&x-api-key=${API_KEY}",
            onResult: result => { if (result.final) console.log(result) }, // partial or final result
            onRecordingStartStop: (isRecording, ctx) => {
                // start drawing audio oscilogram if neccesarry
                if (isRecording) {
                    ctx.audioVisualizer?.visualizeAudio();
                }
            }, // boolean value emitted whenever isRecording changes
            onError: error => console.error(error), // error callback
            // configuration if you want to add real time oscillogram, if not, you do not have to set this value
            visualizerConfig: {
                // id of container where to put visualizer
                visualizerId: "audio-visualizer",
                // optional param - visualization color. Default value: "#811331"
                strokeStyle: "#811331"
            }
        }
        // Create asr client
        var asrClient = new window["asr-api-client"].AsrClient(config);
        // Start voice recognition
        asrClient.beginVoiceRecognition();
    </script>
</body>
<!--necessary if you need real time oscilogram-->
<canvas id="audio-visualizer"></canvas>

</html>

FAQs

Package last updated on 27 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc