Visual Studio 2022

Visual Studio 2022にアップグレード

今月に入って、VS2019を立ち上げると、VS2019はサポート外ですとのメッセージが表示されたので、そのままVS2022のリンクをたどってインストールしました。(表示、インストールがあまりにもスムーズに済んだのでスクリーンショットを撮るの忘れました)

既存のソースコードを、早速アップグレードしコンパイルができることを確認。

最近増えつつある、NuGetのDependencyやライブラリのリンクもうまくいっている。いつものことだけど、一度開発環境をアップグレードすると前のバージョンに戻れなくなるのも慣れてきました。

一応、GITでアップグレード前にバックアップはしてるけど。

開発風景は、TwitchでBGM配信しながら画面共有しているので、よろしければ覗いてみてください。

リンクはこちら nGameMusic – Twitch

Visual Studio 2022
Visual Studio 2022

音楽CD断捨離

久しぶりに音楽CDの断捨離。しばらく袋の中に隔離されて床に放置されていた音楽CD達をきれいにしました。でも部屋のなかはすっきりしていない・・・

カラーボックスにスキャナを移動。今までは棚に置いていて使うときに持ってきて電源接続してスキャンしていたけれど、いつでもスキャナを開けるてスキャンできるように調整。閉じたときにスペースが開くのが気になるけれど、これでいつでも使える。

袋に収められていたCD達をダイソーのコンテナに収納。(まだ何枚あるか数えていない)
そしてニトリの棚へ。いつも始めるときは捨てるつもりだったけれど、おさまりがよくなったのでしばらくはここで、リッピング待ちということにする。
そして、問題のCDジャケットのブックレット。今回は半分にカットしてスキャナでデータにしたらどんどん捨てていくことにする。写真を見ているとまた捨てられなくなるので切ってスキャンしたら即捨てる。
一枚一枚をJPGファイルにしてクオリティもファインでさっとスキャンしてさくさく捨てる。ファイル名はアルバム名-アーティスト名-連番.jpgで統一。何も考えず日本語ファイル名も使ってページごとにScanSnap Homeが連番つけてくれるのですんなりできました。

JPGファイルのスキャンで連番機能は初めて見た。最新版のアップデートでついたか?しかしWindowsも問題なく日本語ファイル名が安心して使えるようになってやっとこれができるようになった。Win7とかまでは日本語ファイル名とか信用できなかったから。

さて。リッピング済のCDはどうするか。

オーディオファイルのフォーマットはAppleロスレス。サムネを埋め込んでこれで永久版のオーディオライブラリがつくれそう。物理的なCDは今度こそ捨てることができそう。

プラケースも捨て。こういうのオークションとかでうれるのかな。

収納方法をいろいろ考えていたけれど、今回のCDの収納はなかなかいい感じ。(個人的なやり方なので傷とか気になる方はこの方法はおすすめしません。この方法は捨てる覚悟で取ってあるだけなので)。

リッピングしていればCDを探す必要はないし(全CDをリッピングできるかは不明)聞かない、要らないCDは見て捨てていこう。

オーディオプレイヤーアプリも作れそう。ジャケットのJPGファイルから表示してアートワーク表示。スクリーンセーバーそして、音量メーター。連続再生でDJ的なMIXINGもつけて。

その辺は追々。

C# WASAPI NAudioで音量レベルメーターを作る

最低限必要なオーディオレベルメーターです。緑のメーターが音量、黄色CH1,CH2がそれぞれ左右のチャンネルです。オーディオデバイスが5.1chだと黄色いメーターが6個表示されます。5.1の”.1″は5ch + ウーハーのチャンネル。ドルビーとかの映画とかでしか使わないと思われる。(ゲームでも使われるのかな)

今回は、カスタムコントロール内でデバイス選択用のコンボボックスと、プログレスバーのオーバーライド(標準のままだと時間制御が入っていて音声の反応に追いつかないので、ただの四角で対応しています)

作ったきっかけ

最近、Twitchで音楽配信をやりたくなってドラムマシン(BOSS DR-880)とKORG Gadget 2のゲーム音源を使ってサンプリング音源で遊んでたりしてます。その時に音が出ているか目で確認したくて作りました。

前にも仕事でWASAPI+D2DでOSDとかWin32で作ってたけど、C#で 名前空間を 書き直したラッパーを公開している人がいるみたいなので使ってみました。Win32C++でCOMをマスターしてれば、MSDNそのまま使えるから必要ないんだけど。時間と作業効率上の問題か。それとバグった時の…しかし人が書いたコードを理解する時間と、自分で書くのとどっちが早いかが勝負。WASAPIを書き直したこの人の労力はすごいかも。C#でWASAPI理解するなら、C++でもいいじゃん。C++だと、アプリの動作が7割早いらしいね。(Win32 + COM最強!)

配信でOBSを使うならバックグランドを淡色にすれば背景を消せるので、これでもいいといえばいい。

あとは、アニメーションを作るときのエフェクトとか合わせるときの問題か。DXならブレンディングできるし。今後の課題。今回はAudioRenderデバイス(再生デバイス)からメインボリュームと、使えるチャンネルを表示している。

AudioCaptureデバイスもモニタ出来るけれど、Captureデバイスからサブスクリプションで有効なデータを受け取るイベントを受け取ってバッファを読むようだ。これだと生データが読めるのでFFTもできそう。実際はAudioRenderをループバックして、バッファを読んでデータを表示。スペアナの表示もできるっていうことらしい。ちなみにAudioCaptureのバッファのデータは、WaveExフォーマットでステレオデータを読むのでこれまたC++の方が使い勝手がいい(Win32 APIがSDKに用意されている)気がする

ダウンロードはこちら

Gitとかは相変わらず使いにくいし、シェアする気もないのでソースはZIPでアップしておく。(ご利用はご自由ですが一切責任は負いかねますのでよろしくお願いします)

このサイトは、プログラミングの知識のある上級者向けですのでソースコードに関する不具合は環境によって書き直してください。(サイトの管理者Nは対応しません)

これをエンジンとして、ビジュアル的なエフェクトが作れればいいなと思います。

Windows 10 VisualStudio 2019 C#WinFormで作成しています。必要なNuGetパッケージはスクショのリストの通り。NuGetからNAudio周りのパッケージをDLしてください。

次は、またSPEECH APIでコマンド管理アプリを上げていこうか。OpenCVで目、口、鼻トラックもできるようになったのでそっちかな。あとは、Youtubeチャット読み上げアプリとか絡めて、VTuber用アプリとか。

自分のTwitchアプリを作っていこう。

ちなみにTwitchチャンネルはこちらです。

結局MBPはWindows10マシンになりました

現状、PHPでSQLのデータのCSVエクスポート、.NET Frameworkアプリでの処理、そしてCSVファイルを生成してアップロードという作業がメインになっております。

しばらくは、MBPのWin10パーティションのサイズが足りなくなり、パーティションの切り直しして再インストールしようと思って古いデスクトップマシンで作業していたけれど、MBPでパーティションのリサイズができたので結局MBPのWin10に戻って作業しております。

MacのOSアップデートもたまに起動したときにするくらいで、XCodeも最近は触っておらず・・・

iPhoneアプリもそろそろライブラリのアップデートリリースしないと

そして、やっとLolipopのSSHを使ってリポジトリを導入することができました。まだセキュリティ周りの仕組みがわかっていない。手順は書けるけど最近のセキュリティ設定はちんぷんかんぷん。

そういえば、アンケートやレビュー書かなくなったなぁ。絶対にどこかでデータ抜かれてるんだろうけど、いちいち時間とられるし、自分から書きに行く行為が一番危ないと思う今日この頃。

メモ帳(notepad.exe)最強説

テキストで文章を書きたい。文章ではなくてもC++のソースコードの検索・置き換え、ちょっとキープしておきたいテキストの内容など、メモ帳が今も最強。

ブログもなにかメモ帳レベルでサクサク書けたらいい。テキストエディタを作ろうか。

C# Form でもいいけれど、必要な機能だけでセーブしたりメモとして引っ張ってきたり。DBでリスト化しておいて自分用サーチエンジンとか。

PHP連携か、ウェブか。これでマネタイズはできないだろうな。わざわざ、ユーザーがアカウント作って自分のメモをウェブに残しておきたくない。アプリ内DBで辞書メモといったところか。

もともと、ブログってそういう手ごろな日記だったはずがワードプレスはいつのまにか重くて使いにくい。自分のメモだけをさっとかいてさっと検索みたいな。

忘れないようにただ、メモ帳アプリが作りたいなという投稿。

自分用アイディアメモ。