国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

太好玩了!用Python做音樂(lè)節(jié)奏可視化!

這篇具有很好參考價(jià)值的文章主要介紹了太好玩了!用Python做音樂(lè)節(jié)奏可視化!。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

大家注意:因?yàn)槲⑿抛罱指牧送扑蜋C(jī)制,經(jīng)常有小伙伴說(shuō)錯(cuò)過(guò)了之前被刪的文章,比如前陣子冒著風(fēng)險(xiǎn)寫的爬蟲,再比如一些限時(shí)福利,錯(cuò)過(guò)了就是錯(cuò)過(guò)了。

所以建議大家加個(gè)星標(biāo),就能第一時(shí)間收到推送。??

太好玩了!用Python做音樂(lè)節(jié)奏可視化!

國(guó)外有個(gè)網(wǎng)友分享了他的python音樂(lè)節(jié)奏可視化方案。上方的視頻就是用他的方案可視化得到的結(jié)果,大家可以欣賞一下。

歌曲節(jié)奏越強(qiáng),顏色變化越絢麗?,F(xiàn)在很多舞蹈視頻制作需要背景變色,拍攝時(shí)可以用燈光布景,另一種方式可以用“色卡”,比如用上面python做出來(lái)的“色卡”做背景,我們看看剪輯效果:

開場(chǎng)的“這夏天”文字顏色變幻,中間天空的顏色變化,都是跟著音樂(lè)節(jié)奏走的,豐富了視頻的表現(xiàn)力。

如果這里不用python,靠自己剪輯去卡音樂(lè)節(jié)奏和添加顏色,很容易將人勸退。

下面給大家介紹一下怎么使用這份代碼。

首先安裝我們所需要的依賴模塊:

pip?install?matplotlib
pip?install?librosa
pip?install?numpy
pip?install?pygame

代碼架構(gòu)分為兩個(gè)部分,一個(gè)是用于計(jì)算頻譜的 AudioAnalyzer.py,一個(gè)用于渲染生成動(dòng)態(tài)視頻的 main.py

它是基于pygame實(shí)現(xiàn)的,pygame.draw.polygon(surface, color, points, width)畫多邊形。參數(shù)width控制顏色填充范圍,默認(rèn)為0,我們用一個(gè)代碼設(shè)置30試一下:

import?pygame
import?sys
pygame.init()
?
display?=?pygame.display.set_mode((300,?300))
display.fill((255,?255,?255))
?
pygame.draw.polygon(display,?(0,?0,?255),?
??????????????????[(120,120),?(40,160),?(40,220),?
??????????????????(200,?220),?(200,160)],?width=0)
?
while?True:
????for?event?in?pygame.event.get():
????????if?event.type?==?pygame.QUIT:
????????????pygame.quit()
????????????sys.exit()
????pygame.display.update()

太好玩了!用Python做音樂(lè)節(jié)奏可視化!


回到本案例,部分代碼如下:

pygame.mixer.music.load(filename)
pygame.mixer.music.play(0)

running?=?True
while?running:

????avg_bass?=?0
????poly?=?[]

????#?ticks
????t?=?pygame.time.get_ticks()
????deltaTime?=?(t?-?getTicksLastFrame)?/?1000.0
????getTicksLastFrame?=?t

首先,通過(guò)pygame加載(load)音樂(lè)文件并播放(play).

然后,通過(guò)while循環(huán)和ticks對(duì)畫面中的圖像進(jìn)行實(shí)時(shí)渲染。

渲染的代碼比較長(zhǎng),就是一些計(jì)算柱體長(zhǎng)度的過(guò)程,這里就不贅述了。

如果你想要將你的音樂(lè)用這份代碼進(jìn)行可視化,僅需要修改main.py的第5行代碼:

from?AudioAnalyzer?import?*
import?random
import?colorsys

filename?=?"D:\桌面\m1.MP3"

如果你想優(yōu)化生成的動(dòng)態(tài)圖像的顏色,可以修改rnd_color函數(shù),該函數(shù)控制圖形顏色的變化:

def?rnd_color():
????h,?s,?l?=?random.random(),?0.5?+?random.random()?/?2.0,?0.4?+?random.random()?/?5.0
????return?[int(256?*?i)?for?i?in?colorsys.hls_to_rgb(h,?l,?s)]

如果你想修改生成的動(dòng)態(tài)圖像的形狀,比如說(shuō)去掉中間那個(gè)圓,僅需要這么改:

pygame.draw.circle(screen,?circle_color,?(circleX,?circleY),?int(radius))

將radius直接設(shè)為0,或者直接將這行代碼注釋掉即可:

pygame.draw.circle(screen,?circle_color,?(circleX,?circleY),?0)

最后,我們換一首歌看看效果:

交流群

時(shí)隔2個(gè)月,摸魚學(xué)習(xí)交流群再次限時(shí)開放了。

太好玩了!用Python做音樂(lè)節(jié)奏可視化!

Python技術(shù)交流群(技術(shù)交流、摸魚、白嫖課程為主)又不定時(shí)開放了,感興趣的朋友,可以在下方公號(hào)內(nèi)回復(fù):666,即可進(jìn)入,一起 100 天計(jì)劃!

老規(guī)矩,醬友們還記得么,右下角的 “在看” 點(diǎn)一下,如果感覺(jué)文章內(nèi)容不錯(cuò)的話,記得分享朋友圈讓更多的人知道!

太好玩了!用Python做音樂(lè)節(jié)奏可視化!

代碼獲取方式

識(shí)別下方公眾號(hào),回復(fù):音樂(lè)可視化文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-468541.html

到了這里,關(guān)于太好玩了!用Python做音樂(lè)節(jié)奏可視化!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包