Programming

Programming

UniFi OSコンソールのAPIを叩いてみる

操作画面がクリーンで高機能なUniFi製品ですが、(非公認ではあるものの)様々なAPIを備えているようです。うまく活用すれば、コマンドを定期実行したり、状態を定期的に収集して既に運用しているログ監視ツールと連携したりすることもできそうです。この記事ではその一端をご紹介します。
Programming

気象庁の天気予報データをもとに蓄電池の充電時間を調整する

以前の記事でニチコン蓄電池の充電時間をECHONET Lite経由で変更できることが分かったので、今回は天気予報情報をもとに充電時間を変更するプログラムを作成してみることにします。
IoT

ニチコン蓄電池の充放電時刻をプログラム経由で自動設定する

以前の記事では蓄電池の充電時間を天気に応じて調整すると光熱費低減につながることが分かりましたが、天気予報を気にして毎日設定を変更するのは現実的ではありません。ニチコンによる自動制御もあるものの、自分の家の場合まだまだ精度は高くなかったので、自分でプログラム制御できないか探ってみることにしました。
スポンサーリンク
Audio

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

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

s98player (CUI版)アップデート

前回の投稿でymfmを使ったs98playerを作りましたが、以下の部分が上手くいっていなかったので修正しました。ADPCM音源が上手く再生できていなかったS98V3の複数音源に対応していなかった例によってフォークしたymfmリポジトリのサンプル部分を更新しています。以下は、今回の修正で得た学びなど。今後実際にymfmを使ったプログラムを作るときに役に立つはず。
Music

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

前回の投稿ではS98ファイルを一回VGMファイルに変換してymfmの再現度を確認しましたが、せっかくなので直接S98ファイルを読み込んでWAVファイルに変換するものを作りました。実装する上で、fmgenとの違いも少しずつ分かってきました。
Programming

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

S98Player for iPhoneではYM2608音源のエミュレーションにはfmgenを利用させていただいているのですが、それとは異なるMAMEベースのymfmというソフトウェアがgithubに登録されたということを知りました。そこで、とりあえず簡易的にS98を再生させてその再現性を確認してみることにしました。結論としてはなかなかいいかも!です。
Programming

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

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

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

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

FaustでFM音源の実装を試す

FaustとはFaust (Functional Audio Stream)は、サウンド合成とオーディオ処理のための関数型プログラミング言語です(サイトトップページの直訳)。ウェブ上のIDEで気楽に試せるほか、そのコードをC言語などに出力できるようです。Qiitaのオーディオプログラミング言語Advent Calendar 2020という素晴らしい記事群を拝見し、何かいじってみたいなと思っていたのですが、ビジュアルプログラミング系のものよりはこういった言語の方が性に合ってそうなのと、環境構築せずにすぐにいじれそうなので、試してみることにしました。関数型言語はほとんど触ったことがないのですが。
スポンサーリンク