Commit Graph
20 Commits
Author SHA1 Message Date
LauraGPT 2d14544f38 docs(runtime): publish v0.2.6 download matrix
Signed-off-by: LauraGPT <[email protected]>
2026-08-30 03:32:30 +00:00
LauraGPT c567595900 feat(runtime): add Windows Blackwell CUDA asset
Signed-off-by: LauraGPT <[email protected]>
2026-08-30 01:48:01 +00:00
LauraGPT 6ded40886c docs(runtime): publish v0.2.3 diagnostics
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 17:55:23 +00:00
zhifu gao 65bbd29f60 docs: clarify llama.cpp speaker diarization support
Signed-off-by: zhifu gao <[email protected]>
2026-08-13 02:15:55 +00:00
zhifu gao 500956bc33 fix(vulkan): refresh ggml for AMD submission handling (#3482)
Refresh the pinned llama.cpp revision with AMD Vulkan submission batching and DeviceLost diagnostics, adapt the sampler API, and document Windows troubleshooting. Refs #3479.
2026-08-11 12:19:11 +08:00
Dingyuan Wang b0d44bd792 llama.cpp: add srt output (#3480)
Add optional SRT output to Fun-ASR-Nano, SenseVoiceSmall, and Paraformer llama.cpp runtimes. Preserve existing non-SRT output behavior and document VAD-aligned subtitle generation.
2026-08-11 11:27:36 +08:00
zhifu gao 6c3b47c2e5 docs: publish runtime v0.1.9 download links (#3399) 2026-07-23 19:38:51 +08:00
zhifu gao 9b918d74d7 feat(runtime): publish Windows Vulkan binary (#3398)
* feat(runtime): add Windows Vulkan release asset

* fix(ci): install SPIR-V headers for Windows Vulkan

* fix(runtime): make Windows Vulkan package standalone
2026-07-23 18:49:28 +08:00
zhifu gaoandLauraGPT 2aa24baa4e Refresh public docs release copy (#3337)
Co-authored-by: LauraGPT <[email protected]>
2026-07-23 02:55:56 +08:00
zhifu gao e3327be1bd feat(runtime): add Vulkan llama.cpp backend packaging
Add Linux Vulkan packaging and runtime selection for the FunASR llama.cpp SenseVoice GGUF backend.
2026-07-22 18:40:34 +08:00
zhifu gao b798e2679f feat(runtime): add GGUF HTTP transcription wrapper
Expose the llama.cpp/GGUF command-line binaries through a lightweight OpenAI-compatible transcription endpoint.
2026-07-22 18:16:22 +08:00
zhifu gao a2a6ba3ddf docs: clarify Windows CUDA GPU architecture support
Document the current sm_86 Windows CUDA prebuilt limit and direct RTX 50 / Blackwell users to CPU binaries or source builds with CMAKE_CUDA_ARCHITECTURES=120 until a dedicated asset is available.
2026-07-19 18:39:13 +08:00
zhifu gao b006767999 Promote llama.cpp Windows CUDA release in README (#3250)
* Promote llama.cpp Windows CUDA release

* Preserve releases link in llama.cpp README snippets
2026-07-19 04:15:44 +08:00
zhifu gao f1e287edc2 Add Windows CUDA llama.cpp release asset
Adds a Windows x64 CUDA release asset for the llama.cpp SenseVoice runtime, with CUDA Toolkit setup, architecture-86 build flags, focused SenseVoice target packaging, docs, and workflow regression tests. Manual workflow dispatch 29656771776 passed all build matrix jobs including build-windows-x64-cuda.
2026-07-19 03:24:07 +08:00
zhifu gao 57721fc8ce Add SenseVoice llama.cpp backend selector (#3247) 2026-07-18 19:16:03 +08:00
游雁 9c17931645 fix(llama.cpp): download one GGUF variant by default 2026-07-15 04:28:57 +00:00
zhifu gaoandLauraGPT 4a93f29333 docs: build note — copy funasr-common alongside the example (shared miniaudio audio loader) (#2996)
Co-authored-by: LauraGPT <[email protected]>
2026-06-20 14:14:55 +08:00
zhifu gao 66358c577e feat: B1 packaging — one-command download, standalone convert, CI-friendly CMake (#3000)
Make the runtime a downloadable product (whisper.cpp-style), no manual export needed:

- download-funasr-model.sh: one command to pull pre-converted GGUF from Hugging Face
  (FunAudioLLM/*-GGUF), incl. fsmn-vad for built-in --vad. No Python ML env required.
- convert-funasr-to-gguf.py: one-step HF/ModelScope checkpoint -> GGUF (wraps the
  validated export_*.py; discovered relative to itself so it works in any layout).
- CMakeLists.txt: standalone, CI-friendly top-level build. FetchContent pins llama.cpp
  (provides ggml + llama), static libs -> self-contained binaries in build/bin/, no
  hardcoded paths; builds on Linux/macOS/Windows x64/arm64. `cmake -B build && cmake --build build -j`.
- README: download-first + standalone-build quickstart; links to the HF GGUF repos.

Verified on Linux: all targets build via FetchContent (static, no shared-lib deps);
hf download -> run reproduces canonical output. Additive; runtime/llama.cpp/ only.
2026-06-20 14:14:49 +08:00
zhifu gao e615ed0dc0 feat: built-in FSMN-VAD (--vad) for all three runtimes — single-binary segmentation (#2998)
Add a native ggml FSMN-VAD front end so the binaries segment long audio themselves,
with no Python at runtime. New `--vad fsmn-vad.gguf` flag on llama-funasr-cli,
llama-funasr-sensevoice and llama-funasr-paraformer runs FSMN-VAD (fbank + LFR + CMVN +
FSMN encoder + E2EVadModel state machine, in funasr-common/funasr_vad.h) and decodes
each speech segment, then concatenates.

- funasr-common/funasr_vad.h: single-header VAD; segment boundaries within ~10 ms of
  PyTorch fsmn-vad.generate on the 184-clip set (DEFAULT_SILENCE_SCHEDULE replicated,
  chunk-stepped silence schedule + speech_noise_thres 0.5).
- funasr-vad/: standalone VAD tool (wav -> [start_ms,end_ms] segments).
- export_vad_gguf.py: export FSMN-VAD encoder + CMVN to GGUF (1.7 MB, 24 tensors).
- BENCHMARKS.md: bare binary with built-in VAD reaches the reference end-to-end —
  full-184 micro-CER SenseVoice 8.01 / Paraformer 9.85 / Fun-ASR-Nano 8.30.

Additive only: no existing code is modified outside runtime/llama.cpp/.
2026-06-20 13:26:27 +08:00
zhifu gaoandLauraGPT b7da5cc706 Add llama.cpp / GGUF runtime for FunASR models (#2988)
* Add llama.cpp/GGUF runtime for Fun-ASR-Nano, SenseVoice and Paraformer

Run FunASR models entirely on the llama.cpp / ggml stack: CPU / edge, single
binary, no Python at runtime, quantized GGUF weights (like whisper.cpp for
Whisper). Adds runtime/llama.cpp/ with three models sharing a common ggml SAN-M
encoder / FSMN / attention and kaldi fbank front end:

- fun-asr-nano : SAN-M encoder + adaptor + Qwen3-0.6B LLM (audio embeds injected
  via llama_decode embedding input, llava/mtmd style); integrated WAV->text CLI.
- sensevoice   : SAN-M encoder + CTC; WAV->CTC ids.
- paraformer   : SAN-M encoder + CIF predictor + SAN-M decoder (non-autoregressive).

Each ships a GGUF export script and a README (architecture, quickstart, accuracy,
gotchas). Validated against the PyTorch reference (encoder cosine ~1.0; SenseVoice
CTC ids identical; Paraformer text identical; Fun-ASR-Nano CER within 0.02% under
identical conditions). Adds a new directory only; no existing code is modified.

* docs: add comprehensive design document (architecture, GGUF format, validation, gotchas)

* docs: link README to DESIGN.md

* fix: address code review (WAV ch/bits validation, chunk guard, null/leak checks)

Fixes gemini-code-assist findings: validate channels/bits in the WAV reader
(reject non-16-bit/zero-channel instead of dividing by zero), guard chunk size
>=1, null-check fopen/llama_context, and fclose/ggml_free on all paths.

---------

Co-authored-by: LauraGPT <[email protected]>
2026-06-19 12:06:42 +08:00