**Show HN:** 「Miditui」―MIDI作曲・ミキシング・再生用のターミナルアプリ/UI

---

2026/01/09 1:57

**Show HN:** 「Miditui」―MIDI作曲・ミキシング・再生用のターミナルアプリ/UI ---

RSS: https://news.ycombinator.com/rss

要約

日本語訳:

Miditui は Rust で書かれたインタラクティブなターミナルベースの MIDI エディタとプレイヤーで、コンソール内に完全な DAW ライクなワークフローを提供します。パンニングやノート選択、ピアノキークリック用のマウスサポート、およびライブ再生を表示するピアノロールビューがあります。Insert モードは 2 オクターブ QWERTY 配列(Z‑M と Q‑I 行)を使用し、ユーザーが高速にノートを入力またはクリックできるようにします。リアルタイム低遅延オーディオ(44.1 kHz)は rustysynth により処理され、SoundFont ファイルが必要です。推奨ファイルには TimGM6mb.sf2(約 6 MB)と GeneralUser GS(約 32 MB)が含まれます。

ユーザーはミュート/ソロ、ボリューム/パン制御、自動チャンネル割り当て、およびトラックごとの設定をサポートする無限の MIDI トラックで作業できます。アプリは標準 MIDI スペック外にメタデータ、選択された SoundFont パス、トラック状態を格納したカスタム

.oxm
バイナリとしてプロジェクトを自動保存します。キーボードショートカットには
g
(ビューの切替)、
Space
(再生開始/停止)、
.
(先頭へジャンプ)、
i
/ 右クリック(Insert モード) 、
a
(トラック追加)、
m
s
(ミュート/ソロ)、
Ctrl+S
(保存)、
e
(WAV エクスポート)、
Ctrl+Z
(元に戻す)、
?
(ヘルプリスト)が含まれます。プロジェクトは MIDI、JSON、または WAV としてエクスポートできます。

インストールは GitHub Releases の事前ビルドバイナリ(macOS Apple Silicon、macOS Intel、Linux ARM64、Linux x86_64、Windows)から利用可能で、Rust がインストールされていれば Cargo でもインストールできます。Miditui は MIT ライセンスで配布され、

/examples
にサンプル MIDI を付属しています。軽量なターミナルインターフェースは、開発者、CLI ワークフローを好むミュージシャン、CI パイプライン、および音楽生成が必要な組み込みシステムに最適です。

このバージョンは元のリストから主要なポイントをすべて保持しつつ、主旨を明確かつ曖昧さのない表現でまとめています。

本文

miditui

Crates.io
MIDI の作曲・ミキシング・再生を行う対話型ターミナルアプリ/UI(Rust で実装)。

miditui
は、ターミナル上でも DAW に似た体験ができるように設計されており、ターミナルアプリならではの機能を多く備えています。

  • フルマウスサポート:クリック・ドラッグ・スクロール・ダブルクリック・右クリックすべてが動作し、ビューのパンやノート選択、ピアノキーをクリックして演奏することも可能です。
  • ピアノローラービュー:曲の再生中にノートがどこで鳴っているかを視覚化します。
  • インサートモード:キーボード(またはピアノロール上のクリック)からリアルタイムで音楽を作成できます。2 オクターブ QWERTY 配列(Z–M と Q–I 行)で、入力と同時にライブオーディオが再生されます。
  • プロジェクトタイムラインビュー:すべての MIDI トラックを時間軸上に表示し、各タイムステップでアクティブなノートを確認できます。
  • 低遅延 44.1 kHz オーディオ(rustysynth を使用)。
  • タイムラインシーク:タイムラダーをクリックするだけでトラックの任意の位置へジャンプします。
  • 無制限 MIDI トラック:各トラックごとにミュート/ソロ、ボリューム/パン(L/R)コントロールがあり、自動的に MIDI チャンネルが割り当てられます。
  • 自動保存:定期的にプロジェクトを保存し、アプリ再起動時に自動で読み込みます。
  • Undo/Redo:作業のロスを防ぐためにサポートしています。
  • インポート/エクスポート:MIDI と JSON ファイルの取り込み・書き出しが可能です。また、音楽を WAV 形式でエクスポートできます。

下記ビデオでは

miditui
の動作をご覧いただけます(右上のインラインプレイヤー内でサウンドを有効にしてください):

miditui.mp4

開示

本クレートは Claude Opus 4.5 の協力を得て開発されました。最初は個人実験として、モダンなコーディングエージェントが TUI をどれだけうまく扱えるかを試す目的で始めました。X でバイラルデモが話題になった後、アプリを磨き徹底的にテストし、オープンソース化しました。エージェント型コーディングワークフローの完全な分析(Opus 4.5 に渡したプロンプトも含む)は

agent_notes
フォルダにあります。


インストール

アプリバイナリはご自身のプラットフォーム向けに Releases ページからダウンロードできます。あるいは、以下のターミナルコマンドを実行して取得してください:

# macOS Apple Silicon
curl -sL https://github.com/minimaxir/miditui/releases/latest/download/miditui-macos-arm.tar.gz | tar xz

# macOS Intel
curl -sL https://github.com/minimaxir/miditui/releases/latest/download/miditui-macos-intel.tar.gz | tar xz

# Linux ARM64
curl -sL https://github.com/minimaxir/miditui/releases/latest/download/miditui-linux-arm64.tar.gz | tar xz

# Linux x64
curl -sL https://github.com/minimaxir/miditui/releases/latest/download/miditui-linux.tar.gz | tar xz

Windows 版は Releases ページからバイナリをダウンロードして解凍してください。

Rust がインストールされている場合は、Cargo で直接クレートをインストールできます:

cargo install miditui

SoundFont の必要性

miditui
は SoundFont ファイル(
.sf2
)を必要とします。無料のオプションとして以下が挙げられます:

  • TimGM6mb.sf2
    (≈ 6 MB)– 直接ダウンロードリンク。
  • GeneralUser GS 2.0.2 w/ documentation rev. 4
    (≈ 32.3 MB)。

水平マウススクロールをサポートするターミナルの使用が推奨されます。Ghostty をおすすめします。


使い方例

  1. アプリ起動

    ./miditui          # バイナリをダウンロードした場合
    cargo run          # Rust 経由でインストール済みの場合
    
  2. 初回実行時に SoundFont のパスを選択します。以後はそのパスが保存されます。

  3. miditui
    ノーマルモード でピアノローラとプロジェクトタイムラインを同時表示します。

    • 矢印キーでカーソル移動、Enter でノート挿入。
    • ダブルクリックやドラッグ&ドロップでノート操作。
    • キーボードショートカット(例:
      g
      でビュー切替)も利用可能。
  4. 作曲を再生するには Space を押します。タイムラダーをクリックしてシークし、

    .
    で開始位置にリセット。

  5. インサートモード

    i
    を押すか右クリックで入ります:

    • よりスムーズなノート挿入。
    • キーボードをピアノのようにリアルタイム再生。
  6. トラックが選択されている状態で次のキーを使用します:

    • a
      – 新規トラック追加
    • m
      – ミュート切替
    • s
      – ソロ切替
  7. プロジェクトを JSON/MIDI 形式で保存するには Ctrl+S、未圧縮 WAV をエクスポートするには

    e

  8. すべてのキーボードショートカットについてはアプリ内で

    ?
    を押してください。
    実験を重ねることが推奨されます。問題が起きたら Ctrl+Z で Undo します。

  9. テスト用 MIDI は

    /examples
    フォルダにあります(Ctrl+O で開く)。


備考

  • ターミナルのサポート差異によりキーリリースイベントが安定して検出できないケースがあります。ピアノキー入力はキーを保持したまま長時間演奏することはできません。
  • 音楽ファイルは独自の
    .oxm
    バイナリ形式で自動保存され、曲メタデータに加えて SoundFont パスや各トラックのミュート/ソロ状態を格納します。
  • miditui
    のすべての色はターミナルのカラースキームから取得されます。例示画像/動画で使用した Ghostty テーマは David Crespo 氏(こちら)が提供しています。フォントは JetBrains Mono を使用。
  • デモ動画に再生されている音楽は
    Dance.mid
    (S. Christian Collins 著)で、GitHub 上の
    /examples
    フォルダにあるほかのデモ MIDI も参照できます。

ライセンス

MIT © minimaxir

同じ日のほかのニュース

一覧に戻る →

2026/01/10 1:49

**Flockが米国の監視インフラのパスワードを53回ハードコードした**

## 日本語訳: **要約:** Flock SafetyのデフォルトArcGIS APIキーが誤ってクライアント側JavaScriptバンドルに埋め込まれ、同社のArcGISマッピング環境と50個のプライベートアイテムへの無制限アクセスが漏洩しました。キーは複数のサブドメインにわたる53件の公開フロントエンドバンドルに出現し、リファラーやIP制限が設定されていませんでした。この問題は約12,000件のデプロイメントに影響を与えました:~5,000件の警察署、~6,000件のコミュニティデプロイメント、および~1,000件の民間企業。 リスク対象となるデータには、監視インフラ(カメラ在庫、ドローンテレメトリー)、法執行位置情報(パトロールカーGPS、ボディーカム位置)、人・車両検出アラート、ホットリスト検知、CADイベントレイヤー、Flock911インシデント文字起こし/音声、およびカメラ登録者の個人情報が含まれます。キーのメタデータは「portal:app:access:item」権限を50件持っており、多数または千単位の機関からのデータを集約している可能性があります。 2025年11月13日に別途報告された重大脆弱性により、未認証でFlock Safetyの本番環境(「Flock Safety Prod」)にスコープされた有効なArcGISトークンをミントできる問題が存在しました。この欠陥は2026年1月7日現在でもパッチ適用されておらず、デフォルトキーとトークンミントの脆弱性は、ほぼ100万件の利用可能クレジットを持つアクティブサブスクリプション下で機能していました。 この漏洩により、Flock Safetyが主張するCJIS、SOC 2 Type II、ISO 27001、およびNIST標準へのコンプライアンスは損なわれます—これらの主張は監査報告で裏付けられたことがありません。実際に悪用例として、ジョージア州(Steffman)、カンザス州(Nygaard)、フロリダ州(Brown)の警察長官がFlockカメラを利用して個人をストーカーした事例が報告されており、システムの乱用への脆弱性が示されています。上院議員ロン・ワイデンは公にFTCによるFlock Safetyのサイバーセキュリティ実務調査を要請しています。 外国情報機関は通信を傍受せずとも大規模に移動データを収集でき、国内では強制、脅迫、ハイプロファイル標的への影響操作といったリスクが存在します。トークンミント欠陥は2026年初頭まで未修正であり、警察署、コミュニティデプロイメント、民間企業を脅かし、法執行技術に対する公衆の信頼を侵食しています。

2026/01/10 4:33

**タイトル:** RTX 5090 vs. Raspberry Pi:ゲームに使えるのか? **概要:** - **RTX 5090** – 4K解像度で高フレームレート、レイトレーシングやDLSSを駆使したハイエンドデスクトップGPU。 - **Raspberry Pi** – 超低消費電力のSBC。VideoCore IVまたはVI GPUは極めて軽量なゲームやエミュレーションしか処理できない。 **結論:** RTX 5090は本格的なゲーミングに最適で、Raspberry Piは単純なインディータイトルやレトロクラシックを動かす程度の性能しか持たず、RTX 5090とのパフォーマンス差は埋められない。

## Japanese Translation: Raspberry Pi 5に外部NVIDIA RTX 5090 GPUを接続してゲームをプレイすることは技術的には可能ですが、ほとんどのユーザーにとって実用的ではありません。Pi 5のPCIe Gen 2 ×1インターフェース(約500 MB/s)は帯域幅を制限し、FEXエミュレーション下でのCPUは2008年型Core 2 Quadに匹敵するため、Cyberpunk 2077などの最新ゲームは720pでも<16 FPSしか出せずプレイできません。RTX 5090を接続してもフレームレートが16 FPSを超えることは稀です。一方、Beelink MINI‑S13のようなIntelベースのSBCは多くのタイトルで50+ FPSを達成し、Windows/WINEゲームにおいてARMボードよりも優れた性能を示します。Radxa ROCK 5BはPi 5よりコア数とPCIe帯域幅が増えていますが、FEXオーバーヘッドのため古いゲームで22–23 FPSに留まります。 ARMボードではNVIDIAドライバパッチ(例:@mariobalanca の作業)が必要で、DXVK を無効化(PROTON_USE_WINED3D=1)して特定タイトルを動かす必要があります。負荷時の電力消費はPi 5が9 W未満、一方Beelinkでは約30 Wです。これらの数値にはGPU消費は含まれていません。Portal 2 のような非常に古いゲームは、Pi 5とRTX 5090で4K解像度でも60 FPS以上を実現できます。 Valve の次世代 VR ヘッドセットや統合 GPU を備えた NVIDIA SoC などの将来の ARM プラットフォームが Linux ゲーミング性能を向上させる可能性はありますが、現在の構成で本格的にプレイすることは推奨されません。低電力ゲーマーは非常に古いタイトルなら Pi 5 を利用できるかもしれませんが、高フレームレートを求めるユーザーは Intel ベースの SBC を選ぶでしょう。メーカーは PCIe 帯域幅とドライバサポートの拡充に注力することで、ARM ゲーミングの実用性を広げられる可能性があります。

2026/01/10 4:15

Show HN:ロケット発射と軌道シミュレーター

## Japanese Translation: **改訂概要** テレメトリログは、打ち上げが開始直後(T+00:00:00)であることを示しています。この瞬間にステージ 1 の状態が表示され、すべての主要な飛行パラメータが初期値になっています: * 高度 = 0 km、下方向距離 = 0 km * 速度 = 0 m/s(垂直 = 0 m/s、水平 = 0 m/s) * 加速度 = 0 G;Max Q = 0 kPa;動圧 = 0 kPa * 空気抵抗係数 = 0.00;マッハ数 = 0.00 * 質量 = 0 kg;残り燃料 = 0 % * 推力 = 0 kN * ピッチ角度 = 90°(目標値と現在値) * Apoapsis = 0 km、Periapsis = 0 km ログには「MISSION EVENTS」セクションも含まれ、ピッチプログラムでは目標ピッチと現在ピッチがともに 90° と記載されています。これらの基準値はミッションコントロール、シミュレーター、およびエンジニアリングチームにとって重要であり、逸脱すると安全性を損なったり性能予測に影響を与える可能性があります。

**Show HN:** 「Miditui」―MIDI作曲・ミキシング・再生用のターミナルアプリ/UI --- | そっか~ニュース