Murmur: an on-device day journal for Android
Murmur listens through the day, transcribes speech on the phone and turns it into a journal: conversations are split automatically, summarised and tagged, and laid out on a day timeline. This page covers version 2.1, what the project reports about testing it, and what I could and could not check.
Download and verify
Version 2.1 (versionCode 3). Package com.jackgross.murmur. Android 6 or newer. A sideload build of 54,324,852 bytes, because it bundles the English speech model.
SHA-256: 338aa20e58ab11039142fe676f2839954b9c837c47d066cc14b6ae0be5ef21d9 (54,324,852 bytes)
I re-hashed the file served from this site and it matches the value above.
Install note: uninstall the earlier version first
This build is signed with a new key, the second time the signing key has changed. Android will not update an app over a build signed with a different key, so anyone with an earlier Murmur must uninstall it first. Transcripts live in the app, so uninstalling deletes them. Copy out anything you need before you uninstall.
What it does
- On-device speech transcription with the bundled Vosk small English model.
- Conversations are split automatically.
- Each conversation gets a summary.
- Decision and task tags.
- A day timeline, shown as a day thread.
- Hold-to-pause control for stopping listening on demand.
- A consent screen before listening starts, then the Android microphone permission.
- Two interface languages, English and Russian. The Russian speech model is a separate in-app download.
- Three modes: Everyday, Meeting and Memo.
- Opt-in AI providers: NVIDIA NIM or a custom OpenAI-compatible endpoint. Nothing is used until you set one up.
- Layout fixes for small screens.
What is and is not verified
- The project reports an install and launch on an Android 6 emulator and end-to-end transcription with the bundled English model, using a real audio file run through the service, plus harness screenshots at 320 and 360 pixel widths in English and Russian. I did not re-run any of that.
- The project also reports a QA wave of 25 independent review passes whose findings were fixed, including 7 major issues such as Russian extraction and a quiet-hours race. I have not seen the individual findings.
- Not run on a device: the live microphone, the real Russian model download, an AI round trip with a live key, and quiet-hours clock behaviour. Accuracy with a real microphone (noise, accents) and battery use are also untested.
- Permissions: I read the strings in the APK manifest. It declares INTERNET, RECORD_AUDIO, FOREGROUND_SERVICE, FOREGROUND_SERVICE_MICROPHONE and POST_NOTIFICATIONS. INTERNET was not in the earlier build I read. My inference is that it is there for the Russian model download and the opt-in AI providers; I have not checked what it is used for. This is a string read, not a full manifest parse.
A note on always-listening
An app that listens all day deserves caution. Only turn it on where recording conversations is legal and where the people around you know. Laws on recording differ by place. I have not audited what the app stores or where, beyond what the project reports, so treat privacy claims as the project's, not mine. AI providers are opt-in. The project reports that its QA wave audited what they receive: only the explicit Ask question (up to 5,000 characters of transcript context) or the single note being polished (up to 6,000), nothing automatic and nothing else. I have not verified that myself.
How it was built
Why the model lives on the phone
The central choice is that speech becomes text on the device, with a speech model bundled inside the APK. The price is size: the build is about 56MB, which is why it is hosted as a direct download. The gain is that transcription does not depend on a server.
From transcript to journal
Raw transcription is not a journal. The app splits the stream into conversations, gives each a summary, tags decisions and tasks, and lays the day out on a timeline. Hold-to-pause is part of the same idea: a listening app needs an obvious way to stop.
Consent first
Listening starts only after a consent screen and the Android microphone permission. That ordering is a design choice, and the project reports it was exercised on the emulator.
Languages, modes and optional AI
This version widens the app. The interface comes in English and Russian, and the Russian speech model is a separate download inside the app, so the English model stays the one bundled in the APK. There are three modes: Everyday, Meeting and Memo. AI providers are opt-in, either NVIDIA NIM or a custom OpenAI-compatible endpoint, which is why the APK now declares the INTERNET permission, as far as I can infer.
The QA wave
Before this release the project ran a QA wave of 25 independent review passes. It reports that the findings were fixed, 7 of them major, including a problem with Russian extraction and a race around quiet hours. That is the project's account; I have not read the individual reports. A feature set this wide widens the surface for bugs, which is my reason for thinking the review was worth running.
What the testing covered
The project reports an Android 6 emulator install and launch, end-to-end transcription with the bundled English model from a real audio file, and harness screenshots at 320 and 360 pixel widths in English and Russian. It does not cover the live microphone, the real Russian model download, an AI round trip with a live key, quiet-hours clock behaviour, real-microphone accuracy or battery use. Those are the next things to test on a phone.