这个项目能做什么

Mousiki 是一款终端(TUI)音乐播放器,专为偏好键盘操作和极简界面的用户设计。它注重速度和轻量运行,强调可定制性,并让工作流程完全在终端内完成。 **主要特性:** - **本地音乐播放:** 轻松浏览并播放本地音乐库中的文件。 - **在线搜索与流媒体:** 借助 yt-dlp,直接从在线来源搜索和播放曲目。 - **同步歌词:** 通过 Python 脚本从 Better Lyrics(主)和 LRCLIB(备选)获取,实现逐词实时高亮显示。 - **可视化:** 实时 FFT 频谱(使用 kissfft)、波形渲染和旋转唱片动画,流畅度可配置。 - **队列管理:** 高效的排队、随机播放、重复播放和基于文件夹的筛选。 - **高度可配置:** 通过位于 `$HOME/.config/mousiki/config.txt` 的文本配置文件,调整颜色、可视化行为、动画和快捷键。 **支持平台:** - 原生支持 Linux、macOS 和 Android(通过 Termux)。 - Windows 支持未经作者验证,但可能可用;欢迎贡献代码。 **快速开始:** - 克隆仓库并运行 `bash setup.sh`(适用于带 Homebrew 的 macOS、基于 Debian 的 Linux 或 Termux),以安装依赖、生成默认配置并构建应用。 - 手动构建需要 `cmake`、C++17 编译器、`ffmpeg`、`yt-dlp` 和 Python 的 `requests` 包。 - 构建后,运行 `./build/mousiki`。 **默认快捷键(可配置):** - 搜索:`/`(本地),`/s: <查询>`(在线流媒体) - 下载当前流:`y` - 播放/暂停:`p` 或 `ENTER` - 下一首/上一首:`n` / `b` - 快进/快退:`ARROW_LEFT` / `ARROW_RIGHT` - 音量:`1` / `2` - 随机播放/重复:`m` / `r` - 导航:`ARROW_UP` / `ARROW_DOWN` - 切换标签页:`TAB` - 添加/移除队列:`a` / `d` - 文件夹筛选:`f` - 清除筛选:`c` - 退出:`q` **配置:** 配置文件会自动生成。您可以通过添加多个 `LocalMusicPath` 条目来添加自定义音乐路径。所有快捷键和视觉设置均可在此编辑。 **依赖与致谢:** Mousiki 使用 miniaudio(音频播放)、kissfft(可视化 FFT)、yt-dlp(在线流媒体)、FFmpeg(多媒体处理)和 Python 的 `requests`(歌词)。它基于 Apache License 2.0 发布。