voice_audio_multi/docs/models/hviske_asr_v6.md
Fabio c36510c21e
Some checks failed
Linux Build / Linux cpu (push) Has been cancelled
Linux Build / Linux cpu-clang (push) Has been cancelled
Linux Build / Linux vulkan (push) Has been cancelled
mac-build / macOS CPU (push) Has been cancelled
Nix Build / Nix (cpu) (push) Has been cancelled
Nix Build / Nix (vulkan) (push) Has been cancelled
windows-build / Windows CPU (push) Has been cancelled
Initial import: audio.cpp with Orange Pi documentation
2026-11-04 19:05:22 +01:00

2.8 KiB

Hviske v6

hviske_asr_v6 is a separate family from the Conformer-based hviske_asr. It uses a Whisper encoder with partial rotary positions, four-frame stacking, an RMSNorm/linear projector, and a Qwen3 causal decoder.

Upstream: syvai/hviske-v6. The checkpoint is Danish-only and licensed under CC BY-NC 4.0; see the upstream model card and notices for the underlying models' licenses.

Usage

audiocpp_cli --task asr --family hviske_asr_v6 \
  --model /path/to/hviske-v6-bf16.gguf --backend cuda \
  --audio danish.wav --log

The model supports offline transcription, without timestamps, diarization, or native streaming. Input is mixed to mono and resampled to 16 kHz. Recordings longer than 30 seconds are split at silence boundaries into chunks of at most 28 seconds, following the upstream transcription wrapper.

Request Options

Option Default Meaning
audio_chunk_mode auto auto: silence splitting above 30 seconds; silence: silence splitting above the configured duration; fixed: fixed-duration cuts; none: no splitting, input must be at most 30 seconds.
audio_chunk_duration_sec 28 Maximum chunk duration (0.001-30 seconds). Does not change the 30-second trigger in auto mode.
max_tokens 440 Per-chunk generation limit, further capped to eight tokens per second plus twelve.
num_beams 2 Beam-search width; 1 selects greedy decoding.
length_penalty 1.0 Beam-score length-normalization exponent.
cased Unset Request cased or lowercase output.
punc Unset Request or suppress punctuation only. punctuated and punctuation remain accepted aliases.

Behavior difference: unlike Canary, Cohere and original Hviske, punc does not control capitalization. Hviske v6 uses the separate cased control.

Set both cased and punc to override automatic formatting. With either option omitted, the model selects formatting from the audio, matching upstream. These are model conditioning tokens, not post-processing guarantees.

--request-option cased=true --request-option punc=true

Session Options

Option Default Meaning
hviske_asr_v6.weight_type native Preserve checkpoint tensor types, or explicitly override weight storage.

Conversion

No model-specific checkpoint rewrite is required. Use the standard GGUF tool:

audiocpp_gguf --family hviske_asr_v6 \
  --model-spec model_specs/hviske_asr_v6.json \
  --input weights=/path/to/hviske-v6/model.safetensors \
  --root /path/to/hviske-v6 --type orig \
  --output /path/to/hviske-v6-bf16.gguf

The original checkpoint tensors are BF16. The converter embeds the config, tokenizer, and model spec for standalone loading.