Skip to content

release: 0.63.2 — Moonshine streaming external encoder hook - #521

Merged
michalharakal merged 4 commits into
developfrom
release/0.63.2
Oct 27, 2026
Merged

michalharakal merged 4 commits into
developfrom
release/0.63.2

Conversation

@michalharakal

Copy link
Copy Markdown
Contributor

Prepares 0.63.2 against engine 0.62.0. It is transformers-only and additive.

  • Moonshine streaming: external encoder hook (moonshine_stream_jni.c, libskainet_moonshine_stream.so both ABIs). An encoder path of the form ext:<library.so>|<model dir> replaces the frontend, encoder and adapter graphs with a dlopen'ed library exporting moonshine_ext_encoder() (ABI 1: one window of audio in, 64 memory rows out), so an accelerator outside IREE can run the encoder side while the decoder stays on the IREE device. Without the prefix nothing changes, and the Kotlin API is unchanged (IreeMoonshineStream passes the path through). On an arm32 Mali device, 444 German commands with an external encoder: 13.1 % WER against 13.9 % for the all-Vulkan path from the same library.
  • moonshine_stream_check: MOONSHINE_ENC replaces the encoder path.

runtime-iree-android still depends only on kotlin-stdlib.

Changes besides the hook: VERSION_NAME 0.63.2, the CHANGELOG section, the README current-release line and the BOM version in the docs. Pushing the tag 0.63.2 after the merge publishes to Maven Central.

An encoder path of that form replaces the frontend, encoder and adapter graphs with a dlopen'ed
library exporting moonshine_ext_encoder() (ABI 1: one whole window of audio in, the window's 64
memory rows out), so an accelerator outside IREE can run the encoder side while the decoder stays
on the IREE device. Without the prefix nothing changes. moonshine_stream_check takes the encoder
path from MOONSHINE_ENC.

Checked on an arm32 Mali device over 444 German commands with an external encoder: transcripts
scored 13.1 % WER against 13.9 % for the all-Vulkan library from the same source.
…cument the ext: form

Rebuilt libskainet_moonshine_stream.so for arm64-v8a and armeabi-v7a from the hook commit;
IreeMoonshineStream's KDoc describes encoderVmfb = "ext:<library.so>|<model dir>" (a bare
library name resolves among the app's own native libraries).
@michalharakal
michalharakal merged commit a109295 into develop Oct 27, 2026
4 checks passed
@michalharakal
michalharakal deleted the release/0.63.2 branch October 27, 2026 21:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant