使用 Rock Band 4 Pro Drum Kit 遊玩 DTXMania
這是我第一篇的 medium文章, 主要記錄了最近玩的 Side Project.
六月是個很神奇的月份, 第一次體驗瘋狂加班到懷疑人生是甚麼樣子,同時也運氣很好在臉書社團購買到想買很久的 Rock Band 4 鼓組。
有了鼓組後, 就可以在 Ps4 的 Rock Band 4 這款鼓中體驗打鼓的感覺了。雖然鼓組玩起來比吉它有趣,但是總覺得如果可以用它來打 GITADORA 的 ヨルシカ 的 ただ君に晴れ 就好了,研究下去之後就催生出了這個計畫了...
最終的成品:

首先先來聊聊 Rock Band 4 是什麼吧。Rock Band 是一款發展已久的節奏遊戲,與其相對的有更為廣為人知的 Guitar Hero 這款遊戲。對比 Guitar Hero, Rock band 更強調「跟一群朋友像樂團一樣演奏」的部分,因此除了吉他控制器 (Guitar & Bass),同時也推出 Keyboard, Drum, Microphone 等控制器,最多可以實現五個人同時演奏 (四代只能四個人)。
Rock band 最新一代是 2015 年發售的 Rock Band 4,平台為 Xbox One 與 PS4 (後來有在 Oculus 上發售 VR 的版本,因為沒玩過就不多作介紹了)。當初第一次玩是 2019 年時在 Continue? Gaming Bar電玩餐酒吧 這家店體驗到了 (BTW 這家店蠻不錯的,推薦大家去看看),後來覺得很有趣便入坑了。入坑之後才發現這東西蠻坑的…
坑的點在
- Rock band 的控制器製造商 Mad Catz 在 2017 年破產了,因此現在想要購買控制器就算是二手市場貨源還是很少,而且價格非常貴
(吉它還好,鼓組快要逼近入門款電子鼓的價格) - 有鑑於遊戲本身在歐美比較活躍,大部分有賣的控制器都是 Xbox One 版
- 就算你找到了 Ps4 版的控制器,你可能要從美亞寄回來,運費很可觀
- 歷代遊戲都可以向下相容舊的硬體,而現在的市場找一個 Ps2 時期的鼓比 Ps4 時期的鼓好找一點點,但是舊的設備需要額外買轉接器,而轉接器比鼓本體還更難買到...
因此最後我只買了吉它的版本,鼓真的太貴買不下去。途中有發現一些有趣的版本,例如有人透過自己改寫硬體,讓不支援 Midi 訊號的 Rock Band 4 可以直接讀到 Midi 訊號,進而直接使用一般的電子鼓遊玩。但是考慮到怕有問題 & 費用問題,最後選擇還是放棄,玩吉它就好。
不過很幸運的,2021 年六月看到有人願意以不錯的價格販賣 Rock band 的鼓組 (而且還有附 Pro Drum 才有的三個拔!)。於是我猶豫了一下便決定入手了,外型大概長這個樣子:


玩起來感覺很不錯,由於採用比較機械式的設計,比起使用彈簧偵測訊號的吉它控制器穩定多了 (順帶一提, Guitar Hero 的吉它控制器因為採用微動開關偵測訊號, 雖然吵但是比較不會因為硬體限制而斷 Combo)。
唯一的小缺點是因為他的硬體設計,太小力會偵測不到。目前為止還不錯,但是人總是貪心的。疫情情間由於不能去打機台,我開始幻想有沒有辦法用這個鼓來打 GITADORA 的 ヨルシカ 的 ただ君に晴れ。
這裡先來聊聊甚麼是 GITADORA 吧。會接觸到這款遊戲是因為朋友中有位打機魔人。打機魔人很喜歡去打音樂機台,一起去過幾次後才接觸到 GITADORA 這個機台,進而入坑。
GITADORA 系列是 Konami 在 1999 年發行的街機。最新一代是 GITADORA NEXT+AGE,在台北地下街就可以打到。最新一代的歌曲中收錄了兩首 ヨルシカ 的歌,分別是 言って。 與 ただ君に晴れ,我完全是為了打這兩首歌而入坑的。

不過到目前為止講了這麼多,其實我的鼓打的超級爛,大概是雙腳腳踏都開 Auto 選普通難度還過不了的程度。我算是節奏遊戲苦手,但是即便如此還是可以找到一些樂趣。不過坦白說,考慮到練習其實我不是很喜歡街機的商業模式,因為
- 街機的場地都很吵
- 打不好會覺得很羞恥
- 遊戲本身會關門 (打太爛直接死去,不能再打下一首)
- 長時間練習 = 霸佔機台,會給別人帶來困擾
- 練習過程很花錢
因此我一直有個幻想是我可以在家練習無限次數的打機台,又不需要花費太大的成本 (機台本身是可以直接跟開發商購買的喔!不過價格不斐, 按照我對街機的了解起碼 10w 起跳)
其實去年十二月時,當我還在國軍 Online 時 Gitadora 悄悄在 PC 上推出了,可以直接支援電子鼓使用。收費的方式採用訂閱制,不過大概是因為版權關係,PC 版的曲目大多以原創曲為主。如果打的到 ヨルシカ 或許我就會認真考慮買電子鼓組 與 去打街機多少次可以回本呢。
講了這麼多前情提要,其實接下來要講到的才是重點。下一步想要解決的問題是如何把 Rock Drum 4 的鼓組接到電腦上面。網路上有熱心的網友提供了硬體的解法,例如直接焊一顆 Arduino 上去 (跟這裡),但是這些解法對不懂電路的我來說成本太大了。萬一焊壞要再買個鼓組可不容易。
另外有想過直接把鈸的輸入端 (3.5 mm Jack) 從鼓上面拔下來,改接電腦。不過研究了一下發現不知道如何直接把他當訊號處理。猜測還是會被電腦認為是麥克風,然後另外再用音量大小來判斷有沒有 Input。但是這樣還會遇到電腦的麥克風孔不夠的問題,因此放棄往這個方向研究。
所幸由於 Rock Band 4 Drum Kit 本身是透過藍芽的訊號與 PS4 溝通的,理論上我們也可以把他接到電腦上面當作遊戲控制器使用。實際上買了一張藍芽網卡之後就順利讓 Windows 讀到鼓組的輸入了。
但是測試之後會產生一個問題,對於通用 Driver (想當然,這個鼓組在 Windows 上沒有專門的 Driver 可用) 來說,他無法分辨鈸與鼓面的 Input, 也就是不管你打的是綠色的鈸還是綠色的鼓對電腦來說都是同一個 Joycon 的 Input。

不過透過這裡與這裡 (作者有寫一個 Remap Input 的插件, 不過因為網站的 DB 死去了,現在已經找不到那個插件了) 的提示,可以得知至少在傳過來的原始訊號中,鈸與鼓面的訊號是分開的。這件事情很重要,這代表我們不需要去逆向本體 (鼓本體的電路板上) 是怎麼把同一個訊號分離出來的,只要直接讀取原始輸入自己處理訊號就好,不要理會通用 Driver 認為的 input。
做法如下:我們可以直接去聆聽鼓組的 HID Device (Human interface device) 的 raw data, 直接讀取的話大概會長這樣:

其中我們可以發現打下不同鈸/鼓面時會幾個 byte 有不同的數值,也就是 Reddit 網友 提到的範圍為 0x00 ~ 0xff,代表擊中鈸/鼓面的速度。有了這些數值,就可以突破到目前為止最大的難關了。
接下來的部分就很容易了,PC 上有人做了一款用來模擬 GITADORA 的程式叫做 DTXMania (原作者不再維護了,我使用的是延伸出來的 DTXMania NX)。
這個遊戲除了可以直接支援電子鼓使用 Midi 訊號操作外,也可以使用鍵盤遊玩 (想當然很難按)。最棒的是,與 Osu! 或是 StepMania 一樣,玩家是可以自己創作譜面的。而也有人幫忙把 GITADORA 的 ヨルシカ 的譜面都 porting 過來,可喜可賀可喜可賀。
最後,我們只需要寫一個程式與 DTXMania 溝通,邏輯設計成這樣:
if ( HID 有訊號 ) {
模擬鍵盤輸入事件();
}
就可以實現鼓組與 DTXMania 的溝通了。
完整的程式碼放在這裡: https://github.com/yanagiragi/Minatsuki 。目前還沒有把 key mapping 寫成另外的設定檔,都是先刻在 main.py 裡面,我懶XD
整篇文章就這樣了。內容其實蠻水的,大概大部分時間都在抱怨(O) 科普(X) 這個 Side Project 的需求。
最後的結果雖然沒有辦法像是直接接電子鼓 or 街機那樣低 lantency (約莫是 50ms,瓶頸大概是在藍芽傳輸 & 軟體模擬的時間差。可以透過遊戲調整延遲設定來改善遊戲體驗),但是以練習成分來說我覺得很足夠了。等到真的有能力開始追求 Full Combo 時再考慮購入電子鼓組也不遲。
最後,希望這篇文章可以幫助到跟我一樣沒有電子鼓但是有 Rock Band 4 的人 (這種人很少吧...)。Happy Drumming!