前文,分享了【小智Pro】系列文章:

30天,AI 陪我写了3万行代码,上线一款应用,3点血泪教训

小智Pro:智能闹钟提醒 + 云端同步,端云协同方案

今天来聊:如何接入【在线点歌】并实现云端同步!

关于【在线点歌】的设备端实现思路,可见前文分享:

小智 AI + 在线音乐 + 歌词同步,MCP is All You Need

实际体验中,会发现两大硬伤:

  • 想要的歌搜不到
  • 想搜的歌 AI 识别不准

怎么解决?

上云端!

支持用户主动上传歌曲,支持用户添加歌单。。。

1. 系统架构

云端负责音乐资源管理、搜索和用户数据存储。

设备端负责音乐播放和用户交互。

这种架构既保证了系统的可扩展性,又确保了用户体验的流畅性。

整体交互逻辑如下:

1.1 云端核心模块

  1. 音乐资源管理:负责音乐文件的存储、元数据管理和分类
  2. 用户数据管理:存储和管理用户歌单、播放历史、收藏等数据
  3. 音乐搜索服务:提供音乐搜索功能
  4. 权限配额管理:控制用户访问权限和资源使用配额
  5. 权限配额管理:控制用户访问权限和资源使用配额

1.2 设备端核心模块

  1. 语音交互层:语音识别和指令解析
  2. 播放控制层:核心播放器,负责解码、播放、暂停、切歌等操作
  3. UI展示层:显示播放界面、歌单、歌词等
  4. 本地缓存:缓存音频片段,减少网络延迟造成的卡顿
  5. 歌词同步:实时同步和显示歌词
  6. HTTP客户端:负责与云端API通信,发送请求和接收数据。设备端向云端请求更新数据,如歌单信息、播放列表等。同时,将用户的播放历史上传到云端进行存储。

交互时序图如下:

2. 核心功能

2.1 在线点歌

小智Pro 支持 歌名歌手 关键词搜索。

用户可以通过 Web 界面搜索:

也可以对设备发出语音指令:

在后端,系统集成了多个第三方音乐源API。当用户搜索歌曲时,系统会优先在本地音乐库中查找,如果没有,则调用外部音乐API进行搜索。

2.2 语音打断

小智Pro 支持在播放音乐过程中,通过唤醒指令进行打断。

设备端通过HTTP接口与云端通信,获取用户的指令并执行相应的操作。

云端服务会根据指令类型,返回相应的响应数据。目前支持的指令类型包括:

'播放一首周杰伦的歌',
'播放七里香',
'播放周杰伦的稻香',
'循环播放我的歌单',
'随机播放我的歌单',
'刷新我的歌单',
'播放下一首'

2.3 播放记录

播放记录列表,详细记录用户播放的歌曲信息,播放时间和播放设备,为用户提供完整的音乐行为分析。

2.4 歌单管理

小智Pro支持为不同设备创建独立的歌单。

用户可以在界面中,直观地选择设备并管理对应歌单。

这种设计让用户可以为不同设备设置不同的歌单列表。

2.5 智能搜索与上传功能

系统支持两种添加歌曲的方式:

  • 搜索添加:调用后端API,检索相关歌曲
  • 手动上传:允许用户上传本地音乐/封面/歌词文件。(目前只支持 MP3 格式音频)

这样做,完美解决前文的两个痛点:

  • 精准检索想要的歌曲
  • 手动上传搜不到的歌曲

写在最后

本文分享了小智Pro: 在线点歌+歌词同步的端云协同解决方案。

如果对你有帮助,不妨点赞收藏备用。

欢迎体验 小智Pro 更多功能,请戳👇:

https://mkwyqeoebedx.sealosbja.site

有任何问题,欢迎进群交流:

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐