輸出的是標準 MIDI 檔,裡面只有音高編號、位置和長度,沒有任何音訊。在 DAW 裡打開時,是用那條軌道指向的音源發聲——這正是重點所在:同一段樂句,看你指派什麼,可以是鋼琴、合成器主奏,也可以是一整組弦樂。
產生短樂句的 AI MIDI 產生器
指定調性、速度與聲部,就能產生一段 MIDI 樂句。可以選旋律、和弦、貝斯或分解和弦,設定好小節數之後下載,直接丟進任何 DAW 裡接著編輯。
設定調性、速度,選好要哪個聲部,然後產生。回來的是一段短的 MIDI 樂句,可以下載並用任何編輯器打開。裡面裝的是音符和時間點,不是聲音。
01
你會拿到什麼,又拿不到什麼
反過來說,它自己並不會發出任何聲音。如果你期待的是一段可以直接放進影片的成品循環,那 MIDI 這個格式就不對,這個網站的音樂產生工具才是你要的。
樂句長度是四小節、八小節或十六小節,拍號為四四拍。這是刻意的限制:這裡做出來的是用來循環、移調和修改的積木,不是編排完成的作品。要語言模型生出一整首歌的結構,結果的完整度會比生一段短樂句差得多。
02
怎麼選聲部
旋律大致是一次一個音,也就是你會唱出來或用單音彈出來的那種線條。和弦會把音疊在一起,適合當作鋪在別的東西底下的和聲底。貝斯待在低音域,傾向在強拍上放比較長的音。分解和弦則把一個和弦拆成固定的細分,是四者中最密的,最適合在音少的旋律底下製造流動感。
實際用起來,建議一次只做一個聲部,而不是一口氣全要。先產生和弦,聽聽它往哪裡走,再用同樣的調性和速度產生旋律,看看疊上去合不合。分兩次要,你會得到兩條可以各自對齊和編輯的軌道;一次全要,你拿到的是一條得自己動手拆開的軌道。
如果你要的是特定的和弦配置或特定的形狀,就寫在補充指示的欄位裡。像是「從五度開始」、「第三拍留白」這種具體要求,對結果的影響比換一個曲風來得確實。
03
對結果該有的預期
用語言模型產生音符,強項是不跑調和做出說得通的節奏,弱項是長距離的結構。在四小節或八小節之內,這通常夠用。拉到十六小節,比較常拿到的是一段在漂移而不是在發展的東西——這就是建議從短的開始的主要原因。
請抱著要動手修的心態使用。最常見的兩種修法,是把一兩個擺得不太對的音挪一下,以及把最後一個音修短讓樂句循環得乾淨。這兩件事在鋼琴捲軸上都是幾秒鐘的工,也都不代表這次產生失敗了。
即使設定完全一樣,每次的結果也會不同。這是優點而不是缺陷:產生三次挑最好的一次,通常比試著用文字精確描述你要什麼來得快。
04
音符是怎麼處理的
音符是以拍而不是以秒來要的,因為叫模型自己去乘速度,是一種穩定把時間算錯的方法。換算成秒這一步放在後面,等到要寫出 MIDI 檔的時候才做。
模型的輸出會被檢查,而不是直接採信。超出 MIDI 音域的音高會被夾回範圍內而不是丟掉;起點落在最後一小節之後的音會被捨棄;跨過結尾的音會被裁到結尾。長度數值壞掉時,會退回成一拍,而不是把模型顯然想放的那個音弄丟;短到聽不見的音則會移除,因為它們只會把鋼琴捲軸弄亂。
你設定的速度會寫進檔案的標頭,所以匯入時小節線會對齊。音符本身並不依賴這個值——之後改專案速度,樂句會照你預期的那樣跟著伸縮。
05
大家拿產生的 MIDI 做什麼
最常見的理由是打破空白頁。在你正在做的調性上有一段樂句冒出來,你就有東西可以反應,而反應通常比從零開始容易。多數人會留下一個片段,其餘重寫。
製作人會用它來處理自己樂器以外的聲部。不習慣用鍵盤思考和弦配置的吉他手,可以產生一層和弦底;和弦寫得順但卡在貝斯的人,可以先產生一條線再把它簡化。
在學理論的人把它當作例題:在某個調性產生一段進行,看它用了哪些級數,再跟自己原本的預期對照。因為輸出的是音符而不是音訊,答案是直接看得到的,不必先把它聽寫下來。
如果你手上有的是音訊而不是文字描述,這個網站的音訊轉 MIDI 工具會把既有的錄音轉成譜。當你已經知道這個聲部該怎麼走的時候,那條路更短。
06
常見問題
檔案裡有聲音嗎?
沒有。MIDI 檔只裝音符和時間點。它是透過你的 DAW 指派給那條軌道的音源發聲的,所以同一段樂句可以是鋼琴,也可以是合成器。
為什麼需要登入?
每產生一次,我們這邊就要花掉一次模型請求。要求登入可以避免這件事被匿名地大量使用。
同樣的設定為什麼每次結果都不一樣?
因為產生過程不是決定性的。這在這裡反而有用:跑三次挑最好的,通常比試著把你要的東西精確描述出來還快。
可以產生一整首歌嗎?
不行,而且這是刻意的。四到十六小節是這個做法撐得住的範圍。要求更長的,結果會漂移而不是發展,所以請分聲部產生,編排的部分自己來。
可以產生鼓嗎?
目前還不行。MIDI 裡的打擊樂靠的是鼓組對應表而不是音高,和旋律類聲部需要不同的處理方式。
補充指示那一欄有什麼作用?
它會被附加在請求後面。具體的音樂指示最有效,例如起始音程、要避開的節奏、音域。含糊的形容詞,影響力還不如現成的曲風和情緒選項。
速度該設多少?
設成你專案現在的速度。這個值會寫進檔案標頭,匯入時小節線才對得上;音符本身是以拍定位的,所以之後改速度,樂句會正確地跟著伸縮。