我做了一個「多功能播放器」的網站

「我做了一個可以偵測速度、移調、重複播放片段、調整分軌比例的播放器。」

🚪 傳送門:https://stream.revolchu.com

起因

身為一個樂手,每次抓歌跟練習都會對音檔動一些手腳,例如偵測速度、移調、重複播放片段、把某些樂器調大聲等。

雖然每個環節都有辦法做到,但都有一些「不方便」的地方。

以我要抓一首 YouTube 的歌為例,以下是我的流程:

  1. 到 YouTube 搜尋歌曲並複製網址
  2. 到終端機用 yt-dlp 下載音檔
  3. 打開編曲軟體
  4. 打開檔案管理,並把檔案拖曳進去編曲軟體
  5. 開始用又肥又大的編曲軟體,用一堆麻煩的操作

在實際開始抓歌之前,我可能已經花十分鐘在這些沒意義的小事上,興致都被用光了。

於是想說:

「如果有辦法把這些功能全部都整合在同一個地方,應該可以省去很多麻煩吧。」

然後就花點時間弄出了這個網站。

原本要花十分鐘的瑣事,現在只要 30 秒。就算要產分軌,我還是可以同時做其他事(Logic Pro 產分軌期間什麼事都做不了)。

技術相關

套件們:

  • 下載音檔:yt-dlpFFmpeg
  • 移調:@soundtouchjs/audio-worklet
  • 節拍器:Tone.js
  • 偵測速度、調性:librosa
  • 產生分軌:demucs 並透過 Replicate API 呼叫

部署:

  • 程式放到 Github Repo,然後前端跟後端分開部署
  • 前端:Vercel
  • 後端:Linode
  • 把網域指向 Vercel(前端部署的地方)

一些注意事項

  • 由於 YouTube 限制,線上轉換功能高機率無法運作,只能先下載再上傳檔案(伺服器 IP 會被 YouTube 擋,本地可以)
  • SoundCloud 跟 StreetVoice 目前測試可以
  • 推薦用電腦操作,手機可能會有一堆詭異問題
  • 產生分軌會花我一點小錢錢,不要惡意狂用

去玩玩看吧!

歡迎需要抓歌練歌的人可以用用看,有遇到什麼 bug 都可以回報給我,感謝!

有想要許願也歡迎。

🚪 再附上一次連結:https://stream.revolchu.com


如果喜歡這篇文章,歡迎寄封信到 revolcc@proton.me 回饋給我,我會很開心的!

也歡迎你到「簽名版」留下足跡,讓我知道原來世界上還有人在看我碎碎念,這可以成為我繼續寫下去的動力。

較舊一篇 快樂也算目的
使用 Hugo 建立
主題 StackJimmy 設計