自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何用Python探究你喜愛的歌手的音樂風(fēng)格?

開發(fā) 后端
我將使用基本的python技能來分析Tones and I的兩首熱門歌曲:《Dance Monkey》和《Never Seen The Rain》,查看它們之間是否存在任何相似之處,以及她如何通過歌詞的重復(fù)創(chuàng)建自己的音樂風(fēng)格,比如使用語音單詞等。

 本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。

2019年5月, Tones and I發(fā)行了她的第二張單曲《Dance Monkey》,這首歌一直在世界各地流行,你肯定曾經(jīng)隨著這首歌的節(jié)奏搖擺過!

我第一次知道這首歌是在某節(jié)課上,我朋友一直唱著它。一開始,筆者感覺他好像一遍又一遍地重復(fù)同樣的歌詞:“dance for me, dance for me, dancefor me”。聽了原曲后,我注意到它確實有一些重復(fù)的歌詞。筆者接著聽了她的另一首熱門歌曲《Never Seen The Rain》,也發(fā)現(xiàn)了類似的模式。

[[336001]]

筆者決定以這個小項目為基礎(chǔ),探究藝術(shù)家在選擇歌詞措辭時有自己的風(fēng)格。

我將使用基本的python技能來分析Tones and I的兩首熱門歌曲:《Dance Monkey》和《Never Seen The Rain》,查看它們之間是否存在任何相似之處,以及她如何通過歌詞的重復(fù)創(chuàng)建自己的音樂風(fēng)格,比如使用語音單詞(例如“oh”和“ah”)等。

1. 收集和清理數(shù)據(jù)

筆者從Metro Lyrics獲得了這兩首歌的歌詞并對其進行了編輯,確保歌詞之間沒有逗號或多余的空格,還將諸如“You’ve”改為“You have”以保持一致性。之后,筆者將其作為字符串上傳到JupyterNotebook上,并為其分配了一個變量(dm&nstr)。

  1. #Dance Monkey Lyrics 
  2. dm = "They say oh my god I see the way you shine Take your hand my...makeyou do it all again All again" 
  3. dmdm = dm.lower()#Never Seen The Rain Lyrics 
  4. nstr = "All your life no You could...never felt the rain rain rain" 
  5. nstrnstr = nstr.lower() 

dm.lower()函數(shù)更改了單詞以確保它們?nèi)繛樾?。如果不這樣做,程序會認為“You”與“you”有所區(qū)別,認為它們是不同的詞。打印后,結(jié)果將如下所示:

如何用Python探究你喜愛的歌手的音樂風(fēng)格?

由于目的之一是找出歌詞中總共有多少個單詞,所以當所有單詞都在一個字符串中時,就無法做到這一點。為了分隔它們,筆者使用了以下代碼:

  1. split_dm = dm.split(' ') 
  2. print(split_dm) 
如何用Python探究你喜愛的歌手的音樂風(fēng)格?

我對Never Seen The Rain的歌詞也進行了同樣的處理。

2. 分類數(shù)據(jù)

下一步是計算單詞和唯一單詞的總數(shù)。為了計算單詞總數(shù),筆者在初始變量上使用了LEN()函數(shù):

  1. len(split_dm) 

總共453個單詞。然后,為了計算用于創(chuàng)作歌曲的單個詞的數(shù)量,筆者在split_dm變量上使用了SET()函數(shù)。

  1. unique_dm = set(split_dm) 
  2. print(unique_dm) 

此函數(shù)確保列出至少使用一次的單詞,因此結(jié)果如下所示:

如何用Python探究你喜愛的歌手的音樂風(fēng)格?

為了計算新列表中的單詞數(shù),筆者使用了LEN()函數(shù):

  1. len(unique_dm) 

總共有72個唯一單詞,指的是是只有這些單詞才被用于這首歌的創(chuàng)作。

3. 最常用的詞

在要使用的單詞中,筆者想確定前10個單詞(重復(fù)最多的單詞)以及僅使用一次的單詞。下面使用的代碼顯示了每個單詞及其用法計數(shù):

  1. word_dm = {} 
  2. for word in unique_dm: 
  3.     word_dm[word] = 0for word insplit_dm: 
  4.     word_dm[word] = word_dm[word] + 1 
  5. print(word_dm) 
如何用Python探究你喜愛的歌手的音樂風(fēng)格?

為了更易于閱讀,筆者使用以下代碼將單詞和值綁定在一起:

  1. dm_count = sorted(word_dm.items(),key = lambda t:t[1], reverse =True
  2. print(dm_count) 
如何用Python探究你喜愛的歌手的音樂風(fēng)格?

然后,使用此代碼檢索前10個最常用的單詞:

  1. dm_top_10 = dm_count[0:10] 
  2. dm_top_10 

合并后的數(shù)據(jù)如下所示:

如何用Python探究你喜愛的歌手的音樂風(fēng)格?

筆者可以肯定地說,“Tones and I”的獨特風(fēng)格(在她的所有歌曲中都絕對可以聽到)就是在歌曲中使用“oh”和“ay”之類的原聲單詞,這兩個詞的數(shù)量在她的兩首歌曲中均排在前10位。

4. 只使用了一次的單詞

[[336005]]

圖源:unsplash

使用類似于上面的代碼,筆者還發(fā)現(xiàn)只使用了一次的單詞:

  1. dm_least_used = dm_count[49:72] 
  2. len(dm_least_used) 

只有23個只使用了一次的單詞。另一首歌曲也運用了相同的函數(shù)。

5. 重復(fù)字數(shù)

下一個目標是找出不止被重復(fù)一次的單詞數(shù):

  1. len(unique_dm)-len(dm_least_used) 

這首歌里重復(fù)了49個單詞。為了找到重復(fù)的次數(shù),筆者使用了以下代碼:

  1. len(split_dm)-len(dm_least_used) 

這49個單詞共被重復(fù)了430次!同樣,在另一首歌里也執(zhí)行相同的代碼。

6. 可視化

筆者將兩首歌曲中的數(shù)據(jù)合并到excel的表格中,然后在筆記本上讀取。

  1. table = pd.read_csv('song_values.csv') 
如何用Python探究你喜愛的歌手的音樂風(fēng)格?

比較數(shù)據(jù)的最有效方法是使用條形圖:

  1. x = table.Name 
  2. y1 = table.words_in_song 
  3. y2 = table.words_in_lyrics 
  4. y3 = table.Words_used_once 
  5. y4 = table.Words_used_more_than_once 
  6. y5 = table.Number_of_times_words_repeatedfig = go.Figure(data=[ 
  7.     go.Bar(name='Total number of words insong'xx=x, y=y1), 
  8.     go.Bar(name='Total Number of RepeatedWords'xx=x, y=y5), 
  9.     go.Bar(name='Number of words used inLyric'xx=x, y=y2), 
  10.     go.Bar(name='Words used once'xx=x,y=y3), 
  11.     go.Bar(name='Words used more thanonce'xx=x, y=y4)])#Change the bar mode 
  12. fig.update_layout(barmode='group'title ="Comparison Between The TwoSongs"
  13. fig.show() 
如何用Python探究你喜愛的歌手的音樂風(fēng)格?

查看圖表,我們可以得出以下結(jié)論:

  • 兩首歌曲在歌詞中使用一次的單詞和重復(fù)一次以上的單詞數(shù)量相對一致,盡管“Dance Monkey”中的單詞數(shù)略微多一些。
  • 盡管如此,“Dance Monkey”中重復(fù)單詞的次數(shù)要比“Never Seen The Rain”的重復(fù)次數(shù)高得多。
  • 在構(gòu)成歌詞的單詞中,只有不到一半的單詞僅使用過一次。

7. 最后的想法

在進一步處理數(shù)據(jù)時,筆者發(fā)現(xiàn)一個非常有趣的現(xiàn)象,即標題中的兩個單詞是如何頻繁使用的:“Dance”使用了19次,而“Monkey”在整首歌曲中僅使用了一次。

令人驚訝的是,用于創(chuàng)作歌詞的單個單詞的數(shù)量非常少(大約占15%-20%),其中約85%的單個詞被重復(fù)使用以組成歌曲。

[[336006]]

圖源:unsplash

做完這個項目,我?guī)缀跻籇ance Monkey這首歌洗腦了。同樣的方法去試試探索你所喜愛的歌手,說不定能挖出他不為人知的創(chuàng)作習(xí)慣。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2018-12-06 08:40:43

PythonR函數(shù)編程語言

2019-10-08 11:48:20

PythonGitHub程序員

2018-12-04 08:00:00

網(wǎng)絡(luò)測量PerfSONAR網(wǎng)絡(luò)性能

2012-03-27 09:36:59

編程語言

2023-09-05 14:15:03

AI音樂

2015-11-13 10:55:53

2022-09-04 15:40:39

JavaScrip狀態(tài)模式軟件

2009-02-01 14:34:26

PythonUnix管道風(fēng)格

2018-04-19 10:20:19

機器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)音樂

2017-06-29 11:11:17

2018-05-13 21:34:00

Python妹子網(wǎng)頁

2015-08-26 16:26:19

SQL

2024-03-25 08:18:31

2013-07-23 15:11:41

流行編程風(fēng)格

2021-03-04 13:40:57

Python文件代碼

2024-07-31 09:01:05

VSCode主題Dracula

2021-04-06 11:01:06

比特幣加密貨幣去中心化

2017-04-10 18:45:47

2010-05-26 09:02:05

TreeView

2024-11-14 08:08:14

點贊
收藏

51CTO技術(shù)棧公眾號