diff --git a/.gitignore b/.gitignore index 3245af1..b381f99 100755 --- a/.gitignore +++ b/.gitignore @@ -84,7 +84,6 @@ Thumbs.db *.tmp *.temp .cache/ -publish.sh # ============================================================================= # Old/Archive Folders @@ -97,3 +96,4 @@ dev/ # ============================================================================= !data/config.example.yml !.env.example +publish.sh diff --git a/core/asr.py b/core/asr.py index 66876bf..f41578b 100644 --- a/core/asr.py +++ b/core/asr.py @@ -76,6 +76,7 @@ def load_asr_model(): ASR_MODEL_NAME, device_map=DEVICE, dtype=DTYPE, + attn_implementation="flash_attention_2", ) return QwenASRPipelineWrapper(model) diff --git a/core/tts.py b/core/tts.py index b896cfb..7b952ee 100644 --- a/core/tts.py +++ b/core/tts.py @@ -50,6 +50,7 @@ model = Qwen3TTSModel.from_pretrained( "Qwen/Qwen3-TTS-12Hz-1.7B-Base", torch_dtype=torch.bfloat16, device_map=DEVICE, + attn_implementation="flash_attention_2", ) # Enable optimizations (recommended) @@ -79,6 +80,7 @@ def speak_stream(text: str, voice: str = "cori", speed: float = 1.0): text=text, language="english", voice_clone_prompt=prompt, + overlap_samples=512, # Phase 2 settings (stable) emit_every_frames=12, decode_window_frames=80, diff --git a/data/config.example.yml b/data/config.example.yml index 4a1aa54..13340e6 100644 --- a/data/config.example.yml +++ b/data/config.example.yml @@ -11,7 +11,7 @@ general: wakeword: "computer" # Use a small language model for extra capabilities use_ai: True - # Use the Moonshine Tiny ASR if running on very small edge devices + # Use the Moonshine Tiny ASR for faster speech transcription (English only) use_tiny_asr: False # Use the Kokoro TTS for faster voice streaming (voice cloning not available) use_tiny_tts: False