VGSの波形メモリ音源とはまた別のソフトウェアシンセサイザを作ってみたくなったので、基礎的な仕組みについて考えた内容をメモっておきます。
上記はその新音源の波形生成ルーチンです。
波形データをメモリに持つ仕組みではなく、関数で求める形。
サイン波、矩形波、ノコギリ波の3つ。
2πで1Hzということになります。
【音程算出】
サンプリング周波数44100Hzで音程周波数440Hz(ラ)を出す場合、
2π ÷ (44100 ÷ 440)
で、radの増分が求まるという感じです。
だいたい0.063ぐらいかな。
(そして、radのカーソルをチャネル毎に持たせる)
それを毎回計算すると処理性能が悪くなってしまうので、音程ごとの増分値をテーブルに持たせれば、性能的に良い感じになる筈です。
テーブルに持たせる増分値を求めるプログラムを作成。
上記プログラムで求めたテーブルは↓のような感じ
【波形合成】
基本波形をベースに合成波形も出力できるようにすれば、出力できる音色数は7種類。
- sin
- square
- pulse
- sin + square
- sin + pulse
- square + pulse
- sin + square + pulse
あとはノイズ1種類 + 7種それぞれとノイズの合成で15種類
2015年5月13日水曜日
登録:
コメントの投稿 (Atom)
合理的ではないものを作りたい
ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...
-
MSX版「覇邪の封印」の攻略情報を書きます。 MSX版には、パッケージに布製の地図とフィギュアが同梱されていますが、これらは単なるオマケではなく、ゲームをプレイするために必要なツールでして、説明書でもフィギュアの左足部分を現在位置に置いてプレイする旨が指示されています。実際に地図...
-
家電量販店のPCゲームパッドコーナーに行くと、軒並みWindows用のゲームパッドしか売っていません。稀に「Mac OS X対応」を謳っているゲームパッドも置いてありますが、実際に動かしてみると妙に誤動作をして更にガッカリしたりとか(経験済み)。 色々と試してみたのですが、最...
-
MSX開発の関係者を匂わせるタイトルかもしれませんが、私は全然関係ない(外野)です。 私はマイコン世代(死語)の人間ですが、実はリアルタイムでMSXは触ったことすら無いです。私が最初に触ったパソコンはPC-9801(16bit機)で、8bit機のMSXは触る機会すらありませんでし...
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。