2021-03-01 Serato Now Playing設定教學

很多人在做DJ實況的時候都會想要在實況畫面上打出現在正在播放的歌曲名. 如果你剛好是用Serato DJ Pro放歌的, 那就可以照著這篇教學來實現這樣的功能.

如果你是用Rekordbox的話, 目前好像家庭用戶還沒有辦法實現類似的功能 (參考)


原理說明

Serato有內建所謂的playlist功能. 所以你放歌的時候他會自動更新這個playlist, 更厲害的是Serato有提供線上的 Live Playlist功能(要 2.4.0版以上才有), 如果你開啟這功能的話, Serato軟體會在你放歌的時候自動更新你線上的playlist. 當然你放歌的時候Serato DJ要能連上網路才能更新.

所以只要透過一個第三方的小程式就可以去解析你的Serato的線上歌單或是本機的playlist進而得知你現在播放的歌曲資訊.

下載第三方軟體 Now Playing in Serato

我們需要透過由熱心網友寫的這套Now Playing in Serato軟體去分析你的Serato playlist.
github網頁: https://github.com/e1miran/Now-Playing-Serato

https://github.com/e1miran/Now-Playing-Serato/releases/latest
這裡下載, 我們以Windows版作為示範.

下載下來後不用安裝, 直接解壓縮到你想要的資料夾就可以了, 不過要注意的是要用管理員權限執行. (執行檔按右鍵選Run as administrator)

執行後會在Windows工作列右下找到程式的小圖示, 按右鍵選設定(Settings)

設定Now Playing in Serato

1是選擇模式,預設是Local, 也就是直接讀取本機的Serato Playlist.

下面Serato Library Path則是需要你手動設定你Serato library的路徑.
Windows的話預設應該是在Music下的_Serato_

2 則是設定你要程式把分析的結果存到哪個文字檔裡. 之後OBS會讀取這檔案獲得資訊. (請先自行開一個空白的txt檔案再從這邊設定指定到你開的文字檔位置)

Write Delay是指收到新的歌曲資訊後延遲多少時間(秒為單位)才寫入2指定的文字檔.
其他設定比較偏視覺的設定, 大家可以自己試試看.

不過小宗宗遇到使用Local模式會有日文/中文亂碼問題. 也可能是因為小宗宗是英文的Windows的關係? 大家可以試試看, 如果發生亂碼, 請改用下面的Remote模式.

如果要使用線上模式, 則要把Local改成Remote. 使用Remote模式的好處是DJ電腦與實況電腦可以分兩台.

上圖的設定為使用Remote模式時,
1 是你的Serato線上playlist的網址, 等等會說明這網址在哪邊.
2 跟Local模式一樣是設定你要程式把分析的結果存在哪個文字檔裡.
Polling Interval是多久時間(秒為單位)去1的網址抓資料, 建議用預設10秒就可以了.

設定Serato DJ Pro

Serato DJ Pro要先開啟Live Playlist功能, 如上圖把箭頭處的Enable Live Playlists打勾 (2.4.0版以上才能使用, 請記得更新)

然後點History後點Start Live Playlist, 選Yes. (記得要接上支援的DJ控制器, 否則不能用Live Playlist)
然後建議使用有線網路連接以降低問題發生.

這時候會跳出瀏覽器, 要登入你的Serato帳號, 然後點選下面的Start live playlist按鈕

然後這時瀏覽器的網址就是你要填在剛剛Now Playing in Serato設定裡1的網址位置.
同一個Serato帳號的網址都是固定的, 所以設定過一次就不用再設定了.

設定Serato Live Playlist為公開

啟動Serato Live Playlist後預設的playlist狀態是私密, 要改成公開才能被Now Playing in Serato程式抓到. (這步驟每次開新的Live Playlist都要設定一次)

照上圖的步驟設定就可以把Playlist設定為公開模式了.

設定OBS

最後就是設定OBS了.

OBS加個Text (GDI+), 內容選Read from file. 檔案指到剛剛Now Playing in Serato設定裡2的檔案位置.

通常因為歌名與歌手資訊會比較長, 需要橫向捲動的效果來呈現整個資訊.
在剛剛的Text (GDI+)上面按右鍵選Filters, 捲動的效果藏在這邊.

左下角按加號找到Scroll

把速度參數設定一下, 記得要勾Limit Width, Width寬度視你的版面決定.

然後就大功告成啦~

補充

Live Playlist更新的時間點是假設你正在播的歌是左邊CH1, 你要Load右邊CH2的歌曲之後CH1的歌才會顯示在Live Playlist上, 所以如果你CH1的歌放到很後段才Load CH2的歌, 那CH1的歌曲資訊會非常慢才會顯示出來, 這點需要注意. (以上是使用唱盤DVS系統實測的狀況)

後記

其實Twitch頻道也有個類似的擴充功能叫做Serato ‘Now Playing’ Twitch extension.
Serato官方也有完整設定說明
https://support.serato.com/hc/en-us/articles/360001991976-Using-the-Serato-Now-Playing-Twitch-extension

不過小宗宗之前用起來的心得如下:

  1. 黑膠DVS系統會誤判, 所以不太能用. 也可能是因為小宗宗用SL3, 如果用支援的Mixer也許就沒問題了(不確定)
  2. 數位控制器只要軌道播放狀態下fader一推出去瞬間就會顯示下首歌. 後台的延遲設定似乎沒有效果. 想要晚點顯示防止太早破梗似乎不行.
  3. 歌曲資訊是在用戶端才疊上去的. 所以錄影檔就不會顯示了.
  4. 實況跟播放DJ的電腦可以不同台, 但兩台都需要有聯外網路才行.
  5. 要用電腦瀏覽器觀看才會顯示, 手機/平板用app或瀏覽器觀看都不會顯示歌曲資訊.

因為上面一些缺點剛好是小宗宗很在意的, 所以最後還是決定在本地端用第三方程式處理.