音樂軟體裡面的隨機播放到底是如何隨機的?是否有規律?
01-21
真隨機會讓人感覺不好,所以一般是亂序。你有100首歌,我幫你亂序,聽完了重新亂序一次,再聽。
一般都是每次生成一個打亂的序列,這樣隨機的時候上一首和下一首都是已經確定過的,你可以改回順序播放,然後再到隨機播放,順序一般就變了。。不過用過酷我(緊限wp上的酷我-v2.8.3)發現上一首也是亂序的,切歌的時候手擼的太快後想往回找發現不到了,好吧,回來聽剛剛這首吧,尼瑪又換了。果然,我此刻聽到這個曲真實生命的一場奇遇啊。
通常是這樣的,先按照計數方式統計歌曲總數並按照名稱,時間等方式生成一個排序好的ID序列,然後按照以下兩種方式生成隨機播放模式兩種方式:1生成隨機數列…2生成一個單獨的隨機數作為上或下一曲判別方法:點擊上一曲…如果跟剛才聽到是同一曲就是方式1不是就是2至於排序規律要看所用類庫的的隨機數函數底層是怎麼寫的
分兩種:
1、假隨機在你切換至隨機播放後,軟體會把你播放列表裡的音樂隨機排列一次,然後順序播放這個隨機排列後的播放列表,最明顯的現象是點擊上一首發現真的是上一首。例如:千千靜聽,MIUI音樂播放器2、真隨機每次播放下一首,都隨機挑選播放列表裡面的播放列表裡的一首來播放
例如:foobar2000個人喜歡假隨機,我喜歡把歌曲按創建時間倒序排序,有時候新歌聽膩了就會隨機播放聽聽別的,如果隨機到了想聽的卻一不小心切掉了,可以點上一首找回來,不過我用的foobar2000,真是糾結亂序。試過「上一曲」么?
rand 函數 ~ 學過c和單片機編程就明白了.
有很多種做法的。
補充:以下只是常見的,有時候為了用戶體驗根本不是隨機的,是演算法干預過的,例如根據用戶洗好、曲風、歌曲專輯、歌手等等信息來排序的,製造的偽隨機。目的就是讓相同曲風、歌手等等都不會連續出現。
1. 把歌曲表隨機排序一次,然後順序播放,全部播放完了再隨機排序一次
優點:不會出現一首歌重複放幾次的情況
缺點:如果切換到上/下一首就露破綻了2.「真」隨機,每聽完一首歌或者跳過、切換歌曲的時候都從列表裡面隨機取出一首歌播放
優點:切換上下一曲很自然,歌曲很多的話沒有問題缺點:如果歌曲不多,很大幾率會出現連續幾首歌重複的現象3.把歌單所有歌曲放到數組中(實現方法不限定於數組),每次從數組隨機取一首歌出來,聽過、切過的歌從數組中刪除,如果數組裡沒有內容了,就重新來一遍上述過程優點:切換上下一曲很自然,也不會出現連續重複的事情缺點:我個人感覺沒有缺點,即便歌曲很多,維護數組的開銷也微乎其微,歡迎補充缺點~http://www.ifanr.com/29498
舉個例子1 25 47 36 22 5 13 1 74 14 14這是一組數據事先預設在程序里,如果選擇隨機會以選的第一首歌為1然後按這個依次播放,我認為沒有真正的隨機,如果有,請指正
有規律!我手機里中英文歌曲數量差距很大,但基本會遵循一首中文,一首英文的規律!
都是高人啊
電腦隨機產生的數字都是假隨機,真隨機必須得通過物理方法,如原子衰變等。
推薦閱讀:
※請問國內有沒有好的遊戲音樂或者電影配樂工作室?
※22歲想學電音製作,音樂、英語都是零基礎,來得及嗎?
※如何體系地學作曲?從不懂視唱練耳和樂器演奏,單純idea到獨立作曲和編曲,都有哪些環節和道路必須走過?
※藝術生想向電子音樂製作發展需要學習什麼?
※做編曲關於和弦織體方面應該怎樣設計?需要學習哪方面課程?