tft每日頭條

 > 生活

 > 怎樣識别正在播放的音樂

怎樣識别正在播放的音樂

生活 更新时间:2024-07-03 15:08:33

一個産品小白對于網易雲音樂随機播放的一些想法和思考,資料和相關理論都是通過閱讀和自己分析得出的結論,如有不妥請指正。

怎樣識别正在播放的音樂(為什麼随機播放的音樂)1

一、背景

1. 現狀

不知道大家有沒有這樣一種感覺:在使用音樂軟件進行随機播放的時候,總是不能播放到心儀的音樂,而且很多歌曲會重複出現。在産生這種困惑之後我同時産生了對随機播放算法和問題的好奇。

于是,我在百度中輸入“音樂随機播放”關鍵詞後,在知乎、百度知道、豆瓣都能看到:“沒有聽到的歌一直沒聽到,還有一些歌一直重複播”、“好像是在已加載的列表中随機”、“實際結果其實給人的感覺并不随機。某首歌從不出現,和某首歌反複出現,概率其實都很高”、“大部分是根據你聽的次數最多的幾首歌優先來放,越來越頻繁,聽的次數就越來越多”等反饋。

2. 用戶需求

用戶使用随機播放,往往出于以下原因:一是想聽到列表裡不常聽的歌;二是不想或很難作出選擇,希望随機播放的功能能夠幫助他們選擇(懶惰心理)。

但是根據網絡上用戶的反映和本人的使用體驗來看,随機播放功能主要解決第二類用戶的需求,對于第一類用戶的需求并沒有很重視,因此才會出現上面提到的網友的吐槽。

3. 小結

觀察後發現,QQ音樂、蝦米和其他播放軟件的随機播放也有此類問題,而且問題從15-19年都有反映,說明此類問題并沒有得到很好的解決。

二、分析

1. 随機播放模式的算法

一般音樂播放器的随機模式分為兩種:

1)播放當前歌曲時才随機生成下一首,即完全随機(稱為Random算法):為了避免某些歌曲經常重複播放或很難被播放到,并非是盲目的完全随機下一首,而是需要分析用戶的播放曆史,需要比較好的算法進行支撐,最終始于随機卻超脫随機。

2)将當前的list打亂順序,然後依次播放,也就是大家所說的僞随機(稱為Shuffle算法):這一種是目前比較流行的随機模式,完美解決某些歌曲很難被播放到的情況出現,但是卻有以下劣勢:該模式下,上下曲的順序是固定的;一個随機播放的list的歌曲全部播放完畢後會重新生成另一個list,但是相鄰的list之間容易出現用戶所感知的“重複”播放。

根據問答資料整理,大部分音樂播放軟件的随機算法是“洗牌算法(shuffle)”。

2. 什麼是“洗牌算法”

簡單來說就是随機問題,一個從1到n的序列,随機打亂,保證每個數出現在任意一個位置的概率相同。

運用到音樂軟件來說,就是系統在歌單内随機抽選歌曲進行随機排列,形成一個新的歌單再進行順序播放,這就是我們所說的随機播放。

那麼洗牌算法中進行排列的總體是什麼呢?

在這裡我想作一個簡單猜測:根據用戶反映情況和自身的體驗來看,我認為随機播放的總體有4個,分别是全部歌曲(a)、最近播放(b)、按播放量排列的歌曲(c)和喜歡的歌曲(d),随機播放時從中抽取的比例為n1%,n2%,n3%,n4%(n1% n2% n3% n4%=1),那麼随機歌單的歌曲總數S=a*n1% b*n2% c*n3% d*n4%。

搞清楚了随機播放的原理後,我們可以嘗試分析一下随機播放遇到的問題以及解決方法了。

三、問題反饋及分析

1. 聽不到自己喜歡的歌

首先,我将這個問題分為兩個場景:

  • 一是用戶想聽到自己喜歡的歌單裡的歌曲,是用戶真正的聽歌喜好/習慣。那麼這個時候随機播放就是要将用戶喜愛的這類歌曲進行選擇并排列。
  • 二是用戶現在沒有特定的喜好方向,希望聽到一些和平常不一樣的歌曲,希望系統幫他們做出選擇。這個時候随機播放要做的,就是将用戶歌單内的全部歌曲進行随機篩選進行排序。

但是這裡就會出現另一個問題。上文提到的随機播放算法的假設中,有四個總體,其中最近播放、播放量排序歌單和喜歡的歌曲都可以歸為用戶常聽的歌曲類别中,如果系統依舊像往常一樣運用普通的随機算法來生成随機歌單的話,就會出現随機播放的歌曲是用戶最常聽的歌曲的情況,這顯然不符合用戶的需求。

那麼我們可以将這兩個場景區分開來讨論解決方案:

  • 第一個場景可以參考網易雲音樂裡的“心動模式”,從用戶喜歡的歌曲裡抽選歌曲,并随機匹配與用戶歌曲風格類似的歌曲進行播放。但是心動模式需要在喜歡的歌曲中才能觸發,在普通歌單的播放模式中并沒有此選擇。為此可以将該模式增加至普通播放模式中,作為一種随機播放模式使用
  • 第二個場景則可以在現有的随機播放的條件下進行優化,例如适當降低播放量排序歌單和最近播放歌曲的選中比例,增加新增歌曲和不常聽歌曲的選中幾率;對用戶聽歌時長小于30s的歌曲進行剔除,下一次随機播放排序時不再出現此歌曲。

2. 有的歌曲重複出現,有的歌曲幾乎不出現

為什麼有的歌曲會重複出現?

是因為洗牌算法中生成的序列是随機的,在用戶播放完一個随機播放的歌單後,系統會再次将雖有歌曲進行随機排序,重新生成另一個随機播放歌單,那麼這兩個歌單之間必然會有歌曲重複出現。

那麼我們可以通過降低已聽過的歌曲被選中的幾率,或者在選中同一首歌曲的時候重新進行洗牌排序來降低此類問題出現的頻率。

而有的歌曲幾乎不出現,就是上一個問題所探讨的了。随機播放的歌曲選定的總體是固定的,而且偏向用戶常聽歌曲,因此對于新增歌曲和不常聽歌曲被選中的比率就非常小了。

3. 随機播放列表中上一首和下一首歌曲固定

因為洗牌算法下随機播放列表是一種随機排列後順序播放的列表,所以列表中的順序是固定的。關于這個問題用戶并沒有很大的意見,甚至有的很贊同這種模式:“在随機模式中也可以通過上下首切換找到喜歡的歌曲”。

這可以說是洗牌算法的其中一個優勢,但是卻沒有被很好的利用起來。

網易雲音樂裡使用随機播放模式的時候,無法查看随機播放的歌單。用戶隻能在播放頁面上下切換歌曲,而不能随機選擇,而有的時候需要切換多次才會聽到想聽的音樂。

如果在不改變和優化算法的情況下,将随機播放列表可視化,也是另一個解決思路。用戶可以在列表内查看歌曲并随意選擇,還能對列表進行自定義,例如對随機播放列表内的歌曲進行删除、調序等操作,讓随機播放的歌曲能夠更貼合用戶實際的需求。

四、可行性分析

分析到這裡其實我有點疑惑,為什麼問題反饋較多,而且很多程序員也給出了自己的想法和解決方案,但是市面上的音樂軟件卻遲遲沒有動靜呢。

1. 影響的用戶範圍少

各音樂軟件在設計過程中必然做了很多的市場及用戶調查,而且在産品各功能的設計過程中會考慮到用戶的各層面的心理需求,設計解決的也是最大範圍的用戶的需求。而從該問題的反饋數量來看,相較于網易雲音樂的用戶數(據網易數據顯示,2019Q2網易雲音樂用戶破8億)确實微不足道。

而且對于有着“希望能聽到平常不常聽到的歌曲”的需求的用戶,網易雲也有着“每日推薦”這類功能的解決方案。因此不需要通過優化随機播放模式的算法來達到滿足用戶需求的目的。

2. 産生的效果不明顯

根據KANO用戶需求理論,用戶需求分為:基本型、期望型、興奮型、無差異型和反向型需求。對于随機播放功能而言,是音樂播放軟件的基本型需求。不提供此需求,用戶的滿意度會大幅度降低,但優化此需求,用戶滿意度也不會得到顯著的提升。

基于此,音樂播放軟件也無需投入大量的人力和時間來優化此類功能。

五、總結

随機播放功能實質上是機器計算的結果,随着AI的廣泛應用和推廣,結合AI的自我學習功能和快速計算能力。我相信在以後的計算和推薦功能中會有更貼合用戶需求的設計出現,随機播放也會變得更”懂“我們。

作者:HEmEiYing,應屆畢業生,産品小白一個,自學入門不久,歡迎批評指正~

本文由 @HEmEiYing 原創發布于人人都是産品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved