繁體中文 | English
一個放在 Windows 桌面、永遠置頂的小型指針時鐘,外圈會跟著你正在播放的音樂跳動。打開它、隨便播點什麼,時鐘外圈就會隨著聲音脹縮、變換顏色。
- 跟著聲音動:時鐘周圍的頻譜環會隨系統音訊擴張、收縮。
- 顏色跟著低音走:低音越大聲,外圈就從綠色轉成青色,再變成深藍。
- 動作流暢:頻譜數值在影格之間做了平滑處理,外圈看起來是流動的,不會抖動。
- 不擋路:透明、無邊框、永遠置頂的視窗,可以從系統匣選單切換成滑鼠穿透。
這個時鐘較新的粒子版本在 swarm-clock。
系統音訊(立體聲混音或麥克風)──► 隱藏的音訊視窗:FFT
└─► WebSocket 127.0.0.1:8080 ──► 時鐘視窗:外圈 + 指針
音訊在 App 內的一個隱藏視窗裡分析,送到時鐘視窗的只有頻譜數字;不會錄音,也不會透過網路傳出去。
需要 Windows 和 Node.js 22.12 以上。時鐘透過 Windows 的 立體聲混音(Stereo Mix)裝置聽你電腦正在播放的聲音;沒有立體聲混音的話,就改聽麥克風。
- 開啟立體聲混音:音效設定 → 錄製(或 更多音效設定 → 錄製),在空白處按右鍵,選 顯示已停用的裝置,再對 立體聲混音 按右鍵選 啟用。然後把它設成預設錄音裝置。
- 在終端機執行
npm install,再執行npm run build。安裝程式會產生在release資料夾。 - 執行安裝程式,打開 Virtual Music Clock。把時鐘拖到你想放的位置,然後在它的系統匣圖示按右鍵,選 Lock (mouse pass-through)。
不想安裝、只想先試試的話,執行 npm run start:all。
音訊不會離開你的電腦。App 從預設錄音裝置讀取音訊,在記憶體裡轉成頻譜數字,只把這些數字透過綁定在 127.0.0.1 的 WebSocket 送到自己的時鐘視窗,所以其他電腦連不進來。這個 socket 也會拒絕 Origin 不是 App 本身的連線,所以你瀏覽器裡的網頁讀不到它。麥克風權限只開給 App 自己的頁面,而且只限音訊。不會儲存或上傳任何東西。
