Add-on Directory

Audio Recorder for Vaadin - Vaadin Add-on Directory

Audio recording with real-time waveform visualization for Vaadin Flow. AI-agnostic — works with any transcription backend. Audio Recorder for Vaadin - Vaadin Add-on Directory
# Audio Recorder for Vaadin Record audio from the microphone with **real-time frequency bars or waveform visualization** — all from pure Java. Zero JavaScript required. ## AI-Agnostic The addon captures `byte[]` and delivers them to your server. YOU decide what to do with them: ```java // OpenAI Whisper AudioRecorder recorder = new AudioRecorder(audio -> whisperService.transcribe(audio.bytes(), audio.mimeType()) ); // Google Gemini AudioRecorder recorder = new AudioRecorder(audio -> geminiService.transcribe(audio.bytes()) ); // Save to disk — no AI at all AudioRecorder recorder = new AudioRecorder(audio -> { Files.write(Path.of("recording.webm"), audio.bytes()); return "Saved!"; }); ``` ## Features - Real-time frequency bars or oscilloscope waveform visualization - Gain/level indicator bar - Pause & resume recording - Upload existing audio files - Built-in playback of last recording - Headless mode — hide UI, control from Java - Max duration auto-stop - 3 theme presets + full custom colors - MIME type validation whitelist ## Quick Start ```java AudioRecorder recorder = new AudioRecorder(audio -> myService.transcribe(audio.bytes(), audio.mimeType()) ); recorder.addHandlerResultListener(e -> textArea.setValue(e.getResult())); add(recorder); ``` ## Browser Support Chrome, Firefox, Edge, Safari 14.1+ (requires MediaRecorder + Web Audio API)
Source Code
View on GitHub

Audio Recorder for Vaadin version 0.1.0
Initial release — Audio recording with real-time waveform/frequency visualization for Vaadin Flow. Features: AudioHandler functional interface, pause/resume, file upload, headless mode, theme presets, gain indicator, max duration auto-stop.