1、创新特性名(name)


iPhone QQ音乐 离线听歌识曲
 
 
2、创意如何产生的(创新点相关小故事)(why)


  随着微信推出“摇一摇搜歌”和QQ音乐推出“听歌识曲”,许多用户爱上了此功能,越来越多的用户在不同环境去识别不同的歌,通过数据统计和用户反馈,我们也了解到有部分用户因为移动网络环境不佳(经常听歌识曲的环境出现在公交车,地铁,餐厅,未必有足够好的信号和网络覆盖),导致识别失败,当用户网络状态恢复的时候,也许歌曲已经不在身边,无法再听歌识曲了,就这样与喜欢的一首歌擦肩而过,留下遗憾。


  有没有办法弥补用户的这点体验缺失呢,团队便想到把听歌识曲“异步化”,听歌是个马上的过程,一旦错过,歌曲便不在,但识别可以做异步化,如果这一次没有请求到服务端去识别,是否可以把记录缓存起来,等到网络好的时候再去识别呢。


  就这样,经过团队讨论和合作,打造了“离线听歌识曲”,即使当前没网络或者网络不佳,也能听歌识曲,留住歌曲,等到网络恢复的时候,再从服务端获得识别的结果。
 
3、创意点的产品功能/使用场景介绍(what/where)


“听歌识曲1.0”是这样的:


  用户进入听歌识曲,自动开始歌曲的识别

 

 
  如果识别到歌曲,便拉取歌曲信息,展示歌曲卡片,用户可以进行对歌曲的各种操作。

 
  如果当前手机无网络,或者网络较差,导致请求失败或者请求超时,则会提示相应的信息,一个听歌识曲的流程就此结束,用户与想识别的歌曲失之交臂。
 
  改进的离线听歌识曲,暂且称为“听歌识曲2.0”是这样的:


  如果因网络情况,无法把音乐指纹片段发送到服务端进行识别,则本地会先缓存片段,等到下次可识别的时候,用户可以再次利用存起来的片段进行识别,流程如图:

 
  程序支持缓存任意数量的音乐指纹片段,因此即使网络不佳,用户也可以随意地去进行听歌识曲服务,待网络可用时,得到识别的结果。
 
4、创新点的创新之处的具体描述(innovation)


  本功能的创新之处在于首次把听歌识曲这类“同步”服务进行了“异步化”。

  市面上常规的听歌识曲服务,都是即时地录音,然后提交音乐片段的指纹到服务器上请求结果,结果即时返回,如果遇到无网络或者网络请求失败,则识别任务结束。


  从用户角度考虑,听歌识曲的窗口一般很短,如果此时无法识别到,当前听歌的环境已经不复存在,即使用户网络恢复再去重试,也识别不到已经消失的歌声。

  QQ音乐的听歌识曲服务,只是简单地把用户听歌时的音乐指纹片段记录到本地,遇到网络不佳请求失败的情况,先缓存起来,留待下次识别,看似简单的一个小改动,给用户带来了很大的价值。
 
5、怎么实现的(how)


  听歌识曲服务1.0流程是这样的:

 

  开始听歌识曲服务后,实时录音并生成音乐指纹数据,间隔一段时间就把音乐指纹数据提交到服务器去请求识别的结果,如果识别到,则提示用户,识别不到,则继续识别过程,直到超时或者超过了最大识别次数,如果是网络导致的无法请求到服务器,则提示用户对应的错误。
 
  以下是听歌识曲2.0的流程图

 

  2.0相对1.0只是做了很小的改进,就是在音乐指纹数据请求服务器之前,会先缓存到本地,如果请求成功了,则把本地缓存的记录删除掉,如果请求失败了,则保留此音乐指纹,留待下次用户可以发起重新识别的任务。
 
6、产品的意义对未来的展望(for future)

  许多产品流程或者技术流程,考虑的更多是正常的流程,但是在移动开发的世界,网络不佳引起的错误随处可见,有些错误忽略了,没关系,下一次重试即可,有些则不行,需要给用户提供一个好的解决方案。


  在听歌识曲功能刚推出的时候,只有20%-25%左右的用户能够识别到想要的歌曲,我们不断进行优化,通过对录音时间,请求片段地微调,增大加广服务器的部署,优化用户提示等措施,带来了部分提升,但排除识别率的因素,还有许多外部因素导致无法识别,网络便是重要的一环,通过不断优化,目前的成功识别到歌曲的人次已经占总识别人次的50%左右了,这也让我们更多地去思考用户使用产品时的场景和环境,也许只要做一个小小的改动,便能为用户带来体验的质飞跃。