Files
Nighthawk 5d19f9afc7 Version 2
Major rewrite to version 2.

Some features are broken.
2025-03-28 17:21:21 -04:00

96 lines
3.4 KiB
YAML

# settings.yaml
# -------------------------------
# General Application Settings
# -------------------------------
general:
log_level: "INFO" # DEBUG, INFO, WARNING, ERROR, CRITICAL
interaction_mode: "push_to_talk" # "push_to_talk", "hotword", "both"
post_response_delay_sec: 0.5
# -------------------------------
# Audio Input/Output
# -------------------------------
audio:
input_device: null
output_device: null
# --- Voice Activity Detection (VAD) ---
vad:
enabled: true # Set to true to enable VAD (EXPERIMENTAL)
sample_rate: 16000 # Should match STT and Hotword expected rate
frame_duration_ms: 30
aggressiveness: 2
silence_duration_ms: 1200
min_record_duration_ms: 500
# -------------------------------
# Hotword Detection (OpenWakeWord)
# -------------------------------
hotword:
enabled: false # Set to true to enable hotword detection (EXPERIMENTAL) - This is fully broken for now, keep it false.
# List of wake word models to listen for.
# Find available models in the openwakeword documentation or train your own.
# Example pre-trained models: "alexa", "hey_mycroft", "hey_jarvis", "timer"
models: ["hey_jarvis"]
# Path for custom models (optional):
# custom_model_paths: ["path/to/my_custom_model.onnx"]
inference_framework: "onnx" # Usually 'onnx', could be 'tflite' if supported/used
threshold: 0.7 # Confidence threshold for detection (0.0 to 1.0)
trigger_level: 1 # How many positive frames needed to trigger (usually 1)
chunk_size_ms: 1280 # How much audio (ms) to feed the model at once (check owm recommendations)
# -------------------------------
# STT (Speech-to-Text - Faster Whisper)
# -------------------------------
stt:
model_size: "small.en" # Whisper model size (tiny.en, base.en, small.en, medium.en, large-v2, large-v3)
# Or path to a converted CTranslate2 model directory
device: "cuda" # "cuda" or "cpu"
compute_type: "float16" # "float16", "int8_float16", "int8", "float32" (check hardware/model support)
# --- Transcription Options ---
language: null # Language code (e.g., "en", "es") or null for auto-detect
beam_size: 5
# vad_filter: false # Use faster-whisper's internal VAD? (Keeping our external VAD for now)
# vad_parameters: # Settings if vad_filter=true (e.g., min_silence_duration_ms: 500)
# min_silence_duration_ms: 1000
# -------------------------------
# LLM (Language Model - LM Studio)
# -------------------------------
llm:
base_url: "http://127.0.0.1:1234/v1"
request_timeout_sec: 60.0
max_retries: 3
# --- Chat Completion ---
chat:
endpoint: "/chat/completions"
model: "gemma-3-12b-it"
system_prompt: "You are a helpful and concise voice assistant named Morpheus."
max_tokens: 300
temperature: 0.7
top_p: 0.9
repetition_penalty: 1.1
# -------------------------------
# TTS (Text-to-Speech - LM Studio/SNAC)
# -------------------------------
tts:
# --- API Settings ---
endpoint: "/completions"
model: "orpheus-3b-ft.gguf@q2_k"
# --- Synthesis Parameters ---
default_voice: "tara"
max_tokens: 8192
temperature: 0.6
top_p: 0.9
repetition_penalty: 1.0
speed: 1.0
# --- Audio Output ---
sample_rate: 24000
normalize_volume: false
# --- Text Segmentation ---
segmentation:
max_words_per_segment: 50
# --- Output Files ---
output_dir: "outputs"
clear_output_on_start: true