トリル・ロールMIDIジェネレーター【Pythonソースファイル】
- Digital0 JPY

指定された2つの音程間で連続的なトリル演奏を行うMIDIジェネレーターです。 ソースファイルで配布し、Windows、macOSのPythonで動作します。 UIを介してトリルの速度、ベロシティ(音の強さ)、ランダム要素を細かく調整でき、視覚的なアニメーションと共に聴覚でトリル演奏を体験できます。 同じ音程も設定できるので、ドラムロールにすることもできます。 DAWのMIDIインプットに接続すれば、様々なソフトウェア音源を鳴らすことが可能です。※単体では発音しません。 このプログラムは、どなたでも自由にご利用、改変、再配布いただけます。MITライセンスの下で提供されます。
操作について
・開始/停止ボタン: トリル演奏の開始と停止を切り替えます。 ・音程甲 (Note 1) / 音程乙 (Note 2): MIDIノート番号を直接入力できます。0から127の範囲で設定可能です。 入力ボックスの横には、設定されたMIDIノートの音名とオクターブ(例: C#5, C5など)が表示されます。 「音程甲」が緑色、「音程乙」が紫色 のバーで点灯アニメーションとして表示されます。 ・速度 (BPM) スライダー: トリル演奏の速さをBPMで調整します。30から300の範囲で設定可能です。 ・基本ベロシティスライダー: ノートが発音される際の基本的な音の強さ(ベロシティ)を調整します。1から127の範囲で設定可能です。 ・ベロシティ揺れスライダー: 各ノートのベロシティにランダムな揺らぎを加える量を調整します。0.0から1.0の範囲で設定可能です。 ・タイミング揺れスライダー: 各ノートの発音タイミングにランダムな揺らぎを加える量を調整します。0.0から1.0の範囲で設定可能です。
はじめて使用する方へ
1. 仮想MIDIケーブルの準備 loopMIDI をインターネットで検索してダウンロードし、インストールしてください。 インストール後、loopMIDI を起動して、新しいポートを作成し「loopMIDI Port 1」と命名します。このポートにプログラムがMIDI信号を送ります。 2.Pythonを検索しインストール。今回のプログラムは3.13で動作確認しています。 追加で必要なライブラリもインストールします。コマンドプロンプトを開き、以下のコマンドを実行して必要なライブラリをインストールします。 pip install mido 3.ダウンロードしたZIPファイルを展開し、midi_trill_generator.py というファイルをデスクトップ(または分かりやすい任意の場所)に置きます。 4.コマンドプロンプトやターミナルでcdコマンドを使って、ダウンロードしたファイルがあるフォルダに移動します。 cd C:\Users\あなたのユーザー名\Desktop ※ 「あなたのユーザー名」は、お使いのPCのユーザー名に置き換えてください。 5.プログラムの実行 ファイルがあるフォルダに移動できたら、以下のコマンドを入力してプログラムを実行します。 python midi_trill_generator.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系
サポート
このプログラムはGemini 2.5 Proを使用しバイブコーディングで作成されています。 こおろぎ本人には問題解決能力はありません。ご了承ください。また、テキストなど、内容をクリーンナップせず配布しております。