夜光 MML工坊

MIDI 轉 MML

把現成的曲子變成瑪奇能演奏的樂譜

  1. 為什麼不能直接轉
  2. 操作步驟
  3. 音軌清單怎麼讀
  4. 三種採樣模式
  5. 軌數額度
  6. 匯入之後要檢查什麼
  7. 已知的限制

為什麼不能直接轉

MIDI 與 MML 表達能力差很多,這是整件事的根源:

MIDI瑪奇 MML
同時發聲一個聲部可以同時響好幾個音一軌同時只能響一個音
聲部數量16 個 channel,各自不限6 軌
樂器同一軌中途可以換一軌一個樂器,中途不能換
時間精度非常細,可以記錄真人演奏的微小誤差要落在格子上才寫得出來

所以轉換的本質是取捨:從每個瞬間好幾個音裡挑一個留下來。轉出來的東西一定比原曲少,問題只在於「少掉的是不是你在意的那些」——而那正是採樣模式在決定的事。

操作步驟

  1. 編輯器標題列點檔案
  2. 在匯入區塊選你的 .mid
  3. 檔案框會自己關掉,換成音軌清單
  4. 勾選要匯入的列,每一列各自選一種採樣模式
  5. 匯入

匯入不是取代,是追加——現有的軌不會被蓋掉。想分次匯入不同聲部,重複做幾次就好。

音軌清單怎麼讀

清單上每一列會顯示 Ch 3 · Bright Acoustic Piano 這樣的格式。兩個地方值得說明:

一列不是一個 channel

一列代表一組(MIDI 音軌, channel)的組合,不是單純照 channel 分。原因是鋼琴譜常常把左右手寫成兩個音軌卻共用同一個 channel——照 channel 合併會把左右手混在一起,採樣器要在兩隻手之間挑,採出來的東西沒辦法聽。

同樣地,也不會因為一軌中途換了樂器就把它拆開。瑪奇本來就做不到軌中途換樂器,拆了也表達不出那個變化,只會白白佔掉兩個軌位而且兩軌都半空。這種列會標上「▸ N 種音色」提醒你。

顯示的是 GM 音色名,不是軌名

這是刻意的。軌名是人打的自由文字,GM 音色是機器寫的、播放器真的會照著發聲的值。實際遇過的檔案:

檔案裡的軌名實際的 GM 音色
MIDI mainVibraphone(鐵琴)——從軌名完全看不出來
MIDI violinString Ensemble 1——軌名是錯的,那是弦樂群奏
©MidiStar(整份 12 軌都一樣)各不相同——軌名只是匯出工具的浮水印

你要靠這一列決定採樣模式(鋼琴用哪一種、貝斯用哪一種),照一個可能是錯的名字選就會選錯。檔案沒有寫音色時才退回顯示軌名。

Channel 10 是打擊組,會標「打擊」而且預設不勾。瑪奇沒有對應的鼓組,硬轉出來只會是一串莫名其妙的音高。

三種採樣模式

模式只決定一件事:同一瞬間響了好幾個音的時候,留下哪一個。

模式留下適合
旋律重視最高的音主旋律、右手、長笛、獨奏
根音重視最低的音貝斯、左手和弦的根音
旋律 + 根音兩種各跑一次,產生兩軌鋼琴編曲

兩個推論值得記住:

「旋律 + 根音」是鋼琴譜的正解。 最常見的匯入素材是鋼琴編曲,整首只有一到兩個 channel——照一對一匯入,六個瑪奇軌位會閒置四個。用這個模式,一份鋼琴 MIDI 可以變成「右手旋律、右手內聲部、左手和弦、左手根音」四軌,聽起來厚很多。

分解和弦會被正確採到

採樣規則是任何新的音進場都切斷目前那個音,不管新的音比較高還是比較低。所以錯開進場、一起放開的分解和弦(CEG)會採成 c16 e16 g2..,而不是整段都是最高的那個 G。如果規則寫成「每一段取最高音」,琶音會整個消失。

軌數額度

一次最多匯入 15 軌,而且算的是加總——「旋律 + 根音」的列一列算兩軌。超額時會顯示紅字告訴你超了幾軌,匯入鈕會停用。

提醒一次:只有前 6 個分頁會進遊戲。 匯入 15 軌是可以的,但你最後要自己決定哪六軌留下、把它們排到前面。

匯入之後要檢查什麼

  1. 先按演奏聽一遍。 採樣規則沒有「錯誤」這種狀態,採歪了不會報錯,只會聽起來怪。
  2. 看字數。 匯入的結果通常會超過 2400。超了看下一點。
  3. 需要壓字數就用工具列的「優化」。 它是整個編輯器唯一會改變聲音的功能——動的是音符長度(延音或收音),不會動到任何一個音的進場時間,所以節奏在結構上不可能被改壞。三種規則一次只能選一個,跑完會告訴你省了幾個字。
  4. 檢查樂器。 匯入不會自動選瑪奇的音色,那要你在分頁上自己挑。
  5. 調力度。 伴奏軌壓低幾格,主旋律才浮得出來。

已知的限制

還沒看過 MML 語法?先讀 瑪奇 MML 語法教學,匯入之後要手動修的時候會用到。其他問題看常見問題