Commit History

  1. Bundle Qwen3-ASR weights in packaged app; slim PyInstaller assets⁠

    hzeng412 +1: Claude Fable 5
    2e4bd5d

  1. ASR: use auto language detection to reject non-speech (fixes hallucination)⁠

    hzeng412 +1: Claude Fable 5
    21dbad4

  1. Make Qwen3-ASR the default on main; bump to 1.2.0⁠

    hzeng412 +1: Claude Fable 5
    3c70498
  2. Add audio output device (speaker) selection⁠

    hzeng412 +1: Claude Fable 5
    a3bf559
  3. Show the active ASR engine in the UI⁠

    hzeng412 +1: Claude Fable 5
    c3f5082
  4. Fix websocket route registration for starlette >= 1.0⁠

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

    hzeng412 +1: Claude Fable 5
    417ffa1

  1. Add external mic array support, UI i18n, glass settings redesign, and fixes⁠

    hzeng412 +1: Claude Opus 4.8 (1M context)
    afd6c89

  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. 更新LLM模型参数,调整top_p值为0.8,并添加max_tokens参数,设置为32768。

    liumaolin
    c531bfc
  2. 更新用户配置文件,修复logger导入路径以确保正确加载日志记录功能。

    liumaolin
    bbf79f2

  1. 添加获取TTS模型参考音频的API路由,支持通过模型ID获取音频文件。

    liumaolin
    226effc

  1. 更新API文档

    liumaolin
    5258538
  2. 缓存user_prompts以提高性能

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

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

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

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

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

    liumaolin
    3a6b6fc
  8. 在`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
  2. Remove `speech_monitor` dependency from `asr_worker` service definition.

    liumaolin
    5cf0dbe
  3. Add echo cancellation and VAD toggle support in service factories and routes⁠

    liumaolin
    2ecfa8f

  1. Fix help text for `--disable-echo-cancellation` to clarify the default behavior is not disabled

    liumaolin
    d846f85
  2. Refactor threading in `launcher.py` to standardize worker initialization, enforce daemon mode, and improve naming consistency.

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

    liumaolin
    5f9eaee
  4. Add `--disable-echo-cancellation` CLI option and update audio pipeline to support toggling echo cancellation and VAD

    liumaolin
    4e071d3
  5. 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
  6. Increase queue timeout in audio and text processing services for smoother task handling

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

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

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

    liumaolin
    7437d6d