Skip to content

Releases: madscient/Y8960Sequencer

v0.2.0

Choose a tag to compare

@madscient madscient released this 21 Oct 15:13

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

  • Y8960 カートリッジの構成の変更に合わせ、音源ブロックのデバイス番号を SSGS 0、OPLLEX 1、OPL2EX 2、SCC 3、OPM 4 にしました。前の番号で書かれたシーケンスは、正しい音源で鳴りません。DCSG は無くなりました。
  • FM の音色は、12 バイトのレジスタイメージの形だけを読みます。32 バイトの形の音色を持つシーケンスは読めません。
  • 音量は、1 が 0.75 dB の目盛り(Vn が 4n + 67)として読みます。8n + 7 の目盛りで書かれたシーケンスは、V15 以外が本来より小さく鳴ります。
  • --mute のチップ名は SSGS OPLLEX OPL2EX SCC OPM OPL3 OPNA OPNB です。OPLLEX1 などの前の名前は使えません。
  • GUI の音量のレバーは、dB の目盛りから、CALL MIXER と同じ 0-128 の目盛りに変わりました。右クリックで 128 に戻ります。

追加

  • OPM を鳴らせるようになりました。
  • Y8SQ 形式の OPL3・OPNA・OPNB を鳴らせるようになりました。OPNB は YM2610B(FM 6 チャンネル)として鳴らします。OPNA のリズムと OPNB の ADPCM-A は鳴りません。
  • コマンドラインに --mixer を足しました。値の意味は CALL MIXER と同じで、<マスター>,<SSGS>,<OPLLEX>,<OPL2EX>,<SCC>,<OPM> の6つを 0-128 で書きます。
  • GUI に、全体の音量を変える Master のレバーを足しました。
  • OPLLEX・OPL2EX・SCC で、定位が効くようになりました。SSGS の定位は、Y8960 の新しい定位レジスタに合わせて 0-255 で効きます。
  • SSGS のチャンネルごとの音量(@V)が効くようになりました。
  • リズムの楽器ごとの音量(@B @S @M @C @H)が効くようになりました。
  • シーケンスデータのメタ情報を使うようになりました。マスターピッチとマスターボリュームが音に効き、タイトルと作者名をコマンドラインと GUI に出します。

変更

  • 同梱するエミュレータを DSAemuEngine と YMEngine の2つにしました。これに伴い、前の版と音の大きさが変わっています。
  • SCC の音量を、Y8960 BASIC Extension と同じ表で直してから書くようになりました。
  • ソフトウェアエンベロープは、キーを押した瞬間と離した瞬間に1コマ目を数えるようになりました(Y8960 BASIC Extension と同じ)。
  • licenses/ に、OPLLEX のプリセット音色の出典を入れました。

Windows 版

y8960sequencer-v0.2.0-windows-x64.zip を展開し、フォルダのまま使います。エミュレータのライブラリを同梱しています。同梱物のライセンス文は licenses/ にあります。

v0.1.4

Choose a tag to compare

@madscient madscient released this 27 Sep 18:23

追加

  • SSGS・DCSG・SCC で、ソフトウェアエンベロープ(MML の @E)が効くようになりました。
  • OPLLEX・OPL2EX で、O0 の C から F+ までの音が鳴るようになりました(これまでは鳴りませんでした)。
  • GUI にプレイリストを付けました。ウィンドウの右に出て、Hide playlist で隠せます。
    • ファイルやフォルダをウィンドウに落とすと、プレイリストを作り直してすぐに鳴らします。プレイリストの上に落とすと後ろに足します。
    • フォルダを落とすと、その直下の .sq ファイルを名前の順に並べます。
    • Y8PC 形式のファイルを落とすと、ADPCM サンプルファイルとして読みます。
    • シャッフル・リピート・前・再生と一時停止・次のボタンがあり、キーボードの近道は Windows Media Player と同じです(Ctrl+P / S / B / F / H / T / O)。
    • ダブルクリックか Enter で再生、Delete で削除、ドラッグで並べ替えができます。
  • GUI の音源ブロックごとのレベルメーターの左に、音量のレバーを付けました。-40 dB(一番下は無音)から +6 dB まで変えられ、右クリックで 0 dB に戻ります。

変更

  • GUI の繰り返し回数(Loops)は、曲をその回数だけ鳴らしたあと 5 秒でフェードアウトし、プレイリストの次の曲へ進むようになりました。0 にすると曲は終わらず、次へ進みません。コマンドラインの --repeat は変わりません。
  • GUI の Open... で開いた曲は、すぐに鳴るようになりました。

Windows 版

y8960sequencer-v0.1.4-windows-x64.zip を展開し、フォルダのまま使います。エミュレータのライブラリを同梱しています。同梱物のライセンス文は licenses/ にあります。

v0.1.3

Choose a tag to compare

@madscient madscient released this 25 Sep 06:51

修正

  • Q が 8 未満のとき、&(タイ/レガート)と数値の無い ~(ポルタメント)で前の音符とつながらず、次の音符が鳴り直していたのを直しました。& や ~ の前の音符は Q に関係なく音長いっぱい鳴り、Q はつないだ最後の音符に、その音符自身の長さに対して効きます。
  • OPL2EX で、音色の波形選択(サイン以外の波形)が効くようにしました。同梱のエミュレータ Y8960emu を更新しています。

追加

  • 臨時記号でオクターブをまたぐ音符(MML の C- と B+)を鳴らせるようになりました。O4C- は O3 の B、O4B+ は O5 の C で鳴り、次の音符は元のオクターブに戻ります。これを使うには、この音符を出力する版のコンパイラが要ります。

変更

  • (DC) と (FINE) で曲の頭へ戻るとき、全パートの音をそこで止めなくなりました。頭の最初の音符か休符が前の音を止めます。頭が @W で始まるパートは、前の周の最後の音が鳴ったまま次の周に入ります。繰り返しを使い切って演奏が終わるときは、これまでどおり全パートが止まります。

Windows 版

y8960sequencer-v0.1.3-windows-x64.zip を展開し、フォルダのまま使います。エミュレータのライブラリを同梱しています。同梱物のライセンス文は licenses/ にあります。

v0.1.2

Choose a tag to compare

@madscient madscient released this 19 Sep 18:09

修正

  • 同じタイミングで音の区切りと発音が重なるパートが多いとき、一部の音(特に OPLLEX / OPL2EX のリズム)が鳴らないことがあったのを直しました。同梱のエミュレータ Y8960emu を更新しています。

変更

  • 上の修正に伴い、同じタイミングで重なる発音が多いときは、後ろのものの発音が最大で数 ms 遅れることがあります。

Windows 版

y8960sequencer-v0.1.2-windows-x64.zip を展開し、フォルダのまま使います。エミュレータのライブラリを同梱しています。同梱物のライセンス文は licenses/ にあります。

v0.1.1

Choose a tag to compare

@madscient madscient released this 19 Sep 13:53

修正

  • 同じ音の高さで音符が続くとき、音の区切り(KEY OFF)が抜けることがあったのを直しました。抜け方は再生中の PC の負荷によって変わり、WAV の書き出しでも一部の区切りが抜けていました。

変更

  • 再生中のブロックの音量やミュートの切り替えが、最大で割り込み1回ぶん(tick の周期が 200Hz なら 5ms)遅れて効くようになりました。

Windows 版

y8960sequencer-v0.1.1-windows-x64.zip を展開し、フォルダのまま使います。エミュレータのライブラリを同梱しています。同梱物のライセンス文は licenses/ にあります。

v0.1.0

Choose a tag to compare

@madscient madscient released this 19 Sep 12:42

Y8960 BASIC Extension の CALL MSAVE が書き出すシーケンスデータを、音源チップのエミュレータで鳴らすスタンドアローンのプレイヤーの最初の版です。

できること

  • シーケンスデータ(Y8SQ、BSAVE の見出しの有無は自動判別)の再生
  • --adpcm で渡す Y8PC 形式の ADPCM サンプル
  • 音源: SSGS、OPLLEX ×2、OPL2EX ×2(リズム・ADPCM を含む)、DCSG ×2、SCC
  • コマンドライン y8960player: tick の周期(--tick)、繰り返し回数(--repeat)、チップ・チャンネル・トラック単位のミュート(--mute)、WAV の書き出し(--wav)
  • GUI y8960gui: 再生・停止、音源ブロックごと・チャンネルごとのレベルメーター、チップ・チャンネル単位のミュート、ファイルのドロップ

使い方は同梱の README.md にあります。

Windows 版

y8960sequencer-v0.1.0-windows-x64.zip を展開し、フォルダのまま使います。エミュレータのライブラリ(Y8960emu、EPSGemuEngine、DSAemuEngine)を同梱しています。ほかに入れるものはありません。同梱物のライセンス文は licenses/ にあります。

Linux と macOS は、ソースからビルドしてください。

制限

  • ブロックごとの音量の指定(MIXER に相当するもの)はありません
  • 全体の音程のずらし(MTUNE に相当するもの)は 0(440.0Hz)に固定です
  • macOS では動作を確かめていません。Linux ではビルドと WAV の書き出しまでを確かめており、GUI と音声出力は確かめていません