-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AY/SSGです。 ハードウェアのエンベロープを現在のノートに同期させる作業を簡略化 #111
Comments
その技術を利用した簡単な例などを見ることは可能でしょうか。 |
以下はその一例です。(ファイルへのリンクは削除しました) |
なぜかその映像には音が入っておらず、目の不自由な私にはアニメーションがあったかどうかもわかりません。 それを説明していただけますか? |
気にしないでください、それは私のブラウザの問題でした。 はい、そういうことです。 |
「大きな改修になりそう」そして「常用するような機能でもない」ので、 |
コマンドだけでも考えてみるか... HSON : Hardware envelope Sync mode ON こんな感じでしょうか。 |
TAG430 にて対応しました。 |
HTON/HTOFコマンドが何をしているのか説明していただけますか? コマンド表や今回の記事でのあなたの簡単な説明は、私にはあまりわかりませんでした。 |
なるほど、わかったような気がします。 一方では、エンベロープを使って実際に音を鳴らし、一般的にはわずかに音がずれてパルス状の効果が得られますが、もう一方では、何も出力されないチャンネルにエンベロープを流すだけです。 私はそれが機能することを実際には知りませんでした。 実装していただきありがとうございます。 あとは、AY3-8910の2倍のレートで動作するYMチップのSSG部分に対応するテーブルを作成し、そのコマンドをそれらにも動作させ、ページングにリンクさせることです。 プライマリ・チャンネルにドラム、ページにハードウェア・エンベロープ・ベースを配置したとき、ハードウェア・エンベロープはトリガーされないようで、ただの矩形波になってしまいました。 |
ymチップ? |
YM2203、2608、2610のSSG部分です。 それらは統合されたYM2149Fで、片方のピンを抜いて半分にしないと2倍のクロックスピードで動くという点を除けば、AYのように動作します。 ページングに関しては、mml2vgmのページ機能を参考にしていて、チャンネルのページごとにデータを分割することができます。 現在、ハードウェアエンベロープの状態は保存されていないようです。 |
どんなmmlでしょうか? |
|
このテストでは、ハードウェアのエンベロープが2ページ目でアクティブになるはずなのに、アクティブにならないようにしました。 まるで、それらの命令を完全に無視しているかのようです。 |
なるほど。 もしこのパラメータをページ機能に対応させるとなると、 |
ああ。 虫がたくさん出るとは思いませんでした。 |
TAG431にて少し対応を入れてみました |
あと、示されたサンプルではエンベロープの種類が宣言されていないので、TAG431でもなりません。 'A1_ v15 EHT10 HSON HSO3 o4 HSTF l8 [rgrgr16g16rrg]2 こんな感じで「EHT10」を追加してください。 |
ああ、おっと。 |
うん、使える。 ありがとうございます。 あとは、SSGのチャンネルに実装するだけです。 |
OPN系でも使えるようになりました。いかがでしょうか? |
その後、本件はいかがでしょうか |
ZX SpectrumやAtari STの音楽では、オーディオレートで動作するハードウェアエンベロープを使って、再生中の音を変調し、ベースとなる新しい波形を生成するというトリックがよく使われています。 現在はmml2vgmで実現できていますが、新しい音を再生するたびに、エンベロープ・ジェネレーターの適切な周期を計算して、手動で設定しなければなりません。 ここでnは、エンベロープの周期を導き出すために、現在演奏している音の周波数に加えるべきオクターブの符号付き数です。 もしかしたら、EHSOFでキャンセルできるかもしれません。 このコマンドが有効な間は、ノートが演奏されるたびに、このオクターブオフセットがそのノートのオクターブに加えられ、その後、FNUMテーブルを参照して、ハードウェアエンベロープのための新しい周波数が得られます。 そして、音色のキーオンの直前に自動的に設定されます。 これにより、様々な形状の特徴的なAYベースを作ることができるようになります。
The text was updated successfully, but these errors were encountered: