voice_audio_multi/model_specs/moonshine_asr.json
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

284 lines
7.5 KiB
JSON

{
"schema_version": 1,
"family": "moonshine_asr",
"display_name": "Moonshine Streaming ASR",
"description": "Moonshine tiny/small/medium streaming English speech recognition models.",
"category": "asr",
"status": "experimental",
"tasks": [
"asr"
],
"modes": [
"offline",
"streaming"
],
"languages": [
"en"
],
"capabilities": {
"asr": [
"vad_chunking"
]
},
"options": {
"request": [
{
"name": "max_tokens",
"type": "int",
"description": "Maximum generated transcript tokens. Defaults to audio-duration derived limit. Nonpositive values select the automatic budget.",
"required": false,
"default": 0
},
{
"name": "audio_chunk_mode",
"type": "enum",
"description": "Long-form audio chunking mode.",
"values": [
"auto",
"fixed",
"vad",
"none"
],
"required": false,
"default": "auto"
},
{
"name": "audio_chunk_duration_sec",
"type": "float",
"description": "Maximum duration of each audio chunk in seconds. Must be positive and round to a nonempty sample count.",
"required": false,
"default": 60
}
],
"session": [
{
"name": "exec_plan",
"type": "string",
"description": "JSON component execution plans. Component decoder accepts impl default/ggml/neon and optional backend. Default retains GGML on the session backend; neon requires ENGINE_ENABLE_NEON=ON and an AArch64 NEON CPU session. No artifacts or params are used.",
"required": false,
"default": "{}"
},
{
"name": "weight_type",
"type": "enum",
"description": "Shared matmul weight storage type. Omitted uses native, except the CPU encoder with hidden size 620, 10 layers and decoder hidden size 512 uses f16. The decoder defaults to native unless explicitly overridden.",
"values": [
"native",
"f32",
"f16"
],
"required": false
},
{
"name": "conv_weight_type",
"type": "enum",
"description": "Frontend convolution weight storage type.",
"preset": "weight_type_conv",
"required": false
},
{
"name": "decoder_weight_type",
"type": "enum",
"description": "Decoder matmul weight storage type; inherits an explicit weight_type setting, otherwise native.",
"values": [
"native",
"f32",
"f16"
],
"required": false
},
{
"name": "encoder_gelu",
"type": "enum",
"description": "Encoder GELU lowering.",
"values": [
"erf",
"exact",
"tanh",
"quick"
],
"required": false,
"default": "quick"
},
{
"name": "cpu_blas_scheduler",
"type": "bool",
"description": "Use BLAS/Accelerate for supported CPU encoder matmuls.",
"required": false,
"default": true
},
{
"name": "weight_context_mb",
"type": "int",
"description": "Weight context arena size in MiB.",
"required": false,
"min": 1,
"default": 256
},
{
"name": "graph_arena_mb",
"type": "int",
"description": "Graph arena size in MiB.",
"required": false,
"min": 1,
"default": 512
},
{
"name": "vad_model_path",
"type": "path",
"description": "VAD model path used by audio_chunk_mode=vad (any built-in VAD family; default Silero VAD).",
"required": false,
"default": "assets/framework/models/silero_vad"
}
],
"load": []
},
"runtime": {
"tags": [
"gguf",
"cpu",
"stream"
]
},
"ui": {
"recommended_package": "moonshine_streaming_tiny_q8_0",
"tags": [
"ASR",
"GGUF",
"Stream"
],
"docs": [
"docs/asr.md",
"docs/models/moonshine_asr.md",
"docs/gguf.md"
]
},
"package_defaults": {
"download": {
"kind": "huggingface_snapshot",
"repo": "audio-cpp/audio.cpp-gguf",
"revision": "main",
"gated": false
}
},
"packages": [
{
"id": "moonshine_streaming_tiny_q8_0",
"display_name": "Moonshine Streaming Tiny Q8_0 GGUF",
"default": true,
"format": "gguf",
"precision": "q8_0",
"target_directory": "Moonshine-Streaming-GGUF",
"files": [
"Moonshine-Streaming-GGUF/moonshine-streaming-tiny-q8_0.gguf"
],
"strip_prefix": "Moonshine-Streaming-GGUF"
},
{
"id": "moonshine_streaming_small_q8_0",
"display_name": "Moonshine Streaming Small Q8_0 GGUF",
"format": "gguf",
"precision": "q8_0",
"target_directory": "Moonshine-Streaming-GGUF",
"files": [
"Moonshine-Streaming-GGUF/moonshine-streaming-small-q8_0.gguf"
],
"strip_prefix": "Moonshine-Streaming-GGUF"
},
{
"id": "moonshine_streaming_medium_q8_0",
"display_name": "Moonshine Streaming Medium Q8_0 GGUF",
"format": "gguf",
"precision": "q8_0",
"target_directory": "Moonshine-Streaming-GGUF",
"files": [
"Moonshine-Streaming-GGUF/moonshine-streaming-medium-q8_0.gguf"
],
"strip_prefix": "Moonshine-Streaming-GGUF"
},
{
"id": "moonshine_streaming_tiny_safetensors",
"display_name": "Moonshine Streaming Tiny Safetensors",
"format": "safetensors",
"precision": "f32",
"target_directory": "moonshine-streaming-tiny",
"files": [
"config.json",
"tokenizer.json",
"model.safetensors"
],
"download": {
"kind": "huggingface_snapshot",
"repo": "moonshine-ai/moonshine-streaming-tiny",
"revision": "main",
"gated": false
}
},
{
"id": "moonshine_streaming_small_safetensors",
"display_name": "Moonshine Streaming Small Safetensors",
"format": "safetensors",
"precision": "f32",
"target_directory": "moonshine-streaming-small",
"files": [
"config.json",
"tokenizer.json",
"model.safetensors"
],
"download": {
"kind": "huggingface_snapshot",
"repo": "moonshine-ai/moonshine-streaming-small",
"revision": "main",
"gated": false
}
},
{
"id": "moonshine_streaming_medium_safetensors",
"display_name": "Moonshine Streaming Medium Safetensors",
"format": "safetensors",
"precision": "f32",
"target_directory": "moonshine-streaming-medium",
"files": [
"config.json",
"tokenizer.json",
"model.safetensors"
],
"download": {
"kind": "huggingface_snapshot",
"repo": "moonshine-ai/moonshine-streaming-medium",
"revision": "main",
"gated": false
}
}
],
"dependencies": [],
"sources": [
{
"format": "gguf",
"roots": {
"model": ".",
"weights": "$gguf"
},
"files": {
"config": "model:config.json",
"tokenizer_json": "model:tokenizer.json"
},
"tensors": {
"weights": "weights:"
}
},
{
"format": "safetensors",
"roots": {
"model": "."
},
"files": {
"config": "model:config.json",
"tokenizer_json": "model:tokenizer.json"
},
"tensors": {
"weights": "model:model.safetensors"
}
}
]
}