演算法創作實戰01 - 巴納姆效應之隨機星座實驗

在「生成式藝術和演算法創作」系列第二篇中,00 ofollow,noindex">介紹了隨機和噪聲在演算法創作中的應用 。
今天我們一起來用 Max/MSP 實現一個半(hu)仙(shuo)算(ba)命(dao)小應用,加深對 Max/MSP 中 random
物件的瞭解,並且學習如何使用 coll
物件。
名稱:麥克斯半仙兒(又名 Random Bullshit)
主要使用的物件:random, coll, route, jit.cellblock, fpic
難度係數:★☆☆☆☆
背景知識
巴納姆效應(Barnum effect) 是 1948 年由心理學家伯特倫·福勒通過試驗提出的一種心理學現象,以雜技師巴納姆的名字命名。巴納姆效應是一種心理現象,人們會對他們認為是為自己量身訂做的一些人格描述,給予高度準確的評價,而這些描述往往十分模糊及普遍,以致能夠放諸四海皆準適用於很多人身上。
據說巴納姆的成功祕訣是:「永遠要讓每一個觀眾都感到自己若有所獲」。意思如果要讓每一個人都能感到對自己個性的描述是準確的,就要去提供一些放之四海而皆準的描述。看手相、算命、占星術及其他偽心理學經常利用這種效應,怎麼說都能讓你聽著有點兒道理。於是有人將十二星座的描述隨機排列,發現不同星座的描述基本上可以適用於其他星座。
所以今天我們來實踐一下這個想法,看看程式隨機給出的星座描述,有沒有戳中你 :full_moon_with_face:。
任務拆解
這個程式叫麥克斯半仙兒,使用者選擇自己的星座後,程式給出描述。最後的成果是這樣:

image
首先來拆解需要乾的事兒:
- 收集十二星座的簡短描述和圖示
- 儲存文字,方便隨機呼叫
- 12 星座的選擇控制元件
- 顯示結果(包括載入預設值)
開始動手前,請複習 Max/MSP 文件中 random, coll, route, jit.cellblock, fpic 等物件的說明。
實現步驟
這個小程式的核心是用 random
物件隨機顯示 coll
物件中儲存的內容。 coll
即 collection,用來儲存一個列表,列表中每一項都包含 key 和 value(中間用 , 隔開),可以通過 key 獲取對應的 value。value 可以是單個值,也可以是以空格分隔的多個值。
在 Max 中新建名字為 blah 的 coll
物件,雙擊(或者 cmd+點選)開啟,填入我們在網上找到的十二星座描述內容,格式如下:
0, 你大方、明朗,全身充滿活力……; 1, 你不但好學、知識豐富,還很……; 2, 嗯,你善於說服別人,還是個……; ……
十二個星座描述的索引是從 0~11,所以在 coll
前用一個 random
物件隨機選取其中一個星座的描述,然後從 coll
的左出口輸出。因為我們儲存的是文字內容(symbol),所以需要用一個 route
物件讀取 symbol 內容,併發送到顯示區域。

image
如果不想每次雙擊開啟 coll
檢視,可以用 refer 名字
訊息連線一個 jit.cellblock
檢視 coll
裡面的內容。
隨機呼叫的內容準備就緒後,接下來是選擇星座的介面:

image
用 fpic
顯示星座圖示,在上面覆蓋一個 button
物件,將按鈕背景設定為透明。然後將按鈕連線到 random
物件,讀取 coll
的內容。
因為想顯示每次選擇的星座名稱,所以每個按鈕連線了一個包含對應星座名稱的 message
,點選按鈕時可以觸發顯示在內容區域。其實用 radio group
物件能更好實現,但是它的 UI 不好自定義,就放棄了。
完整的 patch 如下:

image
後記
程式做好以後,隨機生成了幾個描述,發到朋友圈,讓大家猜這些描述原本對應的是什麼星座。

BarnumEffect2.png

BarnumEffect3.png

BarnumEffect4.png

BarnumEffect5.png
結果是——沒有全部猜對的,哈哈哈!應該給撰寫星座描述的小編加:poultry_leg:~
下一期實戰見~
- Max/MSP/Jitter 教程 11 - 矩陣混合
- Max/MSP/Jitter 教程 12 - Chromakeying 視訊去背景合成
- Max/MSP/Jitter 教程 13 - 列表和矩陣
- Max/MSP/Jitter 教程 14 - 顏色查詢表
- Max/MSP/Jitter 教程 15 - 剪刀和膠水
- Max/MSP/Jitter 教程 16 - 矩陣定位
- Max/MSP/Jitter 教程 17 - 影象旋轉
- Max/MSP/Jitter 教程18 - 使用已命名的矩陣
- Max/MSP/Jitter 教程19 - 使用已命名矩陣的反饋
友情提示:獨自折騰 Max 易患上癔症……不妨入群互助

公眾號:ArtxCode