agentsclimarketplace

Syncfusion vue speech to text

Skill syncfusion/vue-ui-components-skills/skills/syncfusion-vue-speech-to-text

Implement the Syncfusion Vue Speech-to-Text component. Instructions for integrating voice input, real-time transcription, language configuration, programmatic control, event handling, UI customization, browser compatibility, and security considerations for microphone-enabled applications.From its SKILL.md

Install
npx -y skills add syncfusion/vue-ui-components-skills --skill syncfusion-vue-speech-to-text

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.0 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Syncfusion Vue Speech-to-Text Component

The Syncfusion Vue Speech-to-Text component converts spoken words into text using the browser's Speech Recognition API. This skill covers setup, configuration, event handling, customization, and security considerations for implementing real-time voice transcription in Vue 3 applications.

Browser Support & Requirements

The Speech-to-Text component requires:

  • Browser Support: Chrome 25+, Edge 79+, Safari 12+, Opera 30+ (Firefox not supported)
  • API Dependency: HTML5 Speech Recognition API
  • Internet Connection: Required for speech processing
  • User Permission: Microphone access consent

Documentation and Navigation Guide

Getting Started

πŸ“„ Read: references/getting-started.md

  • Vue 3 project setup with Vite
  • Package installation and configuration
  • CSS theme imports
  • Component registration
  • Browser compatibility requirements

Speech Recognition & Configuration

πŸ“„ Read: references/speech-recognition.md

  • Retrieving transcribed text with transcript property
  • Setting language with lang property
  • Managing real-time results with allowInterimResults
  • Understanding listening states (Inactive, Listening, Stopped)
  • Showing/hiding tooltips with showTooltip
  • Disabling the component
  • Error handling and troubleshooting

Methods & Programmatic Control

πŸ“„ Read: references/methods.md

  • Starting speech recognition with startListening()
  • Stopping recognition with stopListening()
  • Programmatic control patterns and use cases

Events & Lifecycle

πŸ“„ Read: references/events.md

  • Component initialization with created event
  • Speech recognition lifecycle: onStart, onStop
  • Error detection with onError event
  • Real-time transcription with transcriptChanged event
  • Event argument structures and practical examples

Appearance & Customization

πŸ“„ Read: references/appearance.md

  • Customizing button text and content
  • Button icon configuration and positioning
  • Primary button styling
  • Tooltip content and positioning
  • CSS class styling (e-primary, e-outline, e-info, e-success, e-warning, e-danger)
  • Custom styling examples

Globalization & Localization

πŸ“„ Read: references/globalization.md

  • Localization with L10n.load() method
  • Translation key identifiers and default values
  • Language configuration with locale property
  • Right-to-Left (RTL) support with enableRtl property
  • Multi-language examples

Security Considerations

πŸ“„ Read: references/security.md

  • Online dependency and offline fallback
  • Data transmission security risks
  • Privacy concerns with third-party servers
  • Man-in-the-Middle (MITM) attack vectors
  • Mitigation strategies and best practices

Quick Start

Basic Setup with Composition API:

<template>
  <div id="container">
    <ejs-speechtotext id="speechtotext" @transcript-changed="onTranscriptChange"></ejs-speechtotext>
    <ejs-textarea v-model="textareaValue" rows="5" cols="50" resizeMode="None" placeholder="Transcribed text will be shown here..."></ejs-textarea>
  </div>
</template>

<script setup>
import { ref } from "vue";
import { SpeechToTextComponent as EjsSpeechtotext, TextAreaComponent as EjsTextarea } from "@syncfusion/ej2-vue-inputs";

const textareaValue = ref('');

const onTranscriptChange = (args) => {
  textareaValue.value = args.transcript;
};

</script>

<style>
@import "../node_modules/@syncfusion/ej2-material3-theme/styles/speech-to-text/index.css";
</style>

Common Patterns

Pattern 1: Real-Time vs Final Transcription

Display results as the user speaks (interim results) or wait for complete speech:

<!-- Real-time results (default, allowInterimResults=true) -->
<ejs-speechtotext @transcript-changed="onTranscriptChange"></ejs-speechtotext>

<!-- Final results only (allowInterimResults=false) -->
<ejs-speechtotext @transcript-changed="onTranscriptChange" :allow-interim-results="false"></ejs-speechtotext>

Pattern 2: Multi-Language Support

Set language for speech recognition:

<!-- English (US) -->
<ejs-speechtotext lang="en-US" @transcript-changed="onTranscriptChange"></ejs-speechtotext>

<!-- French -->
<ejs-speechtotext lang="fr-FR" @transcript-changed="onTranscriptChange"></ejs-speechtotext>

Pattern 3: Programmatic Control

Trigger speech recognition from buttons:

<template>
  <div>
    <button @click="startRecognition">Start Listening</button>
    <button @click="stopRecognition">Stop Listening</button>
    <ejs-speechtotext ref="speechToTextInstance"></ejs-speechtotext>
  </div>
</template>

<script setup>
const speechToTextInstance = ref(null);

const startRecognition = () => {
  speechToTextInstance.value.startListening();
};

const stopRecognition = () => {
  speechToTextInstance.value.stopListening();
};
</script>

Pattern 4: Listening State Monitoring

Track component state changes:

<template>
  <div>
    <p>Status: {{ listeningState }}</p>
    <ejs-speechtotext @start="(args) => listeningState = args.listeningState" @stop="(args) => listeningState = args.listeningState"></ejs-speechtotext>
  </div>
</template>

<script setup>
const listeningState = ref('Inactive');
</script>

Pattern 5: Error Handling

Capture and respond to speech recognition errors:

<template>
  <ejs-speechtotext @error="onError"></ejs-speechtotext>
</template>

<script setup>
const onError = (args) => {
  console.error('Speech recognition error:', args);
};
</script>

What ships with it: 7 files

53.2 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.