Home

Awesome

voicecapture-angular

voicecapture-angular is an Angular library designed to provide seamless voice capture and transcription capabilities for web applications. With an easy-to-use API, voicecapture-angular allows developers to integrate voice recognition features effortlessly, enabling users to interact with applications using their voice. The library offers customizable options for handling voice input and transcription, making it a flexible solution for enhancing user interfaces.

Installation

To install voicecapture-angular, run the following command:

npm install voicecapture-angular

Usage Example

import { Component } from '@angular/core';
import { signal, WritableSignal } from 'signals';
import { VoiceCapture } from 'voicecapture-angular';

@Component({
  selector: 'app-voicecapture-example',
  templateUrl: './voicecapture-example.component.html',
})
export class VoiceCaptureExampleComponent {
  isVoiceCaptureExample: WritableSignal<boolean> = signal(false);
  voiceTextTranscript!: string;

  openVoiceCapture() {
    this.isVoiceCaptureExample.set(true);
  }

  returnVoiceTranscript(transcript: string) {
    this.voiceTextTranscript = transcript;
  }
}

HTML Template

<button (click)="openVoiceCapture()">
  Open VoiceCapture Example
</button>

<voicecapture-angular
  [start]="isVoiceCaptureExample"
  (voiceTranscript)="returnVoiceTranscript($event)"
/>

@if(voiceTextTranscript) {
  <h2>Transcript Results</h2>
  <p>{{ voiceTextTranscript }}</p>
  <label for="voiceTextInput">Input Example:</label>
  <input
    id="voiceTextInput"
    type="text"
    [(ngModel)]="voiceTextTranscript"
    placeholder="Texto do Voice Transcript"
  />

  <label for="voiceTextArea" >Textarea Example:</label>
  <textarea
    id="voiceTextArea"
    [(ngModel)]="voiceTextTranscript"
    placeholder="Texto do Voice Transcript"
  ></textarea>

  <button (click)="alertExampleButton()">
    {{ voiceTextTranscript }}
  </button>
}

Component Setup

In the VoiceCaptureExampleComponent, a WritableSignal<boolean> named isVoiceCaptureExample is defined, initialized to false. The openVoiceCapture method sets isVoiceCaptureExample to true, which triggers the voice capture process.

Inputs

@Input() start: WritableSignal<boolean>

Controls the initiation of voice capture.

@Input() lang: string = 'en'

Language of voice capture, this default is en.

@Input() mode: string = 'fullscreen'

Mode of voice capture, this default is fullscreen other value float.

Example: Start capturing voice input.

<voicecapture-angular [start]="isVoiceCaptureExample" />

Outputs

(voiceTranscript)

An event that emits the transcribed voice input.

Example: Capture and use the transcribed text.

returnVoiceTranscript(transcript: string) {
  this.voiceTextTranscript = transcript;
}

Features