Mousai 音乐识别应用:3 步识别商场里的未知歌曲 🎵
【免费下载链接】MousaiIdentify songs in seconds项目地址: https://gitcode.com/gh_mirrors/mo/Mousai
在商场、咖啡馆或电台里听到一首没听过的歌,想搜却叫不出名字?Mousai 是一款免费开源的音乐识别应用:点击收听按钮,录制几秒钟音频,它就能在 5-10 秒内返回歌曲标题和艺术家。这款基于 AudD 识别 API 的开源工具支持麦克风与桌面音频两种来源,还能在断网时先把录音存下来,联网后再批量识别。
项目速览
Mousai 是一款类似 Shazam 的音乐识别工具,专注解决"听到歌却不知道歌名"的场景。与闭源应用不同,它完全免费开源,所有识别历史都保存在本地数据库,不依赖云端账号。
核心能力
双来源音频识别
支持麦克风与桌面音频两种输入。桌面音频通过 PulseAudio 捕获系统正在播放的声音,适合识别电脑里的播客或影视配乐;麦克风则用于采集商场、电台等环境音。识别请求由 AudD API 处理,通常 5-10 秒返回结果,核心实现在src/recognizer/recorder.rs。
离线录音与批量识别
没有网络时应用不会丢弃录音,而是本地缓存音频,联网后自动发起批量识别,并汇总展示"新识别的歌曲"页面,标注识别时间。相关逻辑位于src/recognizer/recordings.rs。
应用内歌曲试听
识别成功后无需跳转外部平台,内置播放器即可直接试听该歌曲,界面底部常驻播放条,显示专辑封面、播放进度与暂停控制,实现见src/player.rs。
本地识别历史库
所有识别过的歌曲存入本地数据库,支持按名称过滤与排序,并记录"最近听到"日期和所属专辑。数据模型定义在src/song.rs,存储与迁移逻辑在src/database/。
快速上手
Flatpak 是推荐的获取方式,一条命令完成安装:
flatpak install flathub io.github.seadve.Mousai源码构建需要先安装 Rust 与 Meson:
git clone https://gitcode.com/gh_mirrors/mo/Mousai cd Mousai meson _build --prefix=/usr/local ninja -C _build install首次使用完成 3 步配置:
- 打开 audd.io 网站,登录账号获取 AudD API 令牌(免费额度有限,登录后可增加试用次数)。
- 在设置中粘贴令牌,并选择音频来源(麦克风或桌面音频)。
- 点击主界面左上角"Listen"按钮,等待波形动画结束即出结果。
典型工作流
场景一:在商场识别背景音乐
- 手机外放或靠近音源,确保歌曲人声段清晰。
- 打开 Mousai,点击"Listen",波形动画开始即表示正在录音。
- 约 5-10 秒后进入歌曲详情页,展示标题、艺术家、专辑封面。
- 点详情页的 AudD、YouTube 或 Spotify 按钮,可直接跳转收听。
- 回到首页,这首歌曲已自动进入歌曲列表,底部播放条可继续试听。
场景二:断网时保存,联网后批量识别
- 在无网络环境中点击"Listen",应用保存录音而非报错。
- 恢复网络后打开应用,录音自动提交识别。
- 批量完成后弹出汇总页,按时间列出所有新识别的歌曲。
技术要点
Mousai 使用 Rust 开发,启用 LTO 链接优化,当前版本 0.7.10;界面基于 GTK4 与 LibAdwaita 构建,符合 GNOME 设计规范,音频处理依赖 GStreamer。核心模块:
- 识别与录音:
src/recognizer/ - 本地数据库:
src/database/ - 内置播放器:
src/player.rs
使用建议与注意事项
- 识别精度取决于录音片段,尽量在人声或副歌清晰处录音,避免过强的背景噪音。
- 桌面音频捕获依赖 PulseAudio 默认设备,其他音频服务下请先在设置中确认设备。
- AudD 免费额度用完后,需到 audd.io 登录或充值才能继续识别。
- 离线录音会在联网后自动批量提交,批量结果可在汇总页统一查看。
Mousai 把"听过但记不住"的歌变成可播放、可检索的本地记录。从 Flathub 安装最新版试用,或直接查看src/目录了解实现细节。
【免费下载链接】MousaiIdentify songs in seconds项目地址: https://gitcode.com/gh_mirrors/mo/Mousai
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考