Skip to content

feat(game): deep-embed GAME ggml transcription (M2-M4 + desktop Vulkan) - #283

Open
KakaruHayate wants to merge 2 commits into
vocoder712:devfrom
KakaruHayate:dev
Open

feat(game): deep-embed GAME ggml transcription (M2-M4 + desktop Vulkan)#283
KakaruHayate wants to merge 2 commits into
vocoder712:devfrom
KakaruHayate:dev

Conversation

@KakaruHayate

Copy link
Copy Markdown

Merges the GAME ggml transcription feature (M2–M4) into dev.

What

  • Deep-embed KakaruHayate/game.cpp (GAME vocal→MIDI ggml native backend) via a native/ submodule + C ABI shim (game_capi).
  • C# integration placed entirely in the Mobile layer (OpenUtauMobile/Services/Game/*); no changes to OpenUtau.Core / OpenUtau.Plugin.Builtin (only read-only reuse of MidiExtractor<GameOptions>).
  • Model packaged at build time from the pinned release .oudep (SHA-256 verified), not committed.
  • New EditorMore → "Transcribe Audio" entry: pick an audio file → GameGgmlMidiExtractor.Transcribe → UVoicePart inserted on a new track (single undo group).

Verification

  • Android cross-compiled 4 ABIs (Libs/<abi>/libgame_ggml_shared.so, CPU-only static ggml, readelf-verified).
  • Desktop C# smoke and headless M4 smoke end-to-end verified (real audio → 30-note UVoicePart, CPU).

CodeRabbit

  • Reviewed on fork PR; all 11 actionable comments fixed (workflow checkout credential persistence + permissions, CMake preset schema/minimum + CMakePresets.json rename, HANDOFF status sync, shot.ps1 robustness, backend_decided honesty, WAV PCM16 validation, model checksum + cross-platform extraction, TranscribeAudio try/catch).
  • Dev-tooling scripts with machine-specific paths are intentionally kept as-is (they only run on the author's machine).

…n) (#1)

* feat(game): deep-embed GAME ggml transcription (M2-M4 + desktop Vulkan)

* fix: address CodeRabbit review comments on game-embed PR

* fix: CodeRabbit nitpicks in ui-scratch and m4 smoke scripts
@vocoder712 vocoder712 closed this Aug 25, 2026
@vocoder712 vocoder712 reopened this Aug 25, 2026
# Conflicts:
#	.github/workflows/build-all-platforms.yml
#	.github/workflows/build-android-dev.yml
#	.gitignore
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.

2 participants