久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

嗨起來,!程序員的夜場(chǎng),用實(shí)時(shí)編碼生成音樂和燈光

 西北望msm66g9f 2019-09-01

大數(shù)據(jù)文摘出品

來源:IEEE

編譯:張睿毅

也許你去過的夜店,,負(fù)責(zé)hold住全場(chǎng)音樂的一般是個(gè)DJ,,可能是一位帥氣的小哥哥,或者是一位漂亮的小姐姐,,左手扶著耳機(jī),,右手在打碟機(jī)上飛舞。

但是如果你去過英國伯明翰舉行的2013 Algorave Fierce Festival(盡管現(xiàn)場(chǎng)也是昏暗的燈光和刺耳的音樂),,但你將會(huì)看到這樣的一個(gè)奇怪的場(chǎng)面:兩位發(fā)際線比較高的中年男人站在一個(gè)大屏幕前面,,擺在桌子上的不是打碟機(jī)而是電腦之類的電子設(shè)備,電腦屏幕上是一行行代碼,。


圖片上這兩位也不是做音樂的,,而是計(jì)算機(jī)博士Jeff Donaldson和Norah Lorway。

Algorave Fierce Festival里面的Algorave,,來自于algorithm和rave的結(jié)合,,是指用實(shí)時(shí)編碼(live coding)創(chuàng)造舞曲,實(shí)時(shí)編碼算是一種表演藝術(shù),,表演者通過編輯和重新編程合成器來創(chuàng)作音樂,。

代碼通常被可視化投射到墻壁或屏幕上,,供觀眾在現(xiàn)場(chǎng)時(shí)進(jìn)行檢查,,可視化一般是由另外一個(gè)人利用現(xiàn)場(chǎng)編碼器和可視化軟件實(shí)現(xiàn)的。

Algorave獨(dú)特的創(chuàng)造性吸引了許多人參與到這種代碼和音樂的結(jié)合中來,,一位程序員小哥哥決定在家中進(jìn)行一個(gè)簡(jiǎn)單版的嘗試,,看看能不能通過代碼把自己的房間變成一個(gè)專屬秀場(chǎng)。

快跟文摘菌一起來看看他實(shí)現(xiàn)的過程和最后的效果吧,!

在參加了紐約市的一些algoraves之后,,我決定稍微關(guān)注一下表演者使用的這個(gè)軟件,。我想知道是否可以在可視化時(shí)用自己的硬件進(jìn)行測(cè)試。雖然我還沒準(zhǔn)備好上臺(tái)表演,,但是我想結(jié)果應(yīng)該很有趣,。

我強(qiáng)烈安利任何對(duì)音樂或聲音藝術(shù)感興趣的程序員都應(yīng)該嘗試實(shí)時(shí)編碼,即使沒有演奏任何傳統(tǒng)樂器的經(jīng)驗(yàn),。

編碼軟件和語言

最流行的實(shí)時(shí)編碼軟件似乎是Sonic Pi,。這是一個(gè)最初由Sam Aaron為Raspberry Pi創(chuàng)建的開源項(xiàng)目,它也適用于Windows和macOS,。 Sonic Pi的基本界面是文本編輯器,,除了一些特定于性能的按鈕,例如用于啟動(dòng)和停止音樂的按鈕,,它看起來非常像一個(gè)集成開發(fā)環(huán)境(IDE),,在本例中使用Ruby語言。

Sonic Pi鏈接:

http:///

與Python一樣,,Ruby是一種可以交互運(yùn)行的解釋語言,,由Ruby驅(qū)動(dòng)的Sonic Pi IDE為功能強(qiáng)大的SuperCollider聲音合成引擎提供了友好的前端,該引擎作為許多電子音樂和聲學(xué)研究項(xiàng)目的基礎(chǔ)已經(jīng)被使用了二十多年,。

你可以通過在IDE中輸入完整的音符列表來創(chuàng)建一段音樂,,選擇軟件定義的樂器以及任何所需的效果(例如混響),并讓Sonic Pi播放音調(diào),。

但這樣的音樂肯定是沒有靈魂的,!

一股腦將代碼輸入進(jìn)去直接帶走了實(shí)時(shí)編碼的核心樂趣——表演者和計(jì)算機(jī)之間的互動(dòng),通過不斷地更新算法,,但是把選擇下一個(gè)演奏什么音符的工作交給那些算法,。 Sonic Pi負(fù)責(zé)保持所有內(nèi)容的同步,以便音樂永遠(yuǎn)不會(huì)錯(cuò)過任何一個(gè)節(jié)拍,。

一個(gè) Arduino Leonardo (上圖)作為一個(gè) USB 設(shè)備,,模仿一個(gè)可以使用mdi的電子儀器。 它將接收到的信息轉(zhuǎn)換成顯示在 led 條上的顏色,。

給音樂可視化

Sonic Pi的最新版本引入了發(fā)送和接收MIDI信息的功能,。MIDI是用于計(jì)算機(jī)和電子儀器之間通信的古老標(biāo)準(zhǔn)。在MIDI中,,音符由0到127的數(shù)字表示,,音符21到108覆蓋三角鋼琴的范圍。

最初,,MIDI需要一個(gè)專用的硬件接口,,但今天看到MIDI可以直接通過USB連接運(yùn)行。

MIDI的加入讓我可以加入一些硬件來觀察Sonic Pi在運(yùn)行中產(chǎn)生的音樂,。

我利用了160個(gè)可編程的WS2812B RGB LED燈,,分為五層,,它們就像一個(gè)32×5像素的彩色顯示屏。我在六角形木框架上制作了顯示器,,并將其安裝在一個(gè)用于存放可移動(dòng)磁盤包的空“帽盒”容器中,。

這種升級(jí)回收不僅對(duì)舊物的紀(jì)念,而且盒子里寬敞的內(nèi)部還能隱藏那些電子設(shè)備,,本例使用了Arduino Leonardo微控制器,。Leonardo完美地模仿了USB設(shè)備,我之前用它來制作太空飛行模擬器的自定義控制器,。為了驅(qū)動(dòng)這么多LED,,我添加了一個(gè)10安培的電源,電源和USB電纜穿過我在盒子底部切割的小孔,。

在一次音樂黑客馬拉松上,,我已經(jīng)使用了Arduino MIDI庫,它通過USB支持MIDI,,我把“帽盒”顯示器變成了一個(gè)簡(jiǎn)單的可視化組件,,它可以從電腦上播放MIDI文件,并根據(jù)音符改變顏色,。 但至少可以說,,音符值和LED顏色之間的色彩映射是快速而雜亂的: 一些相同的顏色是由不同的音符引起的。

對(duì)于Sonic Pi可視化工具,,我使用FastLED庫對(duì)Leonardo進(jìn)行編程,,這既是出于性能方面的考慮,也是因?yàn)樗С?HSV (色相,、飽和度,、值)顏色模型。 比如將一個(gè)值(MIDI note)映射到傳統(tǒng) RGB值的三色元組就比較困難,,尤其是如果你希望所有音符看起來都一樣亮的話,。 相比之下,對(duì)于HSV模型,,在保持飽和度和值固定的情況下將注釋映射到色調(diào)字節(jié)是很簡(jiǎn)單的,。

將“帽盒”可視化工具與 Sonic Pi 軟件連接起來,雖然是在我筆記本電腦上進(jìn)行各種MIDI設(shè)置的繁瑣之旅,,但也并不太麻煩,。 然而,發(fā)送一個(gè)可視化的音符確實(shí)需要對(duì)我的SonicPi 現(xiàn)場(chǎng)代碼做一些修改: 由于每個(gè)音符都是通過算法生成的,,所以我使用一個(gè)中間變量來捕捉它,,而不是像通常那樣在一個(gè)聲音合成指令中立即播放它,。

我使用中間變量通過“ midi note on”命令將音符發(fā)送到 hat-box 顯示器,,此外還可以聽到音符的播放,, 這讓我在編寫聲音代碼的同時(shí)可以對(duì)可視化工具進(jìn)行編程。

我的下一步將是編寫可視化程序來響應(yīng)一組自定義MIDI控制命令,,這將讓我可以動(dòng)態(tài)地改變音符映射到色調(diào)值的方式,,甚至選擇不同的可視化樣式。

然后你也許會(huì)發(fā)現(xiàn)我登上了Algorave的舞臺(tái),。

相關(guān)報(bào)道:

https://spectrum./geek-life/hands-on/how-to-program-electronic-music-that-plays-as-you-code-it

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多