最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python實現(xiàn)音樂節(jié)奏可視化效果

 更新時間:2023年06月01日 16:06:31   作者:Python技術  
這篇文章主要為大家詳細介紹了如何基于Python語言實現(xiàn)音樂節(jié)奏可視化效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

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

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

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

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

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

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

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

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

它是基于pygame實現(xiàn)的,pygame.draw.polygon(surface, color, points, width)畫多邊形。參數(shù)width控制顏色填充范圍,默認為0,我們用一個代碼設置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()

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

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

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

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

渲染的代碼比較長,就是一些計算柱體長度的過程,這里就不贅述了。

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

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

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

如果你想優(yōu)化生成的動態(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)]

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

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

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

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

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

到此這篇關于基于Python實現(xiàn)音樂節(jié)奏可視化效果的文章就介紹到這了,更多相關Python可視化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python實現(xiàn)去除空格及tab換行符的方法

    python實現(xiàn)去除空格及tab換行符的方法

    這篇文章主要為大家介紹了python實現(xiàn)去除空格及tab換行符的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 帶你了解python裝飾器

    帶你了解python裝飾器

    Python中的裝飾器是你進入Python大門的一道坎,不管你跨不跨過去它都在那里。Python中的裝飾器的概念經常會讓人搞得一頭霧水,所以今天就好好來分析一下python中的裝飾器
    2017-06-06
  • Django 響應數(shù)據(jù)response的返回源碼詳解

    Django 響應數(shù)據(jù)response的返回源碼詳解

    這篇文章主要介紹了Django 響應數(shù)據(jù)response的返回源碼詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 5行Python代碼實現(xiàn)電腦永不息屏

    5行Python代碼實現(xiàn)電腦永不息屏

    最近新來的小老弟問我,按照公司規(guī)定,電腦只有十分鐘就鎖屏,但是他不想讓電腦在空閑十分鐘后鎖屏。本文為大家準備了電腦永不息屏的兩種方法,感興趣的可以了解一下
    2022-10-10
  • 使用Python進行批量操作PPT的示例詳解

    使用Python進行批量操作PPT的示例詳解

    將一份PPT的每一頁字體、大小、是否加粗都統(tǒng)一,是一個常見需求,本文將使用Python實現(xiàn)批量操作PPT,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-04-04
  • 基于Python實現(xiàn)浪漫的彈窗祝福滿屏飄字效果(附完整代碼)

    基于Python實現(xiàn)浪漫的彈窗祝福滿屏飄字效果(附完整代碼)

    這篇文章主要為大家詳細介紹了如何基于Python實現(xiàn)浪漫的彈窗祝福滿屏飄字效果,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解下
    2026-01-01
  • Python的Asyncore異步Socket模塊及實現(xiàn)端口轉發(fā)的例子

    Python的Asyncore異步Socket模塊及實現(xiàn)端口轉發(fā)的例子

    asyncore模塊是封裝過的處理socket事件的模塊,采用異步的處理方式,這里我們講來講解Python的Asyncore異步Socket模塊及實現(xiàn)端口轉發(fā)的例子,需要的朋友可以參考下
    2016-06-06
  • 淺談python3打包與拆包在函數(shù)的應用詳解

    淺談python3打包與拆包在函數(shù)的應用詳解

    這篇文章主要介紹了淺談python3打包與拆包在函數(shù)的應用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • python3 正則表達式基礎廖雪峰

    python3 正則表達式基礎廖雪峰

    正則表達式是一種用來匹配字符串的強有力的武器。它的設計思想是用一種描述性的語言來給字符串定義一個規(guī)則,凡是符合規(guī)則的字符串,我們就認為它“匹配”了,否則,該字符串就是不合法的
    2020-03-03
  • 對網站內嵌gradio應用的輸入輸出做審核實現(xiàn)詳解

    對網站內嵌gradio應用的輸入輸出做審核實現(xiàn)詳解

    這篇文章主要為大家介紹了對網站內嵌gradio應用的輸入輸出做審核實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04

最新評論

浮山县| 海盐县| 蒙城县| 松桃| 泽库县| 土默特右旗| 芷江| 长垣县| 镇平县| 呼玛县| 海门市| 崇明县| 洱源县| 苏州市| 盐边县| 荃湾区| 新余市| 库尔勒市| 遂昌县| 枣庄市| 马尔康县| 永定县| 邢台县| 甘孜县| 志丹县| 仁化县| 毕节市| 衡阳县| 绥德县| 中山市| 商洛市| 南汇区| 安远县| 蒙自县| 从化市| 夹江县| 广汉市| 贺州市| 米泉市| 白银市| 南木林县|