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
66 lines
2.8 KiB
Markdown
66 lines
2.8 KiB
Markdown
# 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](https://huggingface.co/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
|
|
|
|
```bash
|
|
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.
|
|
|
|
```bash
|
|
--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:
|
|
|
|
```bash
|
|
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.
|