Syncfusion vue speech to text
Skill syncfusion/vue-ui-components-skills/skills/syncfusion-vue-speech-to-text
This repository contains agent prompts for creating skills and organizing AI agent capabilities.
npx -y skills add syncfusion/vue-ui-components-skills --skill syncfusion-vue-speech-to-textAssembled 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.
What its author says it does
Copied from the file, not written here
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.
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
transcriptproperty - Setting language with
langproperty - 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
createdevent - Speech recognition lifecycle:
onStart,onStop - Error detection with
onErrorevent - Real-time transcription with
transcriptChangedevent - 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
localeproperty - Right-to-Left (RTL) support with
enableRtlproperty - 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
references/
- appearance.md7.3 KB
- events.md14.4 KB
- getting-started.md3.1 KB
- globalization.md7.2 KB
- methods.md3.2 KB
- security.md7.2 KB
- speech-recognition.md10.8 KB