whisper.cpp/examples/whisper.android
Jinwei Han 72e57ec4e7 android : fix CPU variant fallback returning LITTLE cluster count
The variant fallback in getHighPerfCpuCountByVariant() used
countKeepingMin() while the primary frequency branch used
countDroppingMin(). Both branches are meant to return the count of
high-performance cores, so the asymmetry caused the variant branch to
return the LITTLE cluster count instead.

On big.LITTLE SoCs, when cpuinfo_max_freq is unreadable and the code
falls back to CPU variant (verified by the reporter on Helio G85 in
ggml-org/whisper.cpp#3602), whisper ends up running on the LITTLE
cores and inference throughput roughly halves.

Fix mirrors the suggestion in the issue: use countDroppingMin() in the
variant branch, matching the frequency branch. Both the Kotlin
(whisper.android) and Java (whisper.android.java) examples share the
same asymmetry and are fixed together.
2026-04-19 23:49:25 -07:00
..
.idea examples : add whisper.android.java for compatibility with older Android versions using Java (#1382) 2023-11-12 18:31:58 +02:00
app whisper.android : update example, add field to print timestamp (#2072) 2024-05-13 14:30:03 +03:00
gradle/wrapper whisper.android : bump gradle plugin and dependencies + a lint pass (#1255) 2023-09-07 12:15:59 +03:00
lib android : fix CPU variant fallback returning LITTLE cluster count 2026-04-19 23:49:25 -07:00
.gitignore Add Android sample (#277) 2022-12-16 19:20:13 +02:00
README.md ggml : remove OpenCL (#0) 2024-06-16 18:19:48 +03:00
build.gradle whisper.android : bump gradle plugin and dependencies + a lint pass (#1255) 2023-09-07 12:15:59 +03:00
gradle.properties Add Android sample (#277) 2022-12-16 19:20:13 +02:00
gradlew Add Android sample (#277) 2022-12-16 19:20:13 +02:00
gradlew.bat Add Android sample (#277) 2022-12-16 19:20:13 +02:00
settings.gradle android : decouple example into a library and app module (#1445) 2023-11-07 14:27:33 +02:00

README.md

A sample Android app using whisper.cpp to do voice-to-text transcriptions.

To use:

  1. Select a model from the whisper.cpp repository.1
  2. Copy the model to the "app/src/main/assets/models" folder.
  3. Select a sample audio file (for example, jfk.wav).
  4. Copy the sample to the "app/src/main/assets/samples" folder.
  5. Select the "release" active build variant, and use Android Studio to run and deploy to your device.

(PS: Do not move this android project folder individually to other folders, because this android project folder depends on the files of the whole project.)

image

  1. I recommend the tiny or base models for running on an Android device. ↩︎