Repository navigation
y8mmlc v0.2.0
変更
Y8960 カートリッジの構成の変更に合わせた版で、これまでの MML ソースはそのままでは通らないことがある。 シーケンスデータの形式も変わったので、鳴らすには Y8960Sequencer v0.2.0 以降が要る(v0.1.4 では読めない)。
音源
#assignのデバイスはSSGSOPLLEXOPL2EXSCCOPMの5つになった。 番号は順に 0〜4。OPLLEX1OPLLEX2OPL2EX1OPL2EX2DCSG1DCSG2はエラーになる。DCSG は無くなった。- 番号で書いた
#assignは意味が変わる。2は OPL2EX、3は SCC、4は OPM。 - OPM を足した(チャンネル 0〜7)。
@0〜@63は OPM のプリセット音色(いまは64本とも同じ正弦波)、@128〜@191は#voiceの形式OPM・SFG・MAKOTOで作った音色。OPM の音色は、ほかの音源とは別に 32 種類まで使える。Yは$14以外に書ける。
MML
- 音量の目盛りが変わった。
@Vの 1 が 0.75 dB で、Vn は@Vの 4 × n + 67(V8は@V99、V15は@V127)。@Vで書いた曲は音量が変わる。 - SSGS の
@Vはチャンネルの音量(0〜128、線形)になり、Vとは別に掛かる。 - SCC の音量は表を通して鳴る。
@G0で表を通さずに鳴らせる。 In は定位レジスタの値(0〜255。1 が左端、128 が中央、255 が右端)になり、どの音源でも効く。リズム音のトラックにも書ける。これまでの 0〜15 で書いたIは意味が変わる。(TC)0と(FINE)0はエラーになった。- リズム音用 MML に、長さ
0(鳴らして時間を取らない)、@W、楽器ごとの音量@B@S@M@C@Hを足した。 Yで書けるレジスタが新しいカートリッジに合わせて変わった(SSGS の2組目が$10〜$1D、SSGS のチャンネルの音量と定位、OPLLEX の定位$50〜$58)。
MML ソース
#voiceは#voice <形式> @<番号>の形になった。 これまでの#voice 128 "名前", ...(32 バイト)は#voice AUDIO @128 "名前", ...と書く。形式はAUDIO・OPL・OPM・SFG・MAKOTO・OPL3。#envは#env <形式> @E<番号>の形になった。 これまでの#env 1 16,20,8,10は#env MUSICA @E1 16,20,8,10と書く。形式RAWで、MuSICA の表に無いコマと変化も書ける。- 曲の情報を書く
#title・#author・#pitchを足した。 #mixerでミキサーの音量を書ける。いまは読んで検査するだけで、シーケンスデータには入らない(警告が出る)。
y8mmld
- OPM のトラックも MML に戻す。
#voiceは形式OPL(OPM の音色は形式OPM)で書く。 - OPL3・OPNA など Y8960 に無い音源のトラックは省く(警告が出る)。
書き方の詳細は doc/mml-reference.md と doc/mml-source.md。
ファイル
| ファイル | 対象 |
|---|---|
y8mmlc-v0.2.0-windows-x64.zip |
Windows 10 以降(x64) |
y8mmlc-v0.2.0-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)には開発用の作業文書が含まれない。ビルドに要るものはすべて入っている。