Skip to content

Releases: madscient/Y8960SeqConverter

y8conv v0.2.0

Choose a tag to compare

@madscient madscient released this 21 Oct 16:01

Y8960 カートリッジの構成の変更と、Y8SQ 形式の変更に合わせた版。FM-BIOS(OPLLDRV)と MuSICA のドライバのプログラムを読み、写し方を元のドライバの動作に合わせた。

前の版と互換性の無い変更

  • 書き出すシーケンスデータの形式が変わった。v0.1.0 で変換したファイルは、新しい読み手では正しく鳴らない。変換し直す
    • SCC のトラックはデバイス 3 に書く
    • FM の音色は 12 バイトのレジスタイメージの形で書く
    • 音量は 1 が 0.75 dB の目盛り(Vn が 4n + 67)で書く
    • YM2413 の内蔵音色は 82 の 1-15 で選ぶ

変更

  • すべてのトラックの頭で、定位を中央にする。元の音源はモノラルなので中央で鳴らす。Y8960 の定位は曲をまたいで残るため、前に鳴らした曲が寄せた定位を毎回戻す
  • リズムの音量を、楽器ごとの通常音量(D8)にそのまま写す。v0.1.0 は 2 段階の音量に振り分けていた
  • MuSICA の SCC の音量は、Y8960 の表を通さずに書く(B3 0)。元のドライバと同じく、値をそのまま音量レジスタに書く
  • MuSICA のソフトウェアエンベロープは、元のバイトをそのまま書く。Y8960 に無い値(上位か下位が 0)だけを近い速さに寄せて警告する
  • OPLLDRV の写し方を元のドライバに合わせた
    • 拡張音色(82h)に、Y8960 のプリセットが持つ移調を掛けない
    • 82h と 83h はユーザー音色の中身を設定するだけで、選ばない(70h で選ぶ)
    • サステインは 80h で設定、81h で解除(仕様書の記述とは逆)
    • レガートの音符のあとの休符はキーに触れず、次の音符へつながる
    • Q は下位 3 ビットを使う
    • 音量と音色の初期値は、FM-BIOS が起動時に設定する値
  • 楽器を指定しないリズムの音量は何もしない(元のドライバと同じ)。MuSICA のリズムの C1h は待つだけにする
  • OPLLDRV の拡張音色の番号が 64 以上なら警告する

何が何に写るか、元と鳴り方が違うところは doc/conversion.md にある。

鳴らすには

Y8960Sequencer v0.2.0 以降で鳴る。v0.1.x では正しく鳴らない。

ファイル

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

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

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

中身

  • y8conv / y8conv.exe — 変換器本体
  • README.md — 使い方
  • doc/conversion.md — 何が何に写るか、写らないもの
  • MANIFEST.txt — ビルドしたコミットと、各ファイルの SHA-256

y8conv v0.1.0

Choose a tag to compare

@madscient madscient released this 27 Sep 18:31

最初の版。FM-BIOS の演奏ドライバ(OPLLDRV)と MuSICA の演奏データを、Y8960 BASIC Extension の CALL MSAVE が書き出すのと同じシーケンスデータ(Y8SQ)に変換する。

できること

  • MuSICA の .BGM と、OPLLDRV の演奏データを読む。BSAVE の見出しの有無は問わない
  • 時間は丸めずに写す(1/60 秒を 1 tick とし、テンポは 75 になる)。音の高さは元と同じ周波数で鳴るように写す
  • MuSICA の PSG と SCC の音色は、トーンとノイズの切り替え、波形、ソフトウェアエンベロープ(@E)に写す
  • OPLLDRV の拡張音色は、--rom-voices に ROM から吸い出した音色表を渡すと、その音色で鳴る

変換しないもの(MuSICA のビブラート・ポルタメント・デチューンなど)と、何が何に写るかは doc/conversion.md にある。

鳴らすには

MuSICA の曲はソフトウェアエンベロープとオクターブ 0 を使うことがあり、鳴らすにはそれらに対応した版の Y8960 BASIC Extension が要る。Y8960Sequencer v0.1.3 はまだ対応していない。

ファイル

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

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

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

中身

  • y8conv / y8conv.exe — 変換器本体
  • README.md — 使い方
  • doc/conversion.md — 何が何に写るか、写らないもの
  • MANIFEST.txt — ビルドしたコミットと、各ファイルの SHA-256