Skip to content

y8mmlc v0.1.2

Choose a tag to compare

@madscient madscient released this 27 Sep 18:21
· 18 commits to master since this release

変更

  • シーケンスデータを MML に戻す y8mmld を足した。 y8mmld SONG.SQ で SONG.mml ができ、同じ鳴り方をする MML ソースになる。マクロ・L・連符・コメントはシーケンスデータに残らないので、音符ごとに長さを書いた MML になる。MML の長さで書けない音符はタイと休符に分けて書く。ADPCM を鳴らす曲は、隣にある同じ名前の .PC を #pcmbank に書く。書き出す先に同じ名前のファイルがあれば何もせずに止まる(--force で上書き)。使い方は README の「シーケンスデータから MML に戻す」。
  • #pcmbank が .PC(Y8PC)も読めるようになった。 そのときは .PC が持つボイスファイルの番号がそのまま使われる。#adpcm とは一緒に使えない。
  • オクターブが O0〜O9 になった。 < は O0、> は O9 で止まる。
  • N の数え方が変わった。 N0 が O1 C になった(N36 が O4 C)。範囲は N0〜N127。これまでと同じ N を書いた曲は、1オクターブ下で鳴る。
  • ソフトウェアエンベロープ @E と #env を足した。 SSGS・SCC・DCSG の音量を音符ごとに時間で動かす。書き方は doc/mml-reference.md の「ソフトウェアエンベロープ」と doc/mml-source.md の #env。
  • ソフトウェアエンベロープを使った曲を鳴らすには、それに対応した再生側(Y8960Sequencer v0.1.4 以降、または対応した版の Y8960 BASIC Extension)が要る。使っていない曲の出力は変わらない。

ファイル

ファイル 対象
y8mmlc-v0.1.2-windows-x64.zip Windows 10 以降(x64)
y8mmlc-v0.1.2-linux-x64.tar.gz Linux(x64、glibc 2.14 以降)

展開した y8mmlc と y8mmld をそのまま使う。ランタイムなどを別に入れる必要はない。macOS では README の手順でソースからビルドする。

Windows で日本語などを含むパスを扱うには、Windows 10 バージョン 1903 以降が要る。

中身

  • y8mmlc / y8mmlc.exe — コンパイラ本体
  • y8mmld / y8mmld.exe — シーケンスデータを MML に戻すもの
  • README.md — 使い方
  • doc/mml-reference.md — MML のコマンドとその意味
  • doc/mml-source.md — MML ソースファイルの書き方
  • syntaxes/y8960mml.tmLanguage.json — 構文強調の TextMate 文法
  • presets/ — ADPCM サンプル 36 本のバンク。#pcmbank でそのまま読める
  • examples/demo.mml — 例
  • MANIFEST.txt — ビルドしたコミットと、各ファイルの SHA-256
y8mmlc examples/demo.mml
y8mmld examples/DEMO.SQ -o demo_back.mml

権利

MIT License。

プリセット FM 音色は MSX-AUDIO BASIC Extension に由来する。リズム音色3本は "Copyright free OPLL(x) ROM patches"(David Viens, Hubert Lamontagne 作, CC BY-SA)による。詳しくは README の「権利」を参照。

presets/ の ADPCM サンプルは作者が自分で録音したもの。

Source code について

下の Source code(zip / tar.gz)には開発用の作業文書が含まれない。ビルドに要るものはすべて入っている。