Skip to content
29-CuPublic

About

La voce — Minimal voice message component for AI chat interfaces with SenseVoice STT + emotion detection

Resources

Stars

59 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Voce

La voce — 声音

A minimal voice message component for AI chat interfaces, with SenseVoice-powered transcription and emotion detection.

Users speak → browser records → server transcribes (with emotion) → chat renders a voice bar.

Features

  • 🎙️ Browser-native recording (MediaRecorder API)
  • 🌊 Real-time waveform visualization during recording
  • 📝 Server-side transcription via SenseVoice (50+ languages, 15x faster than Whisper)
  • 😊 Emotion detection (happy / sad / angry / neutral)
  • 🎵 Playable voice bar with waveform progress and duration
  • 📋 Transcript toggle ("文" button to view transcribed text)
  • 💾 Draft mode: record multiple voice messages before sending

Quick Start

pip install funasr torch torchaudio
python server.py
# Open http://localhost:3456

How It Works

  1. Record: Click the mic button → browser uses MediaRecorder to capture audio
  2. Upload: Audio blob is uploaded to /upload endpoint
  3. Transcribe: Server sends audio to SenseVoice model → returns text + emotion tag
  4. Render: Frontend displays a playable voice bar with waveform animation

Tech Stack

  • Frontend: Vanilla JS + MediaRecorder API + Web Audio API (for waveform)
  • Backend: Python HTTP server + FunASR/SenseVoice
  • No frameworks. No build step. Copy and run.

Credits

Built by Cu & Lunedì · cunedi.uk

License

MIT

About

La voce — Minimal voice message component for AI chat interfaces with SenseVoice STT + emotion detection

Resources

Stars

59 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages