Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lgrammel/whisperwriter
Local & private voice controlled notepad using whisper.cpp
https://github.com/lgrammel/whisperwriter
nextjs stt transcription vad whisper-cpp
Last synced: 28 days ago
JSON representation
Local & private voice controlled notepad using whisper.cpp
- Host: GitHub
- URL: https://github.com/lgrammel/whisperwriter
- Owner: lgrammel
- License: mit
- Created: 2023-12-09T11:20:08.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-01-21T15:38:48.000Z (10 months ago)
- Last Synced: 2024-10-03T13:22:16.071Z (about 2 months ago)
- Topics: nextjs, stt, transcription, vad, whisper-cpp
- Language: TypeScript
- Homepage:
- Size: 266 KB
- Stars: 21
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WhisperWriter
Local, private voice controlled notepad using [Next.js](https://nextjs.org/), [whisper.cpp](https://github.com/ggerganov/whisper.cpp), [ModelFusion](https://github.com/lgrammel/modelfusion), and [@ricky0123/vad](https://github.com/ricky0123/vad).
Voice activity detection (VAD) and speech-to-text (STT) are run locally on your machine. WhisperWriter always listens while it's running, and automatically transcribes what you say when it's active.
Besides transcription, you can use the following voice commands:
- "Command: clear": Clear the text in the panel
- "Command: stop": Stop transcribing
- "Command: start": Start transcribing## Setup
1. Clone and compile [whisper.cpp](https://github.com/ggerganov/whisper.cpp#quick-start)
1. Start the [whisper.cpp server](https://github.com/ggerganov/whisper.cpp/tree/master/examples/server)
- Tip: you can download stronger models for better speech recognition. Usually they take longer to respond though. See the [ModelFusion Whisper.cpp guide for details](https://modelfusion.dev/integration/model-provider/whispercpp).
1. Run `npm install`
1. Run `npm run build`
1. Run `npm start`
1. Go to http://localhost:3000/> [!NOTE]
> There is a bug that can lead to double initialize when using `npm run dev`. You need to use `npm run build` and `npm start` instead.## Demo
> [!NOTE]
> Transcriptions are better than what's shown in the video if you use stronger models in whisper.cpphttps://github.com/lgrammel/whisperwriter/assets/205036/8021e72b-7b88-45a2-a820-3bc3e25fbbce