JavaScript

AudioContextで使用するAudioBufferをwavにして保存

やりたいことJavaScriptで音を使う場合よく出てくるAudioContextで使用するAudioBufferをwavにしてローカルにファイルとして保存します。環境以下の環境を使用しています。NodeJS + Viteaudiobuffer-to-wav環境構築NodeJSはインストールされている前提です。作成するプロジェクト名を聞かれるので入力します。(この記事ではwavとしました)使用するフレームワークを聞かれるのでVanillaを選択します。続いて言語はJavaScriptを選択します。上記でプロジェクトの作成は完了です。ライブラリのインストールプロジェクトの作成が完了したら必要なラ...
AI

ViteでGemini APIの音楽生成

やりたいことGoogleのGemini APIをNodeJSで使用して、音楽生成を行います。実装はフロントエンドのみでバックエンドはGoogleを使用します。GoogleのAPIキーを発行する必要があります。注意:この記事を書いて時点でGeminiの音楽生成はプレビュー機能です。今後仕様等変更になる可能性があります。この記事ではNodeJSを用いてクライアントサイドでの実装を行っています。しかしこの方法はAPI KEYが使用者に漏れる可能性がありますのでGoogleから推奨されていません。個人的な使用や、実験にとどめてください。この記事は基本的には以下のページをベースにしています。しかし下のペ...
AI

[StableDiffusion]embeddingの使用

やりたいことローカルで動作するStable Diffusion web UIにembeddingを追加して使用します。embeddingを使用することで、生成される画像の品質を上げることができます。この説明だとVAEと同じように感じますが、embeddingはVAEよりも生成される画像に対する影響が大きいです。VAEは生成された画像にフィルタをかけて品質を上げるようなイメージですが、embeddingは似た品質の高い画像を生成するようなイメージです。VAEに関しては以下の記事を参照してください。環境stable-diffusion-webui-forge(他のstable-diffusion-...
AI

[StableDiffusion]ForgeでテンプレートのPrompt/NegativePromptを使用

やりたいことStableDiffusionWebUiForgeでテンプレートの(保存済みの)Prompt/NegativePromptを使用します。(StableDiffusionWebUiは同じではないようです。)具体例繰り返し同じPrompt/NegativePromptを使用するPrompt/NegativePrompをテンプレートを保存し、簡単に適応できるようにします。既存のテンプレートを削除や順番を変えることで使いやすくします。基本的な使い方GUIテンプレートのGUIは以下にあります。テンプレートの使用以下の三角をクリックして好きなテンプレートを選択します。選択したテンプレートがリス...
JavaScript

マウスで動作するJavaScriptのコードがペンタブレットで動作しない

やりたいことマウスで動作するJavaScriptのコードがペンタブレットで動作しませんでした。この記事では著者の修正した箇所をまとめておきます。修正したアプリはCanvasに絵を描くアプリです。アプリをペンタブレットに対応するにあたって修正した箇所のみの紹介です。(ペンタブレット/マウス両方で動作するように修正します。)スマホ/タブレット対応に関してスマホ/タブレット対応は基本的にペンタブレットの対応と同様のはずですが、動作確認を行っていません。問題点と修正マウス関係のイベントが来ないペンタブレットで操作した場合にmousedown、mousemove、mouseupのイベントが来ませんでした...
Android

Android端末でスクリーンの解像度(DevicePixelRatio)を変更

やりたいことAndroid端末でスクリーンの解像度を変更したように見えるようにします。正確に言うと解像度ではなくDevicePixelRatioが変わっているようです。具体的にはアプリのパーツ(ボタンなど)や文字の大きさが変わります。(特にブラウザ上の表示が変わります。)全画面のゲームなど影響のないアプリもあります。* 重大な問題(ボタンが押せなくなるなど)が起こる可能性があります。行う場合は自己責任でお願いします。環境Android14および15で設定があることを確認しました。(モデルによって設定できない可能性もあります。)変更方法開発者向けオプションの表示開発者向けオプションを表示します。...
AI

Stable Diffusionで生成した画像がぼやけている/コントラストが低い

やりたいことStable Diffusionで生成した画像がぼやけている/コントラストが低いことがあります。ここでは改善させる二つの方法を紹介します。VAEの使用一つ目はVAEを使用する方法です。VAEのインストールおよび使用方法は以下の記事を参照してください。おすすめVAE上の記事でも紹介していますが、ここでも同じVAEを二つ紹介します。これらのVAEを使用して画像を生成することで画質の改善する可能性があります。汎用VAEstability ai(Stable Diffusion開発元)によるVAEです。実写、アニメ調のモデルともに使用できます。以下のページの”vae-ft-mse-8400...
AI

ローカル環境のStable Diffusion web UIにVAEを追加

やりたいことローカルで動作するStable Diffusion web UIにVAEを追加します。VAEとはGoogleの検索AIによると以下の通りです。VAE(Variational AutoEncoder)は、画像生成や異常検知など、AIの様々な分野で活用される深層学習モデルです。教師なし学習の一種で、データを圧縮・復元するオートエンコーダをベースに、潜在変数に確率分布を導入した点が特徴です。上の説明だとよくわかりませんがStableDiffusionでは、出力画像をきれいにするプラグイン。ぐらいに思ってもらって問題ないです。環境stable-diffusion-webui-forge(他...
AI

[Stable Diffusion]Pastel-Mixモデルを使う

やりたいことおすすめの2D画像作成向けのStable DiffusionのモデルであるPastel-Mixを使ってみます。初期設定でいろいろ作ってみてもいい画像が作れなかったのでメモを残します。↓の絵はこの記事の設定で作成しました。モデルとVAEのダウンロードモデルのダウンロードモデルは以下のページからダウンロードしてください。ダウンロードの詳細は以下の記事を参照してください。huggingfaceは削除されているようです。civitaiからダウンロードしてください。VAEのダウンロード以下のページからkl-f8-anime.ckptをダウンロードします。ダウンロードしたkl-f8-anime...
AI

複数の単語からランダムでプロンプトを自動作成[StableDiffusionWebUI]

やりたいことStabeleDiffusionGUIで複数の単語の候補からランダムでプロンプトを作成します。sd-dynamic-promptsというExtensionを使います。Automatic1111向けのExtensionですがForgeで確認を行っています。例以下は固定: ”a girl,”以下からランダム:  ”blue hair”、”yellow hair”一度のGenerateで以下のプロンプトが自動で作成/画像生成されます。(ランダムなので必ず両方が作成されるわけではありません。) ”a girl, blue hair” ”a girl, yellow hair”sd-dyna...