Repository navigation
Releases: madscient/Y8960Sequencer
Release list
v0.2.0
前の版と互換性の無い変更
- 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のチップ名はSSGSOPLLEXOPL2EXSCCOPMOPL3OPNAOPNBです。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
追加
- 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
修正
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
修正
- 同じタイミングで音の区切りと発音が重なるパートが多いとき、一部の音(特に OPLLEX / OPL2EX のリズム)が鳴らないことがあったのを直しました。同梱のエミュレータ Y8960emu を更新しています。
変更
- 上の修正に伴い、同じタイミングで重なる発音が多いときは、後ろのものの発音が最大で数 ms 遅れることがあります。
Windows 版
y8960sequencer-v0.1.2-windows-x64.zip を展開し、フォルダのまま使います。エミュレータのライブラリを同梱しています。同梱物のライセンス文は licenses/ にあります。
v0.1.1
修正
- 同じ音の高さで音符が続くとき、音の区切り(KEY OFF)が抜けることがあったのを直しました。抜け方は再生中の PC の負荷によって変わり、WAV の書き出しでも一部の区切りが抜けていました。
変更
- 再生中のブロックの音量やミュートの切り替えが、最大で割り込み1回ぶん(tick の周期が 200Hz なら 5ms)遅れて効くようになりました。
Windows 版
y8960sequencer-v0.1.1-windows-x64.zip を展開し、フォルダのまま使います。エミュレータのライブラリを同梱しています。同梱物のライセンス文は licenses/ にあります。
v0.1.0
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 と音声出力は確かめていません