風MIDIジェネレーター【Pythonソースファイル】
- ダウンロード商品¥ 0

このプログラムは、自然な風の流れをPerlinノイズでシミュレートし、その強さに応じてMIDIサウンドを生成するジェネレーターです。Windows、macOSのPythonで動作します。 PREMIER SOUND FACTORYのウインドチャイム音源「Wind Chime Premier G」にチューニングされています。こちらを使用すると想定通りのサウンドが得られます。 UIには回転する扇風機の羽のアニメーションが表示され、視覚的に風の強さを表現します。 DAWのMIDIインプットに接続すれば、ソフトウェア音源を「風の音」として鳴らすことが可能です。※単体では発音しません。 このプログラムは、どなたでも自由にご利用、改変、再配布いただけます。MITライセンスの下で提供されます。
操作について
・スタート/ストップボタン: 風のシミュレーションとMIDIの発音を開始/停止します。開始時には緑色のボタン、停止時には赤色のボタンに変化します。 ・扇風機の羽アニメーション: 風のシミュレーション中に回転します。回転速度は「風量調整」スライダーの値に連動します。アニメーションにはfan_blades.pngという画像ファイルが必要です。 同梱の画像を差し替えることで別のものを表示できます。 ・風量調整スライダー: シミュレーションの「風量」を調整します。 スライダーの値を大きくすると、風鈴が鳴る頻度が高くなり、MIDIノートのベロシティ(音の強さ)も強まります。 スライダーの値を小さくすると、風鈴が鳴る頻度が低くなり、ベロシティも弱まります。 ・MIDIノートの生成: Perlinノイズを用いて時間とともに変化する風の強さをシミュレートします。 風の強さに応じて、同時に鳴るMIDIノートの数(最大4音)と、ノート間のわずかな時間差(スタッガー)が調整されます。 発音される音程はC2 (36) からE6 (88) の範囲でランダムに選択されます。 ベロシティは風の強さに加え、ランダムな揺らぎと「風量調整」スライダーの値によって決定されます。
はじめて使用する方へ
1. 仮想MIDIケーブルの準備 loopMIDI をインターネットで検索してダウンロードし、インストールしてください。 インストール後、loopMIDI を起動して、新しいポートを作成し「loopMIDI Port 1」と命名します。このポートにプログラムがMIDI信号を送ります。 2.Pythonを検索しインストール。今回のプログラムは3.13で動作確認しています。 追加で必要なライブラリもインストールします。コマンドプロンプトを開き、以下のコマンドを実行して必要なライブラリをインストールします。 pip install mido customtkinter perlin_noise Pillow 3.ダウンロードしたZIPファイルを展開し、midi_wind.py というファイルをデスクトップ(または分かりやすい任意の場所)に置きます。 4.コマンドプロンプトやターミナルでcdコマンドを使って、ダウンロードしたファイルがあるフォルダに移動します。 cd C:\Users\あなたのユーザー名\Desktop ※ 「あなたのユーザー名」は、お使いのPCのユーザー名に置き換えてください。 5.プログラムの実行 ファイルがあるフォルダに移動できたら、以下のコマンドを入力してプログラムを実行します。 midi_wind.py 6.loopMIDIにうまく連携されないときは コード内のMIDI_PORT_NAME = 'loopMIDI Port 1 8' をあなたの環境のポート名に書き換えてください。 コマンドプロンプト/ターミナルで Python を使って確認する Python がインストールされていれば、midoライブラリを使ってコマンドラインから直接確認することもできます。 コマンドプロンプトを開き、Pythonのインタラクティブシェルを起動します。 python 加えて以下のコマンドを入力して実行します。 import mido print(mido.get_output_names()) これにより、PCで利用可能なすべてのMIDI出力ポート名のリストが表示されます。その中に loopMIDI で作成したポート名が含まれているはずです。 コード内のMIDI_PORT_NAME = 'loopMIDI Port 1 8' をその中のポート名に書き換えてください。 —------------------------ これらの手順で、プログラムが起動し、画面にボールが跳ねるアプリケーションが表示されるはずです。もし何か問題があれば、エラーメッセージをChatGPTやGeminiなどの生成AIに直接貼り付けることで解決手順を教えてもらえます。
動作環境
OS: Windows, macOS, または Linux Python: Python 3.x系(3.1で動作確認済)
サポート
このプログラムはGemini 2.5 Proを使用しバイブコーディングで作成されています。 こおろぎ本人には問題解決能力はありません。ご了承ください。また、テキストなど、内容をクリーンナップせず配布しております。