在全球黑胶市场连续 19 年增长、中国实体唱片消费加速复兴的浪潮下,一款名为 UNHEARD 的 App 正在成为百万唱片爱好者的数字入口。依托阿里云 OSS 向量 Bucket 与百炼多模态 Embedding 模型,UNHEARD 构建了“以图搜碟”智能检索系统——拍一张唱片封面,专辑信息即刻呈现。
黑胶复兴时代,唱片爱好者的“甜蜜烦恼”
截至 2025 年,作为全球第四大音乐消费市场,中国也正在迎来后流媒体时代的音乐消费新热潮——越来越多人走进唱片店,翻找那些“未曾听闻”的黑胶唱片。
然而,对于真正沉浸于唱片世界的收藏者而言,热情背后始终伴随着几个挥之不去的痛点。
1. 信息密度极高,搜索门槛居高不下。 唱片领域的知识体系极为专业,例如古典唱片信息结构复杂,用传统关键字搜索,输入长、易出错、检索精度低。
2. 版本体系庞杂,识别成本高昂。 面对千万级发行版本,仅靠文字难以精准定位不同唱片的年份、国家、介质等具体版本。
3. 碎片化信息,缺少统一入口。国内缺乏权威的实体唱片综合信息平台,价格参考与版本对比高度依赖社群经验。
正是在这样的背景下,UNHEARD 应运而生。
UNHEARD:唱片爱好者的数字百科UNHEARD
是一款专注于服务实体唱片爱好者的收藏管理工具与内容社区,由北京歌尔丹拿科技有限公司打造。与主流音乐媒体平台不同,UNHEARD 不主打“听”,而是围绕实体唱片的发现、识别、管理、交流与交易构建完整生态。其核心用户画像是在 25 至 45 岁,他们深究版本、在意音质,愿意为好内容的稀缺性与精神共鸣支付溢价。
UNHEARD 的核心功能围绕四大场景展开:
1、一拍识碟。 拍封面、扫条码,唱片信息一拍即得。这是 UNHEARD 最具标志性的功能,也是用户日常使用频率最高的入口。打开 App 拍一张封面,即可获得完整的唱片信息、版本历史和社区评价。
2、海量唱片数据库。 平台收录了近 1600 万张发行专辑、250 万个母带以及近 1000 万条艺术家信息,数据维度覆盖作品、艺术家、厂牌、发行年份、介质类型等,支持多维度的精准检索。
3、唱片店地图与线下连接。 全国已有超过 70 家唱片店入驻,覆盖 23 个省 36 个城市。同时,与全国超过 200 家唱片店、市集、主办方等深度联动,将数字用户重新引流回实体空间,重建线下音乐交流场景。
4、垂直音乐社区。精品专栏、唱片点评、社区热榜,为唱片爱好者打造了一个纯粹、专业的交流空间。
一拍识碟背后的技术密码:阿里云 OSS 向量 BucketUNHEARD
最让用户惊艳的功能——“一拍识碟”,其背后正是阿里云 OSS 向量 Bucket 在提供核心支撑。
场景拆解:从“拍照”到“识碟”的毫秒级响应
当用户在 UNHEARD App 中对着一张唱片封面按下快门,一次完整的智能检索在瞬间完成:
- 图片上传与预处理: 上传并优化封面图片,确保检索效率与精度。
- 多模态向量化: 服务端调用阿里云百炼平台的多模态 Embedding 模型,深度理解图像视觉语义并转化为高维向量。
- 向量存储与检索: 转化后的向量数据存储在阿里云 OSS 向量 Bucket 中。OSS 向量 Bucket 是阿里云对象存储 OSS 推出的全新能力,无需客户额外搭建和维护独立的向量数据库。
- 结果关联与呈现: 将检索结果与后端元数据匹配,向用户展示完整的唱片信息、版本列表及社区评价。
为什么选择 OSS 向量 Bucket?
对于 UNHEARD 团队而言,选择 OSS 向量 Bucket 有着清晰的业务逻辑:
1. 业务初创阶段,成本与效率优先。 UNHEARD 需要一个能够快速上线、弹性扩展且运维成本可控的向量存储方案。OSS 向量 Bucket 作为 OSS 的原生能力,无需额外部署独立的向量数据库集群,直接复用已有的 OSS 存储基础设施,大幅降低了架构复杂度和运营成本。
2. 千万级数据规模,需要稳定可靠的底座。 平台当前已累计数千万行向量数据,且每月以数十万行规模增长。OSS 向量 Bucket 天然继承了 OSS 的高可用、高持久和弹性扩展特性,能够从容应对数据量的持续增长。
3. 与 AI 生态无缝衔接。 与阿里云百炼同属一个生态,打通“模型调用-数据存储”全链路,减少了跨系统集成成本。
UNHEARD 用 AI 技术降低了唱片发现的门槛,以向量检索简化了繁琐的文字输入,用数字化工具重新连接了实体唱片与爱好者。阿里云 OSS 向量 Bucket 则为这一愿景提供了一个轻量、高效、可弹性拓展的技术底座。这或许就是 AI 时代理想的技术叙事:技术并非为了替代人的热情,而是让热爱更容易被点燃。
OSS 向量 Bucket 最佳实践:快速构建多模态图片语义检索
OSS 向量 Bucket 用于存储、查询和管理向量数据,基于向量 Bucket 和阿里云大模型服务平台百炼的多模态 Embedding 模型,可以搭建海量图片的智能语义检索系统,实现基于自然语言描述的文搜图能力的最佳实践,适用于电商商品搜索、智能相册、媒体资产管理、AI 语义检索、图片知识库等场景。
使用命令行工具 ossutil 2.0 在多种操作系统中高效管理阿里云对象存储 OSS 资源,向量 Bucket 级命令提供对 OSS 向量 Bucket 的 API 的直接访问,适合开发者、运维人员和企业进行大规模数据迁移和日常运维操作。
Step 1: 创建向量 Bucket & 向量索引
创建向量
Bucketossutil vectors-api put-vector-bucket \
--bucket <VECTOR_BUCKET> \
--account-id <ACCOUNT_ID> \
--region cn-beijing创建向量索引
ossutil vectors-api put-vector-index \
--bucket <VECTOR_BUCKET> \
--index-name <INDEX_NAME> \
--dimension 1024 \
--data-type float32 \
--distance-metric cosine \
--account-id <ACCOUNT_ID> \
--region cn-beijingStep 2: 生成图片
预签名 URL(私有 Bucket 必选)如果 Bucket 的 ACL 为 private(默认),百炼 API 无法直接访问图片,需要先生成预签名 URL:
ossutil presign oss://<SOURCE_BUCKET>/example.jpg \
-e oss-cn-beijing.aliyuncs.com \
--expires-duration 1h输出示例:
https://<SOURCE_BUCKET>.oss-cn-beijing.aliyuncs.com/example.jpg?x-oss-credential=...&x-oss-date=...&x-oss-expires=3600&x-oss-signature=...&x-oss-signature-version=OSS4-HMAC-SHA256批量生成:ossutil presign oss://<SOURCE_BUCKET>/ -r \
--include "*.jpg" --include "*.webp" \
--expires-duration 1hStep 3: 调用百炼多模态
Embedding 模型使用百炼 API 将图片转换为 1024 维向量(模型名:multimodal-embedding-one-peace-v1):
curl -X POST "https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding-v1" \
-H "Authorization: Bearer <DASHSCOPE_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "multimodal-embedding-one-peace-v1",
"input": {
"image_url": "<PRESIGNED_URL>"
}
}'响应中 output.embedding 字段即为 1024 维向量数据。
Step 4: 向量写入
将向量数据写入向量索引。支持 JSON 文件批量写入:
vectors.json 格式:
[
{
"data": {
"float32": [0.123, -0.456, ...]
},
"key": "example.jpg",
"metadata": {
"source_bucket": ["<SOURCE_BUCKET>"],
"image_name": ["example.jpg"]
}
}
]写入命令:
ossutil vectors-api put-vectors \
--bucket <VECTOR_BUCKET> \
--index-name <INDEX_NAME> \
--vectors file://vectors.json \
--account-id <ACCOUNT_ID> \
--region cn-beijing
提示: --vectors 支持内联 JSON 或 file:// 前缀读取文件。单次写入建议不超过 10 条。Step 5: 语义检索
# 用获取的向量执行近邻检索(内联 JSON 方式)
QUERY_VECTOR='{"float32":[0.0284,-0.0284,...]}'
ossutil vectors-api query-vectors \
--bucket <VECTOR_BUCKET> --index-name <INDEX_NAME> \
--query-vector "$QUERY_VECTOR" \
--top-k 10 --return-distance --return-metadata \
--account-id <ACCOUNT_ID> --region cn-beijing
# 列出所有向量
ossutil vectors-api list-vectors \
--bucket <VECTOR_BUCKET> \
--index-name <INDEX_NAME> \
--account-id <ACCOUNT_ID> \
--region cn-beijing
# 查询特定向量
ossutil vectors-api get-vectors \
--bucket <VECTOR_BUCKET> \
--index-name <INDEX_NAME> \
--keys example.jpg \
--return-data \
--return-metadata \
--account-id <ACCOUNT_ID> \
--region cn-beijing
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。