跳至主要内容

離線 AI 根本是奇蹟

· 閱讀時間約 3 分鐘 ┊ 純文字版

最近半年,全世界都在討論 AI Agents(代理人):養龍蝦(OpenClaw)、Codex、Claude Code、Hermes 什麼的。用的人都一直說多好用、多強、多方便,好像不用就落伍了。

我當然能想像叫 AI 自動做事一定會很好玩,但我對那些雲端的 Agents 真的超沒興趣──做什麼事情都要依賴遠端的主機,而且要長時間工作的話,很快就會把用量燒完,或者是要付很多錢

直到上個禮拜,新模型 Qwen3.8-27B1 正式推出!它是第一個真正有能力「長時間獨自做事」的離線模型,我當然是推出第一天就迫不及待開始玩了。

解謎任務

那要叫它做什麼好呢?

因為前幾天這個 blog 剛好聊到《大富翁 2》以及它的音樂;我想,那就叫它寫個「大富翁 2 → 標準 MIDI」轉換器好了。

我是在 Linux 下用 Pi Coding Agent2,直接連接本機的 Qwen3.8-27B 語言模型。我就是把整個《大富翁 2》DOS 版的資料夾丟給它,然後跟它說:「你想辦法幫我把裡面的音樂轉成標準 MIDI 檔案

就這樣,沒有給別的線索──因為我也沒有別的線索了。

然後它就自己去了

  • 首先,它自己發現了資料夾裡面的一堆 .RIX 檔案可能是音樂檔。
  • 接著,自己上網搜尋找到了一個能播放 .RIX 檔案、叫做 adplug3 的函式庫。
  • 但可惜,這個 adplug 只能播放(轉成音訊),並不能提取檔案裡面的音符資訊。
  • 於是它自己去讀了 adplug 關於 RIX 格式的原始程式碼。
  • 發現 .RIX 檔其實是直接送往 AdLib 音效卡 FM 合成器的機器碼,並不是一般 MIDI 檔案。裡面沒有音符、沒有拍子、沒有小節,只有「在第幾個時間點對暫存器寫入什麼數值」的指令。所有音符的時間都要自己回推出來。
  • 而且,它從原始碼發現了 AdLib 其實有個「打擊樂模式」,打開的話,頻道 7-9 會變成鼓組。
  • 但它不知道哪一軌是哪個鼓,所以計算了每軌的音符數量,猜測打最多下的那個應該是 closed hi-hat(它猜對了)。
  • 結合以上的邏輯,它寫了一個 C++ 程式。過程中當然發生許多 bug,但它自己一遍又一遍測試程式、自己修改、自己重跑,最後終於把全部檔案轉成了可用的 MIDI 檔案!

(我只是去喝個咖啡,回來檔案就自己出現了!)

根本奇蹟

這一切如果要我去研究,可能要花我好幾個月,而且我根本不可能為了這種事投資這麼多時間。但現在,這一切只需要我硬碟裡一個 17 GB 的檔案,只花一個多小時4就搞定了,還不用依賴大科技公司的資料中心(除了搜尋)?

你說這不是奇蹟是什麼?

送上轉成 MIDI 以後,用 General User GS 音色庫播放的結果:

作為對照,這是原始的 FM 合成器版本:

Footnotes

  1. https://huggingface.co/Qwen/Qwen3.8-27B

  2. https://pi.dev/

  3. https://adplug.github.io/

  4. 雖然如果用 Claude Opus 的話,可能五分鐘就搞定了,但我依然覺得離線模型可以做到這樣已經是奇蹟了。

擋掉它吧

· 閱讀時間約 2 分鐘 ┊ 純文字版

不曉得你知不知道,Brave1 瀏覽器內建了一個叫做 Block Elements(封鎖元素╱阻擋元件)的功能。

用法很簡單:在任何網站上,只要看到讓你覺得不爽的東西,就對它點右鍵然後 block elements,它就永遠消失了!就像把討厭的人趕出房間一樣爽快。例如,你可以:

  • 在 YouTube 上,把 Shorts、推薦影片、側邊欄全部 block 掉,連登入按鈕和刺眼的紅色 Logo 都 block 掉!
  • 在 Google 上,把巨大的 Logo 和整片 AI 模式垃圾都 block 掉!
  • Reddit 一直用東西擋住文章逼我登入,block 掉!
  • Substack 一直煩我要我訂閱電子報,block 掉!
  • 各種網站的「你同意吃 cookie 嗎?」橫幅,block 掉!

如果你用 Firefox 系列的瀏覽器,裝上 uBlock Origin2 外掛程式也能享有同樣的快感。

全部 block block block!奪回控制權的感覺好紓壓喔!

這樣才對嘛!這是我的電腦、我的螢幕耶,上面要顯示什麼東西當然是我說了算!你們這些網站別塞一堆垃圾來擾亂我!

(這就是 2026 年的現代網站)

我真心希望所有人都知道這個功能,別每天被這些網站霸凌還一直笑著說「沒關係」,這樣太可憐了。

唯一的副作用可能是:一旦習慣了這樣清新的網路環境,某天借用別人的電腦,看到「正常版」的網站,大概會嚇到直接往後退三步。

延伸閱讀

https://how-i-experience-web-today.com/

一個完美呈現現代網頁上各種惱人體驗的互動網站。

Footnotes

  1. https://brave.com/

  2. https://addons.mozilla.org/zh-TW/firefox/addon/ublock-origin/

大富翁 2

· 閱讀時間約 3 分鐘 ┊ 純文字版

跟我差不多年紀的人,小時候應該很有可能玩過 1993 年的 DOS 遊戲《大富翁 2》1

小時候覺得它超好玩,所以最近用 DOSBox2 重溫了它一下下。發現其實介面設計、美工、音樂放到現在來看還是很不錯的。

不過遊戲深度的話⋯⋯就真的沒什麼深度了:

  • 玩家能夠做的選擇太少。基本上就是擲骰子、走到空地的話買下來、等別人踩到、收錢。
  • 只要最開始幾輪運氣很好,在租金貴的地方(例如台北市)買下好幾塊地,差不多就贏定了,後面就是等對手慢慢失血而已(好像其實跟真實人生很像?)。
  • 卡片系統我覺得實用度不高,要拿到卡片也是要看亂數產生器的運氣(好像也跟真實人生很像?)。
  • 至於裡面的股市系統,感覺就只是每天亂跳一個數字的亂數產生器而已,完全沒有策略可言,也沒有辦法像現實生活中一樣不斷買進、長期持有

(總之,盡可能買下台北市就對了!)

總之,就是一個從頭到尾看運氣的遊戲。當然,如果這遊戲主要客群是 1993 年的我(八歲)的話,那麼「沒有深度、靠運氣就好」可能才是正確的設計。

《大富翁 2》裡有三張地圖,台灣、香港和台北市。藉此我們可以推論出「台北市」是一個與「台灣」和「香港」平起平坐的國家。在單人模式時,你必須要在每張地圖上拿到第一名(也就是把其他所有電腦玩家弄到倒閉)才到進到下一張地圖;那根本就超難,難怪我小時候永遠都在玩第一張地圖。

可是為什麼我現在知道了呢?因為我是在 Linux 上用 DOSBox 玩的,很輕易地就可以修改記憶體數值;最快的獲勝方式,就是把全部電腦對手的現金和存款改成負數,這樣他們就馬上倒閉啦!

另外一個值得一提的是,《大富翁 2》的配樂作者杜迺迪,是在高中的時候完成這套遊戲配樂的!這頁 Wiki 上寫他 1999 年從台大電機系畢業,但《大富翁 2》是 1993 年出品的耶!好好奇他是怎麼在高中的時候就接到這個 case 的(更好奇這個 case 可以賺多少錢)!

而且他還有 YouTube 頻道3,我剛剛去逛了一下,發現我還有朋友跟他一起同台演出過,音樂圈真是小!

來聽一首背景音樂!以前玩過的人應該一聽到這個回憶就回來了:



除了《大富翁 2》之外,小時候還玩過好多其他國產遊戲,以後有空再分享!

Footnotes

  1. https://zh.wikipedia.org/zh-tw/%E5%A4%A7%E5%AF%8C%E7%BF%812

  2. https://www.dosbox-staging.org/

  3. https://www.youtube.com/@tunaiti/videos

被一般人拖累

· 閱讀時間約 2 分鐘 ┊ 純文字版

世界上大部分的東西,都是為了「一般人」設計的。因此,如果「一般人」變得更笨,所有人都得陪著受難。

  • 📢 如果一般人不在乎廣告,甚至幫廣告辯護──「不塞那麼多廣告的話,平台怎麼活得下去呢?」──那麼所有人都得忍受更多廣告。
  • 🔁 如果一般人都覺得「什麼東西都變成訂閱制」是正常的,那麼所有人都將再也無法擁有自己的物品
  • 🪫 如果一般人都認為手機和藍牙耳機的電池不能換是合理的,那麼所有人都得被迫把明明還能用(但電池掛了)的裝置丟進垃圾桶。
  • 🔮 如果一般人都頭腦破洞到、認為真的有相機能夠拍出人「周圍的光環」和「靈魂的顏色」,還一直在社群媒體上留言分享,網紅們就會發現:講什麼鬼話真的都沒關係耶!

欸!我說你們這些「一般人」,能不能不要每天這麼雷、到處危害大眾好不好啊!

我知道這個 blog 的讀者都不是一般人,畢竟一般人是不會跑來獨立網站讀 blog 的。

但矛盾的是:如果清醒的人都選擇逃離,那市場中的「一般人」濃度反而就更高了。於是所有東西就會變得更爛一個等級,然後我們就只好更往邊緣躲一點。

從 8/24 開始,你要變紅啦

· 閱讀時間約 5 分鐘 ┊ 純文字版

「像是今天 IG 上面,它計算的一次觀看次數,就是跟 YouTube 不一樣,它就是比較快就可以算一次。所以當你發現說你拍一個長影片,比如說它會有十幾二十萬的觀看數,但是在 IG 上面簡簡單單地、就是三十萬。」

──志祺七七,當聊到大家為什麼比較喜歡做短影片,而非長影片|《今天不讀稿》EP 035,2024 年 10 月 26 號

觀看數字大放送!

先恭喜大家,你要變紅了!🎉

根據 Google 的最新公告,從 2026 年 8 月 24 號開始,YouTube 上「所有影片格式」的觀看次數,都將改用 Shorts 那套算法──影片只要一開始播放,從第一格開始,就算一個觀看次數。

而原本那個比較嚴格的觀看數字──要看到一定長度才算數的那種──被改名叫做 Engaged Views,被移到後台的「進階模式」裡,只有創作者本人看得到。

"However, we've heard that creators want to eliminate this metric confusion and accurately understand their true exposure, which is why we're making this update!"

(不過,我們聽到創作者希望消除這種指標上的混淆,準確理解自己真正的曝光量,所以我們做了這次更新!)

──Google

(Wiwi 的翻譯:我們知道你覺得觀看數字不夠爽,所以我們把它改大了,反正有沒有人真的看到不重要嘛!)

Google 想要你用數字騙廠商(和自己)

誠實的地方是:當 Google 要付錢給你的時候,用的還是嚴格的那個數字;加入 YouTube 夥伴計畫(YPP)的門檻也沒有放寬──這擺明了就是,Google 自己也知道新的數字根本不代表任何東西,就只是灌水而已,真正要談到錢的時候,這數字根本不值得參考。

但是,Google 卻在公告中鼓勵你用這個數字去說服第三方付錢:

"We hope that having metric parity across all formats gives creators a clearer picture of their overall exposure and makes it easier to confidently express their true scale and value to brand partners and sponsors!"

(我們希望所有觀看指標統一之後,創作者能更清楚看見自己的曝光,更能向品牌夥伴與贊助商自信地表達自己真正的規模與價值!)

──Google

(Wiwi 的翻譯:你可以拿這個新的大數字去騙無知的贊助廠商──也順便騙自己──去吧!自信地自以為自己很紅吧!)

表演給表演的人看

我們常說社群媒體很 performative(表演性),但這件事本身更是極致的 performative:你努力表演,想被演算法看見;平台也努力表演,讓你覺得你被演算法看見了;但從頭到尾,根本不需要任何東西被任何人看見。

然後就會有一批「創作者」,製造一堆垃圾然後把觀看次數刷到百萬,並真心覺得自己紅了。媒體或不懂這行的人,也會開始引用這些灌水數據:「哇這支影片有一百萬觀看耶!」於是一個根本沒人在乎的話題,看起來就好像全民都在討論一樣。

對平台來說更划算。每個人都覺得自己的頻道在成長,每個人都覺得再撐一下就會爆紅,於是每個人都願意繼續免費幫平台打工。這樣一來,任何一個創作者對於平台的「可替換性」就變更高了──你不想把數字刷大?後面還有一群人排隊等著刷呢!

數大便是美1

雖然這真的很蠢,但就是有用。人類就是喜歡大數字,大數字就是爽。明知道數字跟收益無關,明知道它不代表作品被看見,但當它從 3,183 變成 184,325 的時候,你的心情還是會好一點。

平台非常清楚這一點:想要大家往哪裡走,就在那裡放個大數字就好啦!下一次更新,也許改成只要縮圖出現在螢幕上,就算一次觀看;再下次更新,所有觀看數字顯示時,會自動加上一個 100000 到 999999 之間的隨機數字。

如果你的目標是做「真的對自己有益的事情」,那麼在這個時代,「不被數字控制」大概就是最該練起來的生存技能了。

Footnotes

  1. 出自徐志摩的日記《西湖記》:「『數大』便是美,碧綠的山坡前幾千隻綿羊,挨成一片的雪絨,是美;一天的繁星,千萬隻閃亮的眼神,從無極的藍空中下窺大地,是美⋯⋯(中間略)⋯⋯數大了,似乎按照著一種自然律,自然的會有一種特別的排列,一種特別的節奏,一種特殊的式樣,激動我們審美的本能,激發我們審美的情緒。」

不可能那麼衰啦

· 閱讀時間約 3 分鐘 ┊ 純文字版

"When playing Russian roulette the fact that the first shot got off safely is little comfort for the next."

(玩俄羅斯輪盤的時候,第一槍沒事,並不能為下一槍帶來多少安慰。)

──Richard Feynman1

為什麼我寧願乾脆不出國玩,也不願意在杜拜或阿布達比轉機:

(以上只是台灣媒體有報導的幾個例子。用英文隨便搜尋一下,你可以找到超級多類似的事件)

「哎唷,每年好幾千萬人在那邊轉機都沒事呀!」於是大家都覺得這種極低機率的事情,不可能發生在自己身上⋯⋯直到它真的發生在自己身上。

何必冒險呢?降低慾望,不要那麼想出國玩就好啦!

如果你還是想在那轉機,請記得保持謙卑:別碰到機場人員、別在飛機上喝酒,以及最重要的──別跟通緝犯同名同姓唷!

Footnotes

  1. https://www.nasa.gov/history/rogersrep/v2appf.htm

全部都是錯字

· 閱讀時間約 4 分鐘 ┊ 純文字版

如果一篇文章全部都是錯字,還可以看得懂嗎?

英文的話,只要每個單字的頭尾字母保持原樣,就算中間的字母大洗牌,你依然可以輕易讀懂。例如:

"It deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae."

那我就在想,中文也可以這樣嗎?如果把每個字都換成「萇淂宥酟潒虳鈤宇長得有點像的錯字」,可以換掉多少還讓人能讀懂原文呢?

來試試看,原文:

我之前曾經有過 Facebook、Instagram 和 Twitter 帳號;但我從 2022 下半年開始,把所有的帳號都刪除了。我現在唯一有使用的社群媒體只剩下 YouTube,但我的願望是有一天我也可以不需要用它。

20% 是錯字:

我之葥曾經有過 Facebook、Instagram 和 Twitter 帳號;但我徙 2022 下半年開始,把所有的帳唬都刪狳予。我現在嗺一有使用的社群媒體只剩下 YouTube,但我的縓望是宥一天我也可以不薷要用它。

40% 是錯字:

我玄前罾經有渦 Facebook、Instagram 和 Twitter 帳唬;但莪從 2022 卡丰年開咍,把岓有的帳號嘟珊狳了。我現在唯一有使甭虳社群媒體只馜卡 YouTube,怛我虳願望寔有一夭我池叮苡丕需票用牝。

60% 是錯字:

莪玄葥罾緇宥過 Facebook、Instagram 和 Twitter 粻唬;怛我從 2022 下丰年閞咍,挹岓宥的帳號嘟珊狳予。我現在嗺一宥使用的杜郡謀體只剩卡 YouTube,怛莪虳縓聖寔有一天莪池叮苡丕薷票甭牝。

80% 是錯字:

莪之葥罾緇宥過 Facebook、Instagram 和 Twitter 粻號;怛莪徙 2022 卡丰姩閞咍,挹岓宥虳粻唬嘟珊狳予。我鋧社嗺一宥俚甭虳杜郡謀骳口馜卡 YouTube,但莪虳願聖寔宥一天莪也叮苡丕薷要用它。

100% 是錯字:

莪玄葥罾緇宥渦 Facebook、Instagram 秝 Twitter 粻唬;怛莪徙 2022 卡丰姩閞咍,挹岓宥虳粻唬嘟珊狳予。莪鋧社嗺十宥俚甭虳杜郡謀骳口馜卡 YouTube,怛莪虳縓聖寔宥十夭莪池叮苡丕薷票甭牝。

用來做替換的程式碼在這裡(Python 檔案,按右鍵另存下載)。

我覺得換到 40-60% 左右勉強都還能看懂耶!不過中文字的問題是,有些筆劃很少的字(例如「一」)並沒有長得很像的替代品。所以或許得設定規則,規定筆劃數多少以下的字「不可替換」之類的──其實最開頭的那句英文版也是這樣,如果要保持頭尾字母不變的話,三個字母以下的單字就動不了了。

至於我為什麼要花兩個小時研究這個?因為沒用的東西就是藝術呀。

(如果你找到了更好的替換演算法,歡迎在你的部落格跟大家分享!)

同場加映

把影音檔案壓小小

· 閱讀時間約 4 分鐘 ┊ 純文字版

因為「荒島筆電」實驗的關係,我最近在測試,利用新一代的編碼器 Opus 和 AV1,到底能把影音檔案壓縮到多,還能保持我能接受的音質和畫質。

什麼是「荒島筆電」?

荒島筆電是一個思想實驗:如果要帶一台筆電去沒有網路的荒島住 50 年,只有 200 GB 的可用空間,裡面該裝什麼?在這個前提下,來挑選該打包的音樂、書、軟體、遊戲、資料,藉由這個過程想想自己真正需要什麼。

Opus:同樣的享受,一半的檔案大小

通常 MP3 檔案我覺得至少要 128-160 kbps 聽起來才舒服。但最近認真試用新一代的 Opus 編碼器之後,發現 Opus 只要 64-96 kbps 音質就很可以了耶!相同的享受,檔案大小直接砍半。

如果是純講話的 podcast,用 Opus 甚至降到 32 kbps 我聽起來也都毫無怨言。

不過我暫時還不會把網站上的音檔全部換成 Opus,因為 macOS 和 iOS 對 Opus 的支援度很差,一直到最近兩年的版本才勉強可以播。不過對於離線運作的 Linux / FreeBSD 荒島筆電來說,這完全不是問題。

TSAC:8 kbps 的黑魔法

說到極限壓縮,就不能不提到 Fabrice Bellard 這位神人。他是 FFmpeg 和 QEMU 的作者──換句話說,現代社會有很大一部分是靠這個人寫的東西在運轉的──他開發了一個叫做 TSAC 的聲音編碼器。

TSAC 可以把聲音壓縮到超小的 8 kbps(!),還能維持很不錯的音質。沒錯,真的沒有打錯字,8 kbps,幾乎是一般 MP3 檔案的二十分之一大小。可惜 TSAC 是用神經網路做的,要跑得動基本上需要一張 Nvidia 的 GPU 才行,實用度不太高,但技術還是超厲害!

試聽

以下用我的作品〈你還在這裡做什麼〉當作測試曲目,來比較一下各種格式的音質吧:

(如果你是用比較舊的 iOS 裝置,以下的 Opus 格式檔案也許會無法播放。那是蘋果在藉機提醒你該換新機囉!)

  • MP3 160 kbps,檔案大小 2.85 MB:
  • Opus 96 kbps,檔案大小 1.77 MB:
  • Opus 64 kbps,檔案大小 1.18 MB:
  • Opus 32 kbps,檔案大小 0.61 MB:
  • TSAC 8 kbps1,檔案大小 0.14 MB:

AV1 讓我可以帶影片去荒島了

我原本覺得荒島筆電裡面不該放影片,因為太占空間了;但玩過新一代的 AV1 編碼器之後,我覺得好像行得通喔!

如果影片用 AV1 編碼,聲音配上剛才說的 Opus,解析度降到 240p,全部裝進 WebM 檔案裡面,這樣可以把影片檔壓到大概 350 kbps,而且畫質還在「可以接受」的範圍內──當然,我的「畫質可以接受」可能跟你的標準不一樣;畢竟我可是活過撥接時代,曾經真心覺得 VCD2 畫質很棒的老人。

總之,這樣壓縮的話,一分鐘的影片只要 2.6 MB,那麼 100 GB 的空間可以塞進 641 個小時的影片!如果儲存空間限制放寬一點的話,我們真的也可以帶不少電影去荒島了!

一向死守著 MP3(聲音)和 H.264(影片)的我,好像該是時候跳槽到新一代的 Opus 和 AV1 了。

Footnotes

  1. 當然,網頁上是無法插入 TSAC 檔案的。這邊的示範是將 TSAC 解碼後再編碼成 160 kbps 的 MP3 檔案。

  2. Video Compact Disc,是 1993 年的影音光碟標準,影片畫質是 352 x 240 像素,每秒 24 或 30 格。

Wiwi.Blog 純文字版

· 閱讀時間約 1 分鐘 ┊ 純文字版

網路超級超級慢,卻還是想讀 Wiwi.Blog 怎麼辦?

為你介紹 Wiwi.Blog 純文字版 /txthttps://wiwi.blog/txt

整頁不到 100 KB,列出了全站所有文章和筆記的純文字版連結,沒有圖片、沒有 JavaScript、只有一片清爽!快來體驗超級快速、超級乾淨的純文字世界吧!

把它加進書籤吧!下次當你在訊號很差的山上、海邊、地下室,或是在防空演習網速降到 5 KB/s 以下時,Wiwi.Blog 純文字版可能就是唯一一個能夠順暢瀏覽的網站了!

對觀眾的假設

· 閱讀時間約 2 分鐘 ┊ 純文字版

突然意識到,各種現在認為「主流」的影片做法,都是基於對觀眾素質的不信任:

  • 🌀 畫面一定要一直變動:因為觀眾無法持續看靜態畫面,他們會睡著。
  • 🎶 要有背景音樂和音效:因為觀眾無法忍受留白,他們會睡著。
  • 🅰️ 講到重點字一定要跳彩色字卡:因為觀眾讀普通的文字找不到重點。
  • 🎆 開頭十秒鐘一定要放 highlights:因為觀眾需要馬上得到「甜頭」,才願意繼續看下去。
  • ✂️ 要把議題簡化:因為觀眾聽不懂複雜的東西,一覺得自己不夠聰明就會走掉。
  • 🤹 要有娛樂性:因為觀眾不喜歡學習,所以知識必須偽裝成娛樂偷渡進去。
  • 😱 標題要聳動:因為觀眾需要情緒刺激才願意點下連結。
  • 😭 要戲劇化、要故意出糗:因為觀眾喜歡看創作者崩潰的誇張反應

會不會,以上的假設全部都是錯的呢?

會不會也許,你的觀眾其實:很有耐心、享受安靜、喜愛閱讀、願意給你時間、不怕複雜、渴望學習、愛好樸實,並且想看你把事情做好呢?

至少「你心目中理想的那種觀眾」應該是這樣的吧?