Native YouTube Music app for Mac (SwiftUI): equalizer, visualizer, synced lyrics, menu bar mini player, widget, Last.fm and Discord. Free and open source.
翻譯準備中
正在載入完整 README。
檢視完整 README ↗Songtide is a free, open-source YouTube Music desktop app for macOS, built with SwiftUI. It adds an equalizer, a visualizer, synced lyrics, a menu bar mini player and a widget to YouTube Music, and is signed and notarized by Apple.
Download: songtide.dcoded.dev · or brew install --cask dcoded-dev/tap/songtide
Songtide is an independent app. It is not affiliated with, endorsed by or sponsored by Google or YouTube.
songtide:// linksRequires macOS 15 or later. You sign in with your own Google account inside the app; what you can play depends on your YouTube Music account.
| Visualizer | Equalizer |
|---|---|
Songtide opens its own links, so launchers and scripts can start music:
songtide://play?v=VIDEO_ID
songtide://playlist?list=PLAYLIST_ID
songtide://search?q=daft+punk
File › Open Copied Link plays a YouTube or YouTube Music link from the clipboard, and Controls › Copy Song Link and Share Song… give you the link to what's playing.
AppleScript (for Raycast, Alfred and the like):
tell application "Songtide"
playpause
next track
open link "https://music.youtube.com/watch?v=VIDEO_ID"
search "daft punk"
get {track name, track artist, track link, playing}
set sound volume to 40
set player position to 60
end tell
Commands: playpause, play, pause, next track, previous track, like, open link, search. Properties: playing, track name, track artist, track album, track link, track duration, player position, sound volume.
The YouTube Music website runs in a WKWebView with its own navigation and player hidden. The sidebar, toolbar, player bar, menus, mini player and Settings are SwiftUI and AppKit, and talk to the page through Songtide/Web/bridge.js. The equalizer and visualizer capture the app's own audio with a Core Audio process tap.
Requires a recent Xcode and XcodeGen.
xcodegen generate
xcodebuild -scheme Songtide -derivedDataPath build build
open build/Build/Products/Debug/Songtide.app
project.yml signs with DCODED's team; set DEVELOPMENT_TEAM to your own to build.
Last.fm needs an API key. Without one the app builds and runs, and Last.fm is unavailable. To enable it, copy Config/Secrets.example.xcconfig to Config/Secrets.xcconfig and fill it in.
Debug builds log bridge traffic to stderr when run with YTM_DEBUG=1, and scripts/ytm-eval '<js>' evaluates JavaScript in the running app's page.
Songtide/ the appSongtideWidget/ the widget and Control Center controlShared/ code used by bothsite/ the website at songtide.dcoded.dev, including release notes and the update feedworker/ the site's Cloudflare Worker, which keeps anonymous daily counts of downloads and update checks (described in the privacy policy)scripts/ release and debugging scriptsThe app has no analytics or tracking. See the privacy policy for the details, including the anonymous counts above.
GPL-3.0. Songtide was developed privately from September 2026 and open-sourced at version 1.1.20.
Butterchurn and its presets, in Songtide/Web/Visualizer and site/vendor, are under their own licenses.