Commit History

  1. Add audio output device (speaker) selection⁠

    hzeng412 +1: Claude Fable 5
    a3bf559
  2. ASR: add Qwen3-ASR engine, default zh/en to it on this branch⁠

    hzeng412 +1: Claude Fable 5
    417ffa1

  1. refactor(core): Architecturally decouple Audio, ASR, and TTS modules⁠

    liumaolin
    60f8238

  1. 简化LLM模型路径管理。

    liumaolin
    2baeba2

  1. 为LLMResponseGenerator类添加TaskStatusMixin混入,以增强任务有效性检查功能,确保在生成回答时任务状态的有效性。

    liumaolin
    d205383

  1. 更新音频任务处理逻辑,使用模型副本替代原始任务对象,以确保数据一致性和完整性。

    liumaolin
    2c7e742
  2. 重构处理LLM生成chunk内容的方法,以提高文本生成的准确性。

    liumaolin
    e3d17e2
  3. 去除对 LLM 输出的处理

    liumaolin
    08fc60d

  1. 调整prompt的逻辑,确保展示的提示词中不包含/no_think指令

    liumaolin
    22a06c4
  2. 添加设置相关的API路由⁠

    liumaolin
    15ab478
  3. 调整LLM prompt的存放位置

    liumaolin
    310c0ba
  4. 增强任务有效性检查,添加日志记录以便于调试。

    liumaolin
    b7ae839
  5. 在生成TTS音频时始终记录生成信息。

    liumaolin
    3a6b6fc
  6. 在`SpeechStateMonitor`类的初始化过程中调用该方法,确保在创建新语音任务时中断任务ID被正确重置。

    liumaolin
    259c23b

  1. 修复`PerformanceLogMixin`中的音频记录逻辑⁠

    liumaolin
    9bda9f9
  2. 修复`PerformanceLogMixin`中的调试模式检查逻辑⁠

    liumaolin
    8486c53
  3. 增强性能日志记录功能,新增用户问题日志记录方法⁠

    liumaolin
    7cddb77
  4. Revise `ACTIVE_FRAME_THRESHOLD` from 0.32s to 0.1s

    liumaolin
    d662661

  1. 更新MoYoYo语音模型配置,修改文本分割方法并新增角色模型⁠

    liumaolin
    46eb532
  2. 更新MoYoYo语音模型配置,新增优先级字段⁠

    liumaolin
    efefd3d
  3. 新增Mixin类以增强语音任务处理功能⁠

    liumaolin
    2ebe57f
  4. 添加MoYoYo语音模型“白岩松”及相关文件⁠

    liumaolin
    d74bcbf

  1. 重构`is_task_interrupted`方法以检查语音任务中断状态⁠

    liumaolin
    02c321c

  1. Add `has_no_words` check to skip punctuation-only TTS tasks and enhance debug logs⁠

    liumaolin
    b636027
  2. Refactor SpeechMonitor to use active audio frame duration instead of count⁠

    liumaolin
    15891ec
  3. Add TTS generation error handling and `is_task_interrupted` helper function⁠

    liumaolin
    5ecb408
  4. Optimize VAD logic by replacing `np.max(probs)` with `any(prob >= threshold)` for improved readability and efficiency.

    liumaolin
    9273b76

  1. Increase audio capture chunk size to 1024 in `capture.py` for smoother streaming

    liumaolin
    095cfb6

  1. Handle overflow errors in audio capture by adding `exception_on_overflow=False` and skip processing when no data is available.

    liumaolin
    5f9eaee
  2. Integrate `SileroVAD` into `SpeechMonitor` for optional voice activity detection. Add `_detect_speech()` method and update queue handling logic. Implement `SileroVAD` as a singleton for efficient model management.

    liumaolin
    4e2e3d8
  3. Increase queue timeout in audio and text processing services for smoother task handling

    liumaolin
    b446464
  4. Refactor audio processing pipeline to normalize data in `SpeechMonitor` and streamline queuing in `AudioCapture`

    liumaolin
    57b0084
  5. Update `AudioCapture` to support both PyAudio and macOS native AEC+VAD libraries⁠

    liumaolin
    99e8988
  6. Refactor to replace `EchoCancellingAudioCapture` with `AudioCapture` across the codebase for improved clarity and flexibility

    liumaolin
    7437d6d

  1. Clean input text in MoYoYo TTS by removing punctuation for better processing

    liumaolin
    8587958
  2. Refactor LlamaCpp initialization to simplify parameter handling and remove unused callback manager

    liumaolin
    941bf07
  3. Enable debug mode with global configuration and detailed task logging when active

    liumaolin
    e0f42b2

  1. Reset task ID in speech recognizer for empty transcriptions to prevent errors

    liumaolin
    2291ed2
  2. Add new voice model "Doubao" to MoYoYo configuration⁠

    liumaolin
    7b003c4

  1. Update performance logging format in TTS player for improved structure and readability

    liumaolin
    d0c1c61
  2. Remove commented-out performance logging code from TTS player

    liumaolin
    c3e85a2

  1. Add new voice model "Ellen" to MoYoYo configuration⁠

    liumaolin
    b5b48f0

  1. Update MoYoYo TTS prompt text for improved relevance and clarity

    liumaolin
    8228973
  2. Improve speech recognizer to handle empty transcriptions

    liumaolin
    0cbda14
  3. Simplify system prompts for text generation in Chinese and English⁠

    liumaolin
    c545fd9
  4. Add new voice model "Juniper" to MoYoYo configuration⁠

    liumaolin
    469433f

  1. Standardize punctuation for system prompts in both Chinese and English text generation modules.

    liumaolin
    bedd7b8
  2. Add session validation checks to `player.py` and `generator.py`⁠

    liumaolin
    29766c6

  1. Replace `logging` with centralized `loguru`-based logger across all modules.

    liumaolin
    851495c
  2. Refactor response generation logic in `generator.py`⁠

    liumaolin
    ce3d9e5