カラーチェッカーを作ってみる

サイトのGAMES内にカラーチェッカーを追加しました。
あとせっかく作ったのでitch.ioのLFCheckPlayerへのリンクも追加。

カラーチェッカーはよくあるRGB値を入力して色を確認するアレです。アレなのですが、RGBを100段階で入力できるものがぱっと出てこなかったので作ってみました。
ゲームでColor(0.9, 0.5, 0.3, 1.0)とか入力するときにカラーコードがどうだっかと確認するのが割と手間だったりするんですよね。
確認しやすいように0~255の色指定と0~100の色指定をまとめてみたのがこちらになります。

ついでにW3C日本語訳)が定めている背景色と前景色のコントラスト比も出るようにしています。
読みやすい文字の基準として、背景色と文字色のコントラスト比が4.5:1以上であることが望ましいとのことです。文字が大きい場合は3:1以上。
配色の補助として使える値かと思います。


作るにあたって久しぶりにHTMLとjavascriptに多めに触れることになりましたが、カラーピッカーがブラウザ標準で付いていることをこのタイミングで知りました。
スマートフォンは勿論FirefoxとChromeでもカラーピッカーのUIが全く違って個性が出ますね。

あとVSCodeでCSSを開いてみたら以前から使っているこのサイトのスタイルシート内に文法ミスが出ていたので修正しました。メモ帳では見過ごす間違いが一目で分かる親切さはまさに文明の利器。

LFChecker更新とLFCheckPlayerとitch.io

気付けば2023年も最終日となってしまいました。

先日公開したLFCheckerを更新しました。
若干計算速度が速くなったのと、もしかしたらDLLを作る時のランタイムライブラリ指定が「マルチスレッドDLL」だったかも知れないものを「マルチスレッド」に変更しました。
機能の殆どがDLL側にあるため、exeファイル自体のサイズが30KBになりました。

そしてテスト用の音源も調整しています。
-23LUFSに調整しつつピークも大きめにしたかったのですが、短い音声でそれほど強弱がない曲なのもあり-8dBくらいになりました。
Youtubeの基準が-14LUFSらしいのもあって比較するとかなり音が小さくなります。どこに揃えるかはプラットフォームとダイナミクスレンジの兼ね合いですね。


更新するついでに、LFCheckerをゲーム配信プラットフォームであるitch.ioにも試しに登録してみました。これはゲームではなくてツールですけれども。
内容はこのサイトに上げているものと同じです。

そして有償での配布もしやすいということで、ラウドネス計算だけでなく音声の再生&簡易スペクトラムアナライザー付きのLFCheckPlayerも公開してみました。有償です。
音声ファイルを再生しながらラウドネスも気になる人はチェック。あと問題なく動作するかも確認をお願いします。

実際に売れるかどうかは別として、とりあえず公開してみるだけであればSteamあたりよりも気軽でよさそうな感じがしますね。
ちゃんと売ろうとするのであればプロモーション等は必要なので、その後の労力はかなり必要でしょう。

ゲームを遊ぶ側からしてもかなりの数のフリーゲーム・有償ゲームが公開されているので、いろいろと見て回るのも面白そうです。
言語が基本的に英語なので日本語対応のゲームがかなり少なそうという問題はありますが。
続きを読む LFChecker更新とLFCheckPlayerとitch.io

LFChecker公開

音声データの統合ラウドネス値を計測するツールLFCheckerを作ってみました。

当初の目的はLÖVEからC++で書いたDLLを呼び出す習作みたいなものでしたが、一往実用もできそうなのでこういう形になりました。
Windows用のGUIツールを作るにあたって使用を考えていたMAUIが一向に実用できそうな状態にならないため、他の選択肢としてLove2dを選んだ次第です。
GUI部分をLove2dで作って中身の処理をC++のDLLを呼び出す形は一度把握してしまえばデバッグもできるので十分アリですね。

現在MAUIはツールを作るうえで肝となる「エクスプローラからウィンドウ内にファイルをドラッグ&ドロップする」処理に不具合があり、
Github上のissue(他にも報告あり)でも修正が望まれています。
この機能が無いと使い勝手が大きく落ちるものなのですが、動きがないまま18ヶ月以上はそのままとなっているので他の手段を当たった方が早いとなりました。

LFCheckerのIntegrated Loudnessの測定誤差はおおむね±0.1LUFSに収まるかと思います。ただし完全に保証するものではありません。
Love2dが標準でoggとmp3を読み込めるので手軽に波形データを取れるのは楽でいいですねー。

自作VSTプラグイン(WbRotDoubler)を公開してみるテスト

先日から作っていた自作のVSTプラグインがある程度形になったので、試しに公開してみました

なにぶん自分の開発環境以外での動作テストができないので、他の環境でも動くのかどうかが不安なところです。もし試して動かない方がいましたら連絡いただけるとありがたく思います。

今回作ったエフェクトはダブラーで、音を左右に振って片側にディレイをかけるやつです。
大きいつまみが12時の方向にある時は音に変化がなく、左右どちらかに90度回った状態の時にディレイタイムが最大になります。
大きいつまみが6時の位置にある時はおそらく左右の音が反転します。

Axisつまみでステレオ感の調整らしきことができますが、使用の際は基本的に一番右まで回した状態で問題ないかと思います。

これがうまく動くようであれば、以前に作りかけていたピコピコ系シンセ等も公開できるようにしていきたいと思いますのでよろしくお願いします。

ダブラー(doubler)を試作するの段

前回試作したパンナーのようなVSTを進めて、当初予定していたダブラーのようなエフェクトがかかるようになりました。

Twitterに動画を投稿したのですが、今回もモノラルになったので相変わらず何なのかよく分からない動画になってしまいました。
「画像を高画質でアップロード」のオプションを設定すればiPhoneからでも元に近い動画のまま投稿できるかと思いきやとくに変わらず、条件がよく分かりませんねー。33秒の動画だと短すぎる?

再エンコードがかかる前の動画が以下のものです。

やや分かりにくいかも知れませんが前半はパーカッション、後半はシンセの音にエフェクトがかかっています。
あと音量メーターと簡易的なリミッターも追加しました。
以前試作したVSTよりパラメータまわりの処理が(比較的)しっかりしているので、あとはこれの見た目を整えればVSTプラグインらしい感じになりそうです。

パンナー(panner)を試作するの段

7月になりました。
今日で2021年も半分が過ぎたことになりますね。


以前、無音にしたりピコピコ系の音を鳴らしたりするVSTを試しに作っていましたが、
今回は鳴っている音を左右に動かすパンナーのVSTを試作してみました。
GUIを含む基本的なVSTの作り方は分かったような感じになったので、改めてシンプルなプラグインを作ってみようという目的です。

最初に作ろうとしたのはダブラーで、それを作る前段階としてのパンナー。
今のところこんな感じになっています。

映像自体は先日Twitterに投稿したものと同じで音声だけ現在の版に差し替えています。
Twitterに動画を投稿すると再エンコードがかかる関係で音声がモノラルになり、音のステレオの変化が全く分からないという罠にかかりました。
Twitter公式のメディアの推奨事項を見ながらビットレートを落としてみてもステレオにはならず、動画の長さが関係しているのか何なのかいまいち分かりません。

上の動画の音声はステレオのはずなので、イヤホンやヘッドホンで聴くとある程度音が左右に動いていることが分かるかと思います。案外地味な変化なので分からない可能性もそこそこあります。
初期状態ではバスドラムが中央で鳴り、打楽器の音が右、後半から入るシンセの音が左で鳴っていることを考慮するとある程度分かりやすいかと思います。

最低でもこれの見た目を整えれば最低限VSTらしいものができるわけで、近いうちに何らかの形で公開できればいいですねー。毎回これを言っている気もしますが。
これをダブラーとして機能するようにパラメータを増やしたりしていくとまた完成しないパターンに嵌まることになりそう。

VSTを作ってみる(有音)

前回無音を鳴らすVSTを作ったことを書きましたが、
その後に無音ではない音を鳴らすVSTiも作っていました。
こちらはパラメータの数がだいぶ増えて、現在はこんな感じになっています。

見る人が見ればこれだけでどんな音が鳴るか把握できるかも知れませんねー。
画像が縦に長いので音のサンプル等は続きに。
続きを読む VSTを作ってみる(有音)

VSTiを作ってみる(無音)

DTMをする上で、エフェクトやシンセとして多くの場合使うことになるVSTを試しに作ってみました。

過去にも(特に公開していない)フィルタやスタッターみたいなものを作ってみたことがあったりしますが、その時の規格が現在では非推奨となっているVST2のものでした。
現在はVST3に切り替わり内部の仕様も大きく変わっているものの、SDKにサンプルが数多く入っているので試作段階までは比較的作りやすいように感じました。

そして作ってみたものがこちら。今まで作ったのはVSTeだったのでVSTiを作ってみるのは初めて。

……音符が置かれている間だけ無音を演奏します。入力音声はサイドチェインで他のトラックから持ってきます。
これだけだと使い所があるのかどうか怪しい感じですね。現時点でも一往は人力サイドチェインコンプレッサー的な使い方ができなくもないやつです。

GUIはまだ全く手をつけておらず面倒そうですが、機能を増やしたりしてある程度形になったら何らかの形で公開したいなと思っている次第です。

mac版を追加してみるテスト

譜面配置ツールBe-Sequence Object Placerと、公開から時間が経って今更感のあるbroox-lのmac版を公開してみました。

LÖVE製なのでmac版のappファイルも比較的簡単に作れるのですが、macOSはCatalinaから所謂野良Appが全てマルウェアの疑いのあるものとして扱われることになったので、ダウンロードしたAppを開く際はCtrlを押しながら開くなどしないと起動することができません。安全を担保する意味でzipファイルのチェックサム的なものを記載したほうがいいのか知らん。
マルウェア疑惑を晴らすためにはAppleにファイルを送信して公証を受ける必要があり、これのために年99ドル払ってApple Developer Programに登録するのは割に合わないため当分はこのままとします。そもそもLÖVE製のAppで公証を受けられるのかは謎なところ。

macOS配布用のAppファイルを作るにあたって、現在のwikiに記載されている方法ではAppのアイコンを変えることができなくなっていたため、Assets.carを変更する別の対応を行う必要がありました。これについては恐らく後日メモ代わりにまとめておきます。

続きを読む mac版を追加してみるテスト

BSOP 0.8

譜面配置ツールBe-Sequence Object Placer(BSOP)をVer.0.8に更新しました。
Ctrl+上下カーソルキーを押すことでロングノートの配置ができるようになりました。
動作はだいたい問題ないかと思いますが、RDMタイプ1(50と60番台のチャンネルを使うもの)の場合は怪しいかも知れません。
このロングノート配置機能ができたことで、作りかけの自作の音楽ゲームの譜面も大分作りやすくなる予定です。

また今回の更新で画面上部にメニューバー的なものを追加しています。今後画面右にも情報表示エリア的なものを追加する予定のためそれほど問題にはならない範囲で徐々に画面が狭くなりそうです。