跳至主要内容

不囉唆的文字移調器

· 閱讀時間約 2 分鐘
不囉唆,直接開始用!

請到 NiceChord.com/transpose 開始使用。

這個工具其實已經發表在好和弦官網 NiceChord.com 好一陣子了,但我還沒在這裡提過。

不曉得有多少人跟我一樣,常常用純文字來記錄音樂想法?比如說,在 Markdown 檔案裡面直接這樣寫和弦表:

Cmaj7 | Am7 | Fmaj7 | G9sus | C(add2) ||

用純文字記和弦,寫的時候真的很方便。但是,如果我想把整份和弦表移調怎麼辦?

MuseScore 之類的打譜軟體,都有內建的移調功能,但純文字檔就沒有。網路上雖然有一些文字移調工具,但它們都爛爛的,介面囉唆複雜、廣告多、跑得慢,而且同音異名的處理常常錯誤,連該轉成 D# 還是 Eb 的邏輯都沒弄對。

所以我只好自己寫一個了。

(不囉唆的文字移調器,介面超級簡潔,不囉唆!)

程式的邏輯很簡單:用正規表達式掃描整個文字,找到任何「大寫字母 A-G + 可能的升降記號」的組合,把它移調,然後其他字元完全不動。就這樣。

但重要的是,這個移調器是受過(我的)樂理教育的,它在乎所謂「正確」的音名,而不僅僅是琴鍵上的位置!舉幾個例,你就知道它跟那些沒有愛的工具是不一樣的:

  • C# 移高大三度,會得到 E# 而不是錯誤的 F
  • D# 移高增四度,會得到 G## 而不是錯誤的 A
  • Cmaj7 | Am7 | Fmaj7 | Dbmaj7 移高完全四度,會得到 Fmaj7 | Dm7 | Bbmaj7 | Gbmaj7,注意它不會把 Bb Gb 誤寫成 A# F#

如果你也像我一樣喜歡用純文字寫音名或和弦代號,而且是看到 E# 被寫成 F 就會抓狂的那種人,這個不囉唆的移調器,就是你一直以來在找的東西!

NiceChord.com/transpose 就可以直接使用,歡迎把它加到書籤!

為什麼我不想寫《黑白大廚》的心得文

· 閱讀時間約 5 分鐘

1831 年 12 月 7 號,舒曼對蕭邦的《唐璜主題變奏曲,作品 2》,寫了一篇很長的評論文章1

舒曼對這首變奏曲讚譽有加,而且對每一段變奏都寫了充滿想像力的描述。他還很驚訝樂譜標題頁面寫著「作品 2」──這個叫做蕭邦的新人,才第二個作品就厲害成這樣?雖然沒聽過這個名字,但毫無疑問地是個天才!

"Hats off, gentlemen, a genius."

(脫帽致敬吧,你各位,天才降臨了!)

──舒曼

在 1831 年時,你可以寫一篇關於蕭邦作品的評論,然後那篇文章在兩百年後會依然有用。現在的我們可以一邊聽著蕭邦的音樂,一邊對照舒曼的文章,跨越時空感受他當時的興奮。

(舒曼在 1831 年的文章)

我不想寫《黑白大廚》的心得文

場景回到現代。假設我今天寫一篇《黑白大廚第二季》的心得文,兩百年後的人類看到文章,他們還能找到原始節目來對照嗎?我覺得很難。最可能發生的劇本是:十幾二十年後,隨著 Netflix 關閉或轉型,節目就從網路上消失了,無法在任何平台看到,也沒有實體版可以買。

諷刺的是,在蕭邦的年代要聽到音樂超難,但是樂譜卻可以流傳兩世紀。反觀現代的串流平台,隨手點兩下就能播放的節目,過了十年後可能比絕版唱片更難找到2這都要感謝 DRM 的保護

這就是為什麼即使我覺得《黑白大廚》有點好看,也懶得寫文章討論它。再加上,它好看歸好看,它終究不是那種讓我多年後還會記得、想要反覆回味的經典。大概不用幾個月,我就會忘記誰贏了,也不太可能想要二刷。3

雖然寫 blog 是要記錄「當下的生活」,但我還是希望它盡量能 timeless(禁得起時間考驗)一些,不要只是寫當下流行的話題。畢竟這裡又不是社群媒體,沒有演算法需要討好,也不用追求貼文後幾小時內的流量高峰。

蕭邦:「你想太多,笑死」

至於那篇舒曼評論文,蕭邦本人在發表幾天後也看到了。蕭邦寫了一封信跟朋友說4

"I received a few days ago a ten-page review from a German in Kassel who is full of enthusiasm for the variations. After a long-winded preface he proceeds to analyze them bar by bar, explaining that they are not ordinary variations but a fantastic tableau."

(前幾天一個德國人從卡塞爾寄了十頁評論給我,對我的變奏曲讚不絕口。他囉嗦了一堆之後開始逐小節分析,說這不是一般的變奏曲,而是「幻想畫面」(?)。)

"In the second variation he says that Don Giovanni runs around with Leporello; in the third he kisses Zerlina while Massetto's rage is pictured in the left hand—and in the fifth bar of the Adagio he declares that Don Giovanni kisses Zerlina on the D-flat... I could die of laughing at this German's imagination."

(第二段變奏,他說是唐喬凡尼跟雷波雷洛在跑步;第三段是唐喬凡尼親澤琳娜,左手是馬塞托的怒火;慢板第五小節,唐喬凡尼在 Db 音的時候親吻澤琳娜……拜託,想像力也太豐富,我快笑死。)

(舒曼和蕭邦寫這個的時候都才 21 歲。)

你看連舒曼的「過度腦補文」和蕭邦的「笑死」回應都活了將近兩百年。而我們現在在 Threads 上發的「笑死」留言呢?一旦平台關閉後,就真的死了。

說了半天要寫 timeless 的東西,結果最後你看到的還是一篇《黑白大廚》的心得文──我的心得就是「好看,但沒有好看到值得寫心得文」。而且文章中還提到了一堆像是「Netflix」、「Threads」、「演算法」這些兩百年後一定沒人知道是什麼的過氣詞彙。真是笑死。

Footnotes

  1. https://musiclib-exhibits.library.yale.edu/exhibits/chopin/schumann_zeitschrift.html

  2. 至少絕版唱片還有人會傳到 YouTube。

  3. 那什麼才值得寫?大概就是那種過了多年後還能在心裡佔一席之地的吧。像是《幸運☆星》、《蜂蜜幸運草》、《搖曳露營》、《月姬》、《Persona 4》、《Persona 5》對我來說都是這樣的存在。這些作品只要一提到名字,腦中就會自動播放畫面和音樂,湧上懷念的感覺。

  4. https://www.jstor.org/stable/44862488

女神海鹽

· 閱讀時間約 2 分鐘

打開廚房的櫃子,看到裡面有一包台鹽高級精鹽,沒人會抱著它,到 Instagram 發限動說:「天啊,是鹽!人生第一次摸到鹽耶,已哭 😭」

但在兩千年前,這樣的反應才是合理的:

  • 根據 TastingTable.com 的文章,鹽在古時候超級難取得,價值是高到可以跟黃金等重量交換的。
  • Wikipedia 也提到,鹽曾經是一種高價值貨幣,以前羅馬士兵的薪水可能就是用鹽發的,這也是「salary」這個字的由來(雖然歷史學家對此有爭議,但我們暫時當作是這樣吧)。

現在呢?鹽的功能完全沒有變,一樣可以調味、保存食物,跟兩千年前的味道應該也差不多。但現在的鹽一公斤一包只要 20 塊台幣不到,你可以盡情地用它來醃肉、瘋狂灑在薯條上,或是耍任性直接整包倒進浴缸泡澡也沒關係,怎麼浪費都完全不會心痛。

一旦大腦意識到「這東西可以低成本地大量生產」,就足以讓價值感瞬間歸零。鹽並沒有變得不好用,但我們對它的感受徹底改變了。

如果想在 2026 年賣鹽,必須給它一個故事。比如說,告訴大家這是取自「冰島西峽灣環境保護區」的「女神海鹽」,含有「北極海微量礦物質」。突然間,這包鹽就不再只是一包鹽,而是一種生活態度了。

我相信在 AI 生成內容如廉價鹽氾濫的時代,我們這些「用愛灌溉、沒銅臭味、不求完美、充滿怪癖」的個人部落格,將會變成人人想收藏、忍不住打卡炫耀的女神海鹽!

說不定未來哪天,有人會看著我們的 blog 說:「天啊,是真人寫的文章!人生第一次看到手工部落格耶,已哭 😭……」

(一月份的首屆 BlogBlog 同樂會剩下最後 10 天,一起來當女神海鹽、拯救世界!)

預言:2027 年的發文流程

· 閱讀時間約 1 分鐘
  1. 輸入主題:20 個字以內,或從「為您推薦的話題」選擇一個
  2. 選擇內容調性:友善╱權威╱質感╱爭議
  3. 選擇視覺呈現:虛擬人物╱文字動畫╱從我的照片生成(訂閱 Premium 以解鎖)
  4. 選擇配音角色:溫柔小姊姊╱磁性男低音╱從我的聲音生成(訂閱 Premium 以解鎖)
  5. 智能配樂:啟用╱關閉
  6. 預覽內容:確定╱重新生成(本月免費額度已用完)
  7. 加購 AI 機器人互動:100 愛心 + 10 留言(0.99 美金)╱略過
  8. 加購觀看數字:500 觀看數(0.99 美金)╱略過
  9. 最終確認:確認發佈,我已詳閱並同意承擔因此 AI 生成內容所引發的名譽損害、智慧財產權侵害、隱私權侵犯、不實陳述及其他所有可能的法律責任╱取消發佈
  10. 發佈完成:恭喜,您現在是個「內容創作者」了!

創作,在 2027 年,就是這麼輕鬆簡單!

「注意到」的感動

· 閱讀時間約 4 分鐘
BlogBlog 同樂會!

這是我的「BlogBlog 同樂會 - 2026 年 1 月」的投稿文章(之三),本月的主題是「推坑」。如果你有自己的部落格(或正打算弄一個),歡迎一起來參加!

日更部落格大概一年半了,我發現自己學到最多的不是寫作技巧,而是更懂得去「注意到事情」。

如果只是為了生存,人其實不需要活得太清醒。每天起床、工作、吃飯、睡覺,頭腦放空空,麻木地過每一天,日子也能就這樣過去。但寫 blog 這件事,會逼迫你多花一點點力氣去留意每個生活的小瞬間。

腦中常常有閃過的想法,各種覺得好笑、好玩、荒謬、討厭的事情;許多小事在一般情況下根本不會特別說出口,但因為有這個 blog,有些就被永遠留下來了。

然後寫完之後,也許還可以被別人看到、得到一些共鳴?太划算了吧!

小事也是一回事

我在 2008 年的第一篇 blog 提到了《幸運☆星》這個動畫。它的劇情日常到了極致,第一集才剛開始,主角群竟然就花了整整五分鐘,極其認真地探討「螺旋狀的巧克力麵包到底該從頭吃,還是從尾巴吃」;甚至更重要的問題──究竟細的那端是頭,還是粗的那端?

(所以到底應該從哪端開始吃?)

許多人可能會覺得這劇本根本有病吧,完全看不下去。但不知為何我看這種東西,總是覺得超級溫馨、感動,甚至很容易看到眼眶泛淚。

(除了《幸運☆星》以外,《冰菓》和《搖曳露營△》也是很容易看到泛淚的日常系動畫)

大概就是被那種「把小事認真當作一回事」的生活態度打動了吧。和好朋友花五分鐘研究巧克力麵包該怎麼吃,過程中沒有一個人拿出手機亂滑,那種認真感受日常生活的浪漫,不覺得很迷人嗎?

我愛不釋手的兩個「日常系」blog

最近超級喜歡的兩個 blog,對我來說也有同樣的魔力。

Noa 寫過她怕被電梯門夾到,一定要等門關上後重新按鈕才願意進去;在颱風天看到吃湯麵的客人在吸青江菜,青江菜隨風亂飛,在現場拼命忍笑之後,回家後把它畫下來;用左手龜速寫完整整三張稿紙的部落格文章,右手中途還亂入稱讚左手字很美(?)。每次看 Noa 寫這些生活點滴,我都會忍不住想:「天啊這人的生活也過得太閒太可愛、太浪漫了吧!」

只贏寫她傳簡訊給即將要跑半馬的伴侶:「接下來的路,就靠自己了喔。」然後自己被自己傳出去的話感動到不行。這種幽默又帶點自戀的瞬間,如果沒有被細心「注意到」並捕捉下來,絕對不到三秒就隨著馬拉松的汗水蒸發掉了。

別只是默默滑過

就像只贏說的「說出喜歡,就是一場溫暖的革命」──當你被某個作品打動,千萬不要只是默默滑過、按個愛心,而是該毫不吝嗇地讓作者知道「我看見你了」。所以我決定要在這裡當個瘋狂粉絲,把對這兩個 blog 的愛說出來!不然萬一哪天她們突然覺得沒人在看就不寫了,該怎麼辦?

其實寫到這裡我也不太確定這篇的重點是什麼,但「沒有重點」不正是「注意到小事」的精隨嗎?不然的話,你們就把這篇當作 Noa's Blog只贏的推坑文好了!快把它們加入你的 RSS 訂閱清單!

(註:我在現實生活中並不認識 Noa 和只贏。如果認識的話,可能就會因為太尷尬而寫不出這麼肉麻的話了。)

社子島憩遊(Chill)

· 閱讀時間約 2 分鐘

今天我跟檸檬卷難得兩個人都整天沒課,於是早上決定跑步去社子島。

我們是先騎 YouBike 到大稻埕碼頭,然後再跑堤外道往社子島。距離其實沒很遠,大概 8K 左右而已,對檸檬卷這種剛跑完渣打馬 11K 組的人來說可是輕鬆的咧!

抵達後,在社子島河岸的一個小小公園「憩遊」(Chill──對,這是我今天發明的字)。

公園空無一人,完全可以倒在那裡睡覺:

原本想在附近逛逛找早餐吃的,但發現好像沒有太多選項。而且老實說除了河岸邊之外,社子島的街道其實不太好散步,街景不是很美,除非你特別喜歡鐵皮屋啦。

但在一片鐵皮屋海當中,還是發現了一個稍微好看的傳統建築。

走著走著發現一個公車站,我們果斷放棄散步,決定搭 536 到士林吃東西。吃了捷運士林站旁邊的水煎包(好吃)和 CAFE!N 的酪梨捲餅(也好吃)!

回家後一口氣把〈黑白大廚〉的最後幾集 binge-watch 完(還真的滿好看),然後又再去吃了韓式烤肉(怕你們太羨慕就不放照片了)!

放假好爽喔!不過今天還是有跑到步,以及寫了部落格,我生活很自律吧!

這是 AI 音樂嗎?

· 閱讀時間約 4 分鐘

前幾天線上音樂公司 Bandcamp 貼出了標題為 Keeping Bandcamp Human 的公告。

其中關於 AI 音樂的政策,在網路上獲得不少好評。它提出了兩點規定:

  • Music and audio that is generated wholly or in substantial part by AI is not permitted on Bandcamp. (任何「完全」或「主要」由 AI 生成的音樂,都不能在 Bandcamp 上架。)
  • Any use of AI tools to impersonate other artists or styles is strictly prohibited in accordance with our existing policies prohibiting impersonation and intellectual property infringement.(用 AI 工具去模仿其他藝人或風格,是違反我們的反冒充和侵權政策的,一律禁止。)

AI 音樂為什麼難以編輯?

Bandcamp 之所以能畫出這條「AI╱非 AI」的線,甚至覺得自己有辦法執行這個政策,是因為目前 AI 產生的音樂都是音訊(Audio)檔案,而不是音符資訊(像是 MIDI 或樂譜)。

想像目前的 AI 生成音樂,就像是早餐店給你一個已經做好的蛋餅(音訊檔案),而不是給你雞蛋、餅皮和蔥花(MIDI╱樂譜)。你如果覺得這蛋餅太鹹,也沒辦法把鹽巴挑出來,只能退貨叫廚房(AI)再重做一個,然後祈禱下一個蛋餅會更好。

一般人能用 ChatGPT 幫忙寫文章,是因為看得懂文字,而且可以輕易修改它的輸出;AI 生成的圖片,大家也都看得懂,稍微會用影像處理軟體也能做簡單的修改。

但 AI 生成的音訊檔案就不是這樣了。對外行人來說,「把這旋律留下來,但配成另一個和弦」這種選項是不存在的。如果不懂製作、不會樂理、不能演奏樂器,對於 AI 音樂就只能選擇「全盤接受」或「重跑一次」,沒有太多中間的選項。1

到底什麼才算「AI 音樂」?

接下來,來幾個思想實驗:

  • 如果 AI 生成的是「MIDI 檔案」,然後我自己挑選音色、自己混音輸出呢?這是 AI 音樂嗎?
  • 如果 AI 生成的是「樂譜」,然後我自己用鋼琴彈出來呢?這是 AI 音樂嗎?
  • 如果我聽了 AI 生成的音訊,把它的旋律與和聲用耳朵抓下來,只少少修改了幾個不喜歡的音,然後自己重新演奏。這是 AI 音樂嗎?
  • 如果我自己寫好旋律跟和弦,接著叫 AI 改寫成某知名作曲家的風格,然後按照 AI 輸出自己重新演奏一次。這是 AI 音樂嗎?
  • 如果我用自己的 100 首作品訓練 AI,然後叫 AI 模仿我自己的風格。這是 AI 音樂嗎?

做個「有音樂能力的 AI 使用者」

我到底想說什麼?就是雖然大家都有 AI 工具,但只要有紮實的音樂能力,還是能做出那些「光按按鈕的人」做不到的事。真正的音樂人可以把 AI 當成「超強的靈感工具」使用,而外行人只能把它當「自動點唱機」。

其實 Bandcamp 的「反 AI」政策,搞不好反而更加保護了「有音樂能力的 AI 使用者」。因為只要你能把 AI 生成的東西「消化吸收」後重製,它就不再是「AI 音樂」了。這就像是考試的時候老師說「可以用計算機,但不能直接抄解答」一樣。

這可能是音樂人「目前」對 AI 音樂還不需要太絕望的原因,因為我們還是有技術優勢在的。重點就像是昨天的文章說的,把自己的角色從可替換的「編曲軟體操作員」變成不可或缺的「聲音藝術總監」,讓 AI 成為你的血汗員工吧!

(如果不想一輩子聽 AI 的安排,歡迎來上好和弦的《即興幼幼班 + 鋼琴技巧急診室》課程,獲得紮實的即興和鍵盤技巧!讓你有能力把 AI 的輸出轉化成「你的作品」!)

Footnotes

  1. 我知道你可以把音訊檔案拆成更細的分軌。但同樣地,如果是外行人,就算拿到這些分軌,能做的事情還是不多。

寫給你的

· 閱讀時間約 1 分鐘

兩千多年前,古希臘哲學家伊比鳩魯(Epicurus)寫過一句話給他的朋友:

"I write this not for the many, but for you; each of us is enough of an audience for the other." 1

(我寫這些不是給大眾看的,而是給你看的;我們彼此有對方這個觀眾,就夠了。)

這個 blog 也是這樣,我是寫給「你」看的;如果是「你」的話,一定懂我這篇是在說「你」吧!

如果你現在正在想「Wiwi 該不會是在說我吧」,不要懷疑,我就是在說你!

歡迎對號入座! 🤣

Footnotes

  1. 出處:https://en.wikisource.org/wiki/Moral_letters_to_Lucilius/Letter_7

我是一個障礙

· 閱讀時間約 2 分鐘

最近在玩 Suno AI 的新版音樂生成模型,真的不得不承認,它強到讓人有點絕望。玩著玩著,也一直在思考關於 AI 生成音樂這件事。

然後,我突然意識到一個讓人不太舒服的事實──在許多情況下,我其實是一個障礙。

你想想看喔,假設有一部電影需要配樂,導演來委託我作曲,他真正想要的是什麼?他是因為擔心我下個月繳不出房租,所以特地來給我這個工作機會嗎?當然不是嘛!他只是需要跨過「這部片還沒有配樂」的這道障礙,而我正好是能幫助他跨越障礙的手段。

如果把「完成一部電影」當作終點,那麼作曲家、演員、攝影師、剪輯師、燈光師,甚至連導演自己,在某種程度上都是「如果能省去會更好」的障礙。

最理想的狀況應該是「我頭腦中有個畫面 → 電影直接按照想像的樣子出現 → 觀眾馬上看得到」。中間所有的步驟,其實都只是「不得不處理的障礙」。

這想法聽起來有點悲傷嗎?但換個角度想,它其實也在告訴我們該往哪裡走。

既然我們只是「完成一件大事中間步驟的一個節點」,那我們一定要體認到:在更上游的人眼中,我們可能只是一個障礙,他們絕對會想盡辦法消除我們;不是出於惡意,只是這樣更有效率。目前我們之所以還存在,只是因為科技還不夠進步。

如果只想做好自己「被精細分工切碎的份內工作」,其他事都不想管的話,那麼等到自己這個步驟的障礙被消除了,職業生涯大概也就到此為止了。

唯一的解法可能是往整個系統的上游移動──讓自己成為一件事情「真正的重點」,而非只是別人的「清除障礙工具人」。

可是,上游的最盡頭是哪裡呢?是「有想法的人」嗎?但如果 AI 以後也開始「有想法」呢?那也許更上游是「有怪異想法的人」?我也還沒有答案。

不過至少在這個 blog 裡,我應該已經站在最上游了。就算我所有的「障礙清除工作」都被 AI 取代,我依然會在這裡寫 blog。畢竟我的廢文就是這裡唯一的重點,無須經過中間障礙,從我的大腦直達你的視網膜。

幫我

· 閱讀時間約 2 分鐘

不曉得從什麼時候開始,台灣人開始愛上說「幫我」。

  • 🛒 在超市結帳時,店員說:「麻煩『幫我』在這邊排隊。」(是我要排隊結帳的耶!)
  • 👨‍🍳 在餐廳,服務生說:「兩位有訂位嗎?『幫我』坐這邊。麻煩『幫我』掃 QR Code 點餐喔!」(不是我自己在幫自己點餐的嗎?)
  • 📋 在銀行櫃台,行員說:「麻煩『幫我』填一下這張表格。」(原來我不是在幫自己填表?)
  • 🩺 甚至,在醫院檢查時,護理師也說:「來,『幫我』深呼吸喔!」(原來現在還可以幫別人呼吸!我都不知道!)

「幫我」的語意完全顛倒了。以前「幫我買咖啡」的意思是「我想喝咖啡,你去買給我」;現在怎麼變成了「你想喝咖啡,你自己幫自己買」?

「幫我」演化成了一種台灣特有的「微情勒:我並沒有要強迫你,我只是在請求你的「幫忙」;如果你不照我說的做,你就是一個「不幫忙」的人,你心腸怎麼這麼壞!

我非常確定,在我小時候是沒人這樣講話的。這絕對是最近十年才開始流行起來的語言病毒,不曉得是誰帶壞大家發明的,然後就這樣傳染開來了。

很快地,我們就會聽到搶匪衝進銀行裡大喊:「所有人『幫我』把手舉高!你,『幫我』把錢塞進袋子裡!」然後櫃台小姐會回應:「是的搶匪先生,請『幫我』等一下!」