Skip to content

Repository files navigation

Canned-Emotions - 听点什么

以 Gemini Embedding 2 为核心的 Android 本地音乐智能播放工具。
A smart local music playing tool powered by Gemini Embedding 2.

简体中文  |  English


Download Release

你是否也和我一样,有数量庞大,种类繁多的本地音乐库,却有时找不到想听的歌?
或是本地播放器的随机算法上一秒还在播放摇滚乐,下一秒又突然开始播放温柔的古典音乐?

这个软件可以在一定程度上改善你的播放体验,更丝滑,更应景,更称心如意。


它能干什么?

今天想听点什么?先随机一首歌,听着真不错。

从这里开始漫游,曲风连贯,越听越带感

想为自己的视频或者当下的环境挑一个BGM?点击搜索框,音乐马上来!

还有全新的算法模板。想要多来点随机性?听点以前没听过的?还是想让多个专辑或者艺术家交织出现?还是想要多听点纯音乐?统统没问题!可以自定义的多样算法可以让你的使用体验更加个性化。

有点厌倦?点按切歌,惩罚向量机制可以在后续减少类似的推荐,方便!


快速开始

前置工作

  1. 下载最新Release并且安装在你的安卓设备上

  2. 在扫描页面添加你想要扫描的目录

  3. 在API页面添加一个或多个从Google AI Studio中获得的API (如果添加多个API可以自动轮换至有限额的那个) (推荐使用免费层级的API)

  4. 在数据库页面开始音频处理任务(此过程可能需要网络代理)

开始聆听

  1. 回到开始页面,拉出屏幕底部的抽屉,长按随机按钮或者点击选定按钮来选定起始歌曲,然后长按开始按钮进行漫游播放。
  2. 你也可以在对称检索模式下点击屏幕中间的专辑显示区域,在里面输入任意可以描述歌曲的文本,点击检索按钮,就可以开始聆听与描述近似的音乐(此过程可能需要网络代理)

要详细了解播放队列的逻辑以及算法板块,请参考[算法与播放列表]

更智能的辅助检索,更多算法,以及和其它播放器的配合正在规划中!(画饼)


它的原理是什么?

原理很简单,只是把音乐的音质降一降裁成180秒的片段,然后整个丢给Gemini Embedding 2生成向量, 然后存到 ObjectBox 数据库里。等你想要的时候就拿文本或者什么玩意儿来生成一个向量,拿这玩意搜一搜,又或是直接拿已有的向量去查找近似的,再加点小算法修正一下结果,功能很简单。


它适合什么样的人?

如果你有一个庞大而且种类繁多的本地音乐库,并且想要在Android平台上拥有智能的播放体验,那么这个软件可能能为你带来一些新思路。

它可以帮助你更轻松地检索到能描述出来但是不知道具体名称的音乐,或者在听音乐时以听感为根基,建立一个更连贯多样的播放体验。

如果你想要更传统的本地音乐播放体验,诚意推荐 Salt Player,世界上最好的本地音乐播放器。


了解制作思路

观看数据不太好的讲解视频


免责声明

Warning

API安全

软件内API的储存是加密的,且仅与谷歌服务器通讯,但是作者不完全保证安全性,软件也没有什么智能的额度管理措施,请自己保管好API密钥并且管理限额方案,防止经济损失。

Caution

模型变动风险

该项目所依赖的 Gemini Embedding 2 模型处于预览阶段,随时有可能下线或者发生变动,请不要将它应用到生产环境中,也不要指望该软件能够一直正常使用。使用时也应遵守谷歌的服务条款和使用政策。

该软件作者缺乏一切和安全性,音乐品味,安卓开发,编程,系统设计,开源社区的所有基础知识,总之这是个快速原型,或者说一个玩具,怎么样都行。不保证代码的质量和软件稳定性,也不保证功能和逻辑的完备。

用于辅助检索的关键词:

音乐 音乐推荐 Gemini Embedding 2 本地音乐 音乐播放 本地音乐播放 Embedding 音频检索 音乐库

About

以 Gemini Embedding 2 为核心的本地音乐智能播放工具 | A smart local music player powered by Gemini Embedding 2. [Android, Gemini API, Vector Search, Semantic Retrieval, Smart Roaming, Local Music, 音乐推荐, 向量检索, 语义搜索, 智能漫游]

Topics

Resources

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages