|
|
f33f5613cd
|
chore(deps): update Go module dependencies
ci/woodpecker/tag/woodpecker Pipeline failed
Upgrade direct and indirect dependencies including:
- ebitengine/oto v3.3.2 -> v3.4.0
- eclipse/paho.golang v0.22.0 -> v0.23.0
- tencentcloud-cls-sdk-go v1.0.11 -> v1.0.14
- uber.org/zap v1.27.0 -> v1.27.1
- golang.org/x/net v0.37.0 -> v0.52.0
- golang.org/x/sys v0.42.0 -> v0.43.0
Run go mod tidy to clean up transitive dependencies.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
|
2026-04-09 10:58:55 +08:00 |
|
|
|
ec168be827
|
feat(audio): 使用 Windowed Sinc 高质量重采样器替代线性插值
ci/woodpecker/tag/woodpecker Pipeline failed
统一音频输出采样率为 44100Hz,使用 go-audio-resampler 库实现
Windowed Sinc + Polyphase FIR 算法(VeryHigh 28-bit 精度),
替代原有的线性插值透传方案。
主要变更:
- 新增 sincResampler:三阶段 Read 循环(填充→处理→Flush)
- 双缓冲区架构避免输出样本丢失,复用内存减少 GC 压力
- WAV/MP3/BGM 播放管线全部接入 Sinc 重采样器
- 移除旧的 linearResampler 和透传模式
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 01:35:04 +08:00 |
|
|
|
4ddecb7c30
|
feat(audio): 添加音频重采样支持,修复播放速度问题
问题:
- TTS 返回 16000 Hz 音频,但 Context 使用 44100 Hz
- 播放速度快 2.75 倍(44100/16000)
- 不同采样率的音频播放速度不正确
解决方案:
- 集成 gomplerate 库(纯 Go,零依赖)
- 自动检测音频采样率并重采样到 44100 Hz
- 支持任意采样率的音频文件正常播放
技术实现:
- resampler.go: 封装 gomplerate,实现流式重采样
- play.go: WAV/MP3 播放自动重采样
- loop.go: BGM 循环播放支持重采样
测试:
- 所有单元测试通过(6/6)
- 支持采样率自动转换(如 16000 Hz → 44100 Hz)
依赖:
- github.com/zeozeozeo/gomplerate v0.0.0
|
2026-04-08 19:39:58 +08:00 |
|
|
|
788327047c
|
feat(audio): 使用 oto/v3 重构音频播放系统,移除 beep/v2 依赖
核心变更:
- 实现全局 oto.Context 单例管理(sync.Once)
- 实现一次性播放:PlayWav/PlayMP3(支持 context 取消)
- 实现 BGM 循环播放:PlayMP3Loop(atomic.Bool + WaitGroup)
- 迁移所有业务层到新 API(TTS/BGM/待机音频)
- 添加完整的单元测试(6/6 通过)
技术栈:
- oto/v3 v3.3.2(低级音频播放)
- hajimehoshi/go-mp3 v0.3.4(MP3 解码)
- youpy/go-wav v0.3.2(WAV 解码)
移除依赖:
- gopxl/beep/v2 及所有相关依赖
优化:
- 流式播放,无需预先加载
- 并发安全,无竞态条件
- 资源管理清晰(defer cleanup)
- Sleep 间隔优化(1ms → 10ms,降低 CPU 占用)
|
2026-04-08 19:21:48 +08:00 |
|
|
|
b0f07624b0
|
refactor(cli): 将 cobra 替换为 urfave/cli v3 并添加版本号注入
ci/woodpecker/tag/woodpecker Pipeline was successful
- 移除 cobra 依赖,使用更轻量的 urfave/cli v3
- 删除 cmd/root.go,将 CLI 逻辑整合到 main.go
- 添加编译时版本号注入(Version 和 Commit)
- 适配 .woodpecker.yml 以支持新的版本号路径
- 代码从 147 行减少到 135 行(净减少 12 行)
版本号现在通过 ldflags 在编译时注入,不再硬编码。
CI 构建时会自动从 Git tag 和 commit SHA 注入版本信息。
|
2026-04-08 14:44:58 +08:00 |
|
|
|
994023553d
|
chore(deps): 清理未使用的 go 依赖
移除旧版本的 aliyun-sdk、fetchup、x/exp、x/net、x/sys、x/tools 等
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
|
2026-04-07 16:52:20 +08:00 |
|
|
|
752446e502
|
激光联动控制完成
|
2025-03-12 19:13:35 +08:00 |
|
|
|
c71e8bc13d
|
修复投影仪控制
|
2025-03-05 11:03:19 +08:00 |
|
|
|
53d9df6e0a
|
用 vlc 替换 ffplay 的播放方式用来修复视频播放问题
|
2025-03-01 13:28:57 +08:00 |
|
|
|
4973b8471e
|
接入腾讯云日志服务
|
2025-02-28 12:34:13 +08:00 |
|
|
|
593d7758bf
|
播放游戏时,停止待机任务
|
2025-02-26 19:45:47 +08:00 |
|
|
|
ff97e25a55
|
完善背光控制,优先使用 xset 控制。完成浏览器展示
|
2024-12-30 12:16:10 +08:00 |
|
|
|
df9dbb0926
|
继电器、读卡器,都用统一的modbus协议
|
2024-12-12 10:30:21 +08:00 |
|
|
|
37fb40672a
|
初步完成龙台的读卡逻辑
|
2024-12-09 18:28:36 +08:00 |
|
|
|
4ea0af5bd7
|
使用设计模式优化发卡机
|
2024-11-20 13:54:05 +08:00 |
|
|
|
480e9ab6d5
|
初步完成接收发卡报文
|
2024-11-19 18:34:38 +08:00 |
|
|
|
28291598bb
|
完成日志输出到文件、终端多处的处理
|
2024-11-13 16:11:59 +08:00 |
|
|
|
edb8d30605
|
全面替换log为zap
|
2024-11-08 18:42:13 +08:00 |
|
|
|
ccfe0d311b
|
对接阿里语音合成证书
|
2024-11-05 14:52:11 +08:00 |
|
|
|
f9b9beea4b
|
基本逻辑完成
|
2024-11-01 17:40:34 +08:00 |
|