PracticePerfect:在本機提升口語表達能力
PracticePerfect - Improve your speaking skills locally
PracticePerfect 是一款在筆電本機運行的口語練習應用,使用 Whisper small 經 faster-whisper 轉錄錄音,再由 Gemma 3:1b 評分並提出改善建議。模型和依賴下載後,核心練習流程可離線運行,錄音、逐字稿和回饋均儲存在用戶的筆電。
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
I sometimes start speaking before I’ve figured out how to organize what I want to say. I know the point I’m trying to make, but halfway through an explanation, I’m repeating myself or losing the thread.
I wanted somewhere to practice that felt private and easy to return to.
So I built PracticePerfect, a speaking-practice app powered by open models running locally on a laptop.
The workflow is simple:
- Get a topic of the day.
- Record your response on your phone and transfer it to your laptop.
- Load the recording into the app.
- Receive a transcript, practice scores, and suggestions for improving your response.
- Try again and put the feedback into practice.
The goal is to help people explain their thoughts more clearly through short, repeatable practice sessions. The scores are AI-generated practice feedback, rather than a clinical assessment or an objective measure of speaking ability.
Potential customers include students preparing for interviews and presentations, and professionals who want to rehearse without uploading personal or confidential recordings. A paid version could offer guided practice programs and richer progress tracking. That’s a business model I’d like to test; I’m not claiming validated demand or paying customers yet.
Demo
Watch the demo: https://drive.google.com/drive/folders/12AqQWCHCR78lKqtFJdwQlPm_NKQjdjl4?usp=drive_link
The demo walks through choosing a topic, loading a recording, transcribing it, and generating feedback locally.
Code
GitHub repository: https://github.com/Zemksh/voice
The repository includes the setup instructions and requirements for running the app locally.
How I Built It
The app uses two models with different responsibilities:
- Whisper, running through faster-whisper, converts the recording into text.
- Gemma, served locally through Ollama, evaluates the response against the topic and generates structured feedback.
The application stack is:
- React and TypeScript for the interface.
- Tailwind CSS for styling.
- Python and FastAPI for the backend.
- FFmpeg for converting uploaded audio into a consistent format.
- SQLite and local file storage for practice history and recordings.
The main pipeline is:
Recording → local transcription → transcript review → local feedback → practice results
I separated transcription from feedback so each model has a focused job. The application handles file processing and storage, while Gemma interprets the response and suggests improvements.
I developed the project on a Fedora laptop with an Intel Core Ultra 9 185H, 32 GB of RAM, and no dedicated GPU. That made resource usage and the tradeoff between model size and response time practical concerns from the start.
Gemma 3:1b
Whisper small
Why Does Open Innovation Matter?
Speaking practice can be personal. Someone might rehearse a difficult conversation, discuss their background in a mock interview, or practice a presentation containing confidential information.
I wanted users to be able to do that without sending their recordings to another company for analysis.
Running Whisper and Gemma locally makes that possible. After the models and dependencies are downloaded, the core practice workflow can operate without an internet connection. Recordings, transcripts, and feedback stay on the user’s laptop.
Open models also let me:
- Choose model sizes that fit the available hardware.
- Change the feedback rubric and inspect the application’s processing.
- Experiment with different models without rebuilding around one provider.
- Avoid a per-session inference API charge.
Local inference still uses computing resources, and performance depends on the machine. It also requires an initial download and setup. But it gives users control over where their practice data is processed.
For this project, open AI is what makes private, offline speech practice possible.
Prize Categories
- Best Use of Gemma: Gemma powers the local feedback stage, evaluating spoken responses from their transcripts and suggesting improvements.
來源:DEV Community · dev.to