faustの波形生成部分のコードを利用して自力で音を出す

以前faustからJUCEのプラグイン向けにコードを生成してAudio Unitのプラグインを作りましたが、GUIなどはJUCE側で自由に作った方が都合が良いことも多いと思います。そこで手始めに、faustのexportで選択できる「素のソースコード」がどんなものかを見てみることにしました。

Continue reading “faustの波形生成部分のコードを利用して自力で音を出す”

s98player (CUI版)アップデート

前回の投稿でymfmを使ったs98playerを作りましたが、以下の部分が上手くいっていなかったので修正しました。

  • ADPCM音源が上手く再生できていなかった
  • S98V3の複数音源に対応していなかった

例によってフォークしたymfmリポジトリのサンプル部分を更新しています。

以下は、今回の修正で得た学びなど。今後実際にymfmを使ったプログラムを作るときに役に立つはず。

Continue reading “s98player (CUI版)アップデート”

ymfmを使ったs98player (CUI版)を作る

前回の投稿ではS98ファイルを一回VGMファイルに変換してymfmの再現度を確認しましたが、せっかくなので直接S98ファイルを読み込んでWAVファイルに変換するものを作りました。

実装する上で、fmgenとの違いも少しずつ分かってきました。

Continue reading “ymfmを使ったs98player (CUI版)を作る”

ymfmでのYM2608の再現性を確認する

S98Player for iPhoneではYM2608音源のエミュレーションにはfmgenを利用させていただいているのですが、それとは異なるMAMEベースのymfmというソフトウェアがgithubに登録されたということを知りました。

そこで、とりあえず簡易的にS98を再生させてその再現性を確認してみることにしました。結論としてはなかなかいいかも!です。

Continue reading “ymfmでのYM2608の再現性を確認する”

Faustで作成したFM音源を4オペ化&アルゴリズムの切替を可能にする

前回の記事でJUCEでFM音源をAudioUnit化してGarageBandで音が出ることを確認しましたが、やっぱり2オペレータじゃそれっぽい音が出ないよなー、ということで、今回は4オペレータにしてアルゴリズムも切り替えられるようにしていきます。

Continue reading “Faustで作成したFM音源を4オペ化&アルゴリズムの切替を可能にする”

Faustで作成したFM音源をJUCE経由でソフトシンセにする

以前の記事でFaustを使って2opのFM音源を作りましたが、周波数をスライダーを手でいじって音程が変わるというのはやっぱりちょっと寂しい…ということで、Audio Unitによるソフトウェア音源として利用できるようにします。MacであればGarageBandとかのDAWで読み込ませれば、鍵盤叩いて音を鳴らせるはず…。

Continue reading “Faustで作成したFM音源をJUCE経由でソフトシンセにする”

FaustでFM音源の実装を試す

Faustとは

Faust (Functional Audio Stream)は、サウンド合成とオーディオ処理のための関数型プログラミング言語です(サイトトップページの直訳)。ウェブ上のIDEで気楽に試せるほか、そのコードをC言語などに出力できるようです。

Qiitaのオーディオプログラミング言語Advent Calendar 2020という素晴らしい記事群を拝見し、何かいじってみたいなと思っていたのですが、ビジュアルプログラミング系のものよりはこういった言語の方が性に合ってそうなのと、環境構築せずにすぐにいじれそうなので、試してみることにしました。関数型言語はほとんど触ったことがないのですが。

Continue reading “FaustでFM音源の実装を試す”

RX-8リアルタイム情報をグラフを使ってもっと分かりやすく表示してみる

前回の動画でアイドリング時の燃費について動画にしたわけですが、アイドリング時ってことで信号待ちばかりで見ている人には退屈な動画になってしまいました^^;
そこで、きちんと走っているところを取り出して再編集。

ただ、単に再編集しても楽しくないのでグラフを一緒に載っけることにしました。これで、一瞬で数値が変わってしまうものでもいろいろ比較できます。

RX-8車載動画にリアルタイム燃費情報を表示して懐具合に思いを馳せる

というわけで、今度はRX-8の燃料消費状況をモニターして、リアルタイムの燃費情報を車載動画に重ね合わせてみました。

吹かしたときに燃料を消費するのは体感的にも理解できるのですが、信号待ちなどアイドリング時にこれほどまでに燃料を使うのかと驚きました。百聞は一見にしかず、ですね。

S98Player for iPhoneを申請してみた

S98Playerのダウンロード数から見ても明らかに需要があるとは思えないiPhone版のS98Playerですが、思うところあってAppStoreへ申請しました。

現在ステータスがWaiting for Reviewの段階です。 上のスクリーンショットでは21日に申請となっていますが、その後バグが見つかって自分で再投稿したりしていることもあり、まだ審査は始まっていません。

Mac版と比べて、

  • ファイルリストに曲名や演奏時間などが出る
  • イコライザが使える
  • ループ再生が終了する際にきちんとフェードアウトする
  • OPMも対応している
  • 複数音源を使うデータにも対応している(パン振りは対応してない)

などの点から高機能です(誰も使わないだろうけど)。バックグラウンド再生にも当然ですが対応しています。

また、内部の構造を見なおして無駄をだいぶ省いたので、使用するメモリ量も減りました。

まぁS98ファイルなんて既に巷には出回っていませんから、「S98ナニソレ?」な人には今のところ全く恩恵はないと思います。 ただ、時間に余裕ができたら(来年あたり…?)iPad向けにFM音源用のシーケンサを作ろうと思っています。その保存データをS98ファイルに書き出せれば、S98Playerも多少日の目をみることもあるかな、と。

せっかくciscさんのfmgenがiPhoneでも動くのだから、活用していろいろやってみたいところです。