它做什麼
capy 是一個跨平台的音樂工具:搜尋、遙控播放、同步與搬移播放清單。其他搬歌單的服務多半要付費、也要你把帳號交給它們的伺服器;capy 不收費,而且整個過程只發生在你的電腦與各平台之間。
搬家
把一個平台的清單搬到另一個平台。先用 ISRC(每一段錄音的國際編碼)對歌,對不到才比歌名、歌手與長度;沒把握的會列出來讓你決定。來源清單一首都不會被動到。
同步
同一份清單可以連到好幾個平台。之後哪一邊加了歌,capy 把差異列成一張表,你確認了才寫入。清單的順序是你的記憶,它不會排序、也不會打亂。
搜尋與遙控
在終端機裡搜尋、播放、暫停、跳秒、調音量,看現在正在播什麼。這一部分不需要登入 Google。
網頁介面
不想打字就執行
capy --web:它在你的電腦上開一個只有你自己連得到的頁面(127.0.0.1),用按的就能搬歌單。
怎麼搬
三個步驟。每一次寫入之前,capy 都會先把要做的事列出來、等你確認。
連接帳號
登入來源與目的地的音樂平台,再登入 Google。憑證只存在你電腦的鑰匙圈(macOS Keychain 或 Windows 認證管理員)。
選一個清單
capy 讀出清單裡的每一首歌,到目的地平台逐首尋找對應的曲目,並告訴你找到幾首、哪幾首沒找到。
確認,然後搬
你看過清單、按下確認,capy 才把歌加進目的地。沒找到的歌會留在報告裡,不會用別的版本硬湊。
為什麼要登入 Google
同步與搬歌單需要一個地方存放「你的播放清單正本」——哪些歌、什麼順序、各平台上對應到哪一首——這樣換一台電腦、或下次再同步時才接得上。capy 不架伺服器,所以這份資料放在你自己的 Google 雲端硬碟裡,一個只有 capy 這個應用程式讀得到的專屬資料夾。
登入 Google 是選用的:只用搜尋與播放遙控的話不需要。需要時,capy 只要求下面三個權限,沒有別的:
| 權限 | 用來做什麼 | 做不到什麼 |
|---|---|---|
| openid | 確認登入的是哪一個 Google 帳號。 | 讀不到你的個人資料、聯絡人或任何內容。 |
| userinfo.email | 在 capy auth status 顯示目前登入的電子郵件地址,讓你發現「登錯帳號」。地址只寫在你電腦上的設定檔。 | 不會寄信給你,讀不到你的 Gmail,也不會把地址傳給任何人。 |
| drive.appdata | 在你雲端硬碟的「應用程式專屬資料夾」裡讀寫 capy 自己建立的幾個 JSON 檔(播放清單、曲目對照、裝置清單;連接電腦裡的音樂資料夾時,也包含那些音樂檔的相對路徑與清單檔名)。 | 看不到、也動不了你雲端硬碟裡的其他任何檔案——文件、照片、共用資料夾都不行。 |
完整的說明在隱私權政策。你隨時可以在 Google 帳戶的第三方存取權撤銷授權。
你的資料在哪裡
capy 沒有後端。這張表就是全部。
- 播放清單正本
- 你自己的 Google 雲端硬碟(應用程式專屬資料夾),以及你電腦上的一份快取。
- 各平台的登入憑證
- 你電腦的鑰匙圈。不寫進設定檔,不上傳到任何地方。
- 你聽了什麼、搜尋了什麼
- 只在你的電腦與該音樂平台之間。capy 不記錄,也沒有地方可以回報。
- 我們的伺服器
- 沒有。這個網站只是幾頁靜態的說明。
開始使用
到 GitHub Releases 下載對應你電腦的檔案,解開後把 capy 放進 PATH。完整的安裝與使用說明在 README。
# 連接帳號 $ capy auth login spotify $ capy auth login google # 用網頁介面搬歌單 $ capy --web # 或直接在終端機 $ capy migrate "通勤" --from apple --to spotify
Spotify 需要你自己建立一個免費的開發者 app(capy 會一步一步帶你做);Apple Music 目前只能讀取,做法非 Apple 官方支援;寫入 Spotify 清單的部分依官方文件實作、仍在實測驗收中,遇到問題請回報。細節見 README。