Show HN: Whisper.cpp and YAKE to Analyse Voice Reflections [iOS] (apps.apple.com)
To get out of this mindset, I decided to make an app for myself in a week, add monetization, release it and move on. The app idea was simple: Reflect on your day by answering the same four questions out loud. The answers are transcribed and with regular use you can see what influences you the most and take action. All on-device, as otherwise I wouldn't feel comfortable sharing my thoughts.
I had all core features working within a day by simply modifying an existing example app. However I was dissatisfied with iOS's built-in offline transcription due to a lack of punctuation and the speech recognition permission prompt that made it seem like data would leave the device. Decided to use whisper.cpp [0] (small model) instead. This change, lead to many others, as I now felt too little of the app's code was mine. e.g.:
- Added automatic mood analysis. First using sentiment analysis, then changed to a statistical approach
- Show trends: First implemented TextRank to provide a summary for an individual day, then changed it to extract keywords to spot trends over weeks and months. Replaced TextRank with KeyBERT for speed and n-grams, then BERT-SQuAD, and ended on a modified YAKE [1] for subjectively better results. (Do you know of a better approach?)
As a result, this tiny app took me over a month, but it still has its flaws: - Transcription is not live but performed on recordings, so if you immediately want the transcript of your most recent answer, you have to wait.
- Mood and keyphrase extraction are optimized for my languages and way of speaking, so they might not generalize well.
- Music in the background can result in nearly empty transcripts.
Nevertheless, after using the app regularly and enjoying it, I feel ready to release.
Hope you will find the app useful too.[0] Show HN: Whisper.cpp https://news.ycombinator.com/item?id=33877893
[1] YAKE: https://github.com/LIAAD/yake
3 comments
[ 3.0 ms ] story [ 19.9 ms ] threadBTW - to modify an existing app, can you just fork the repo and open a new Xcode on that fork? I don't know iOS but I'm getting into MacOS dev and I like this idea of modifying an existing app, as I've already got so much boiletplate I think I can reuse.
Sure if the repo has a xcodeproj you can just open it in XCode, change the signing and improve on it. (Just make sure to always respect the licenses) If you want to play with whisper.cpp you can use this SwiftUI demo: https://github.com/ggerganov/whisper.cpp/tree/master/example...