FM音源

ProgrammingFM音源プラグインのUIをClaude Codeで作り直すS98Player 3.0を作る中で気づいた「当時の表現力はチップよりドライバ側にあった」という視点から、YM2151のFM音源プラグインYMulator SynthのUIを作り直した話。デモ曲つき。S98PlayerS98Player for iPhone 3.0をリリースしましたS98Player for iPhone 3.0をリリースしました。MDX(X68000)とFMP(PC-98)に対応し、S98・PMDと合わせて5形式を機種ごとの音の再現で鳴らせます。後半では、出音の回帰テストなど、Claude Codeと気軽に開発を回すための仕組みも紹介します。Programmingコードを一行も書かずにAudio Unitプラグインを2週間で完成させた話 – Claude Code実践録最近、YMulator-SynthというYM2151(OPM)FM音源のシンセサイザープロジェクトをリリースしました。このプロジェクトの特徴は、私がコードを直接書いた回数がゼロ だということです。すべてClaude Codeというツールを使...ProgrammingymfmでOPM仮想音源を制御するサンプルコードFM音源エミュレーションライブラリ「ymfm」を使って、YM2151(OPM)仮想音源チップを直接制御するサンプルコードをGitHubで公開しました。基本的なサイン波から、ステレオアルペジエーターまで、8つのデモプログラムを通じてOPMの制...S98PlayerS98Player for iPhone 2.0 リリースしました忘れた頃に発作のように更新するS98Player for iPhoneの新版 2.0をリリースしました。(2026年10月追記)次の版の3.0を2026年9月に公開しました。X68000のMDXとPC-98のFMPに対応しています。変更点は...Audiofaustの波形生成部分のコードを利用して自力で音を出す以前faustからJUCEのプラグイン向けにコードを生成してAudio Unitのプラグインを作りましたが、GUIなどはJUCE側で自由に作った方が都合が良いことも多いと思います。そこで手始めに、faustのexportで選択できる「素のソ...Audios98player (CUI版)アップデート前回の投稿でymfmを使ったs98playerを作りましたが、以下の部分が上手くいっていなかったので修正しました。ADPCM音源が上手く再生できていなかったS98V3の複数音源に対応していなかった例によってフォークしたymfmリポジトリのサ...Audioymfmを使ったs98player (CUI版)を作る前回の投稿ではS98ファイルを一回VGMファイルに変換してymfmの再現度を確認しましたが、せっかくなので直接S98ファイルを読み込んでWAVファイルに変換するものを作りました。実装する上で、fmgenとの違いも少しずつ分かってきました。ProgrammingymfmでのYM2608の再現性を確認するS98Player for iPhoneではYM2608音源のエミュレーションにはfmgenを利用させていただいているのですが、それとは異なるMAMEベースのymfmというソフトウェアがgithubに登録されたということを知りました。そこで...ProgrammingFaustで作成したFM音源を4オペ化&アルゴリズムの切替を可能にする前回の記事でJUCEでFM音源をAudioUnit化してGarageBandで音が出ることを確認しましたが、やっぱり2オペレータじゃそれっぽい音が出ないよなー、ということで、今回は4オペレータにしてアルゴリズムも切り替えられるようにしていき...