▦ hum-score · home studio · type II · 90min

鼻歌が、
楽譜 コード進行 に。

マイクで鼻歌を録音、 音声ファイルをアップロード、 または 4 つの内蔵 サンプルを選ぶだけで、 YIN ピッチ検出 + Krumhansl-Schmuckler 調推定 + 24 トライアド コード推定 + Standard MIDI File 書き出しを 純 JS で 実行する 無料 採譜ツール。 五線譜 SVG + コード chip + MIDI ダウンロード。 音声は あなたのブラウザだけで処理され、 サーバーには送信されません。

DSP
YIN + Krumhansl + chord template
OUTPUT
SVG 楽譜 + .mid + コード進行
INPUT
マイク / ファイル / 内蔵サンプル 4
PRIVACY
音声 サーバー非送信 · 無料

[ ./how_it_works ]

使い方。

音を 入れる

「REC」 ボタンで マイクから 3-8 秒 鼻歌を録音、 「FILE」 で 音声ファイル (mp3 / wav / m4a / ogg) をアップロード、 または 下の 「SAMPLE」 行から 4 つの内蔵 サンプル (ちょうちょ / きらきら星 / カエルの歌 / カノン進行) をワンクリック。 音声は あなたのブラウザの中だけで処理され、 サーバーに送信されません。

解析が 走る

YIN ピッチ検出 (Autocorrelation + 累積平均正規化差分 + パラボリック補間) で 周波数 → MIDI ノート列、 連続同音マージで音符化、 中央値テンポ推定で BPM、 Krumhansl-Schmuckler プロファイル相関で 調を判定 (24 候補 = 12 メジャー + 12 マイナー)、 4 拍ウィンドウごとに 24 トライアド最近傍で コードを推定。 リールが回り、 VU メーターが揺れる間に 全部終わる。

楽譜 + MIDI を 持ち帰る

SVG 五線譜が表示され、 ト音記号 + 加線 + 符頭 + 符幹 + 旗 + シャープ + 音名ラベル が 自動描画。 下に コード進行 chip (C / Am / F / G 等) が 4 拍ごとに並ぶ。 「MIDI」 ボタンで Standard MIDI File を ダウンロード、 GarageBand / Logic / Ableton / FL Studio / Cubase / DAW で 開いて 編集可能。

[ ./faq ]

よくある質問。

HumScore って何ですか?+

鼻歌 や 音声ファイル を ブラウザ内だけで解析して、 五線譜 + コード進行 + MIDI ファイルを 自動生成する 無料採譜ツールです。 ML モデル / 有料 API 不要、 純 JS で YIN ピッチ検出 (de Cheveigné & Kawahara 2002) + Krumhansl-Schmuckler 調推定 (1990) + 24 トライアド 最近傍 コード推定 + Standard MIDI File バイト書き出し を 全部 ブラウザ JS で 実行しています。 音声は サーバーに送信されません。

本物の AI / 機械学習を使ってるの?+

**いいえ、 古典 DSP アルゴリズムだけです**。 ニューラルネット (Transcribe! などの ML モデル) は使っていません。 代わりに 1990 年代に確立された YIN アルゴリズム (差分関数 + 累積平均正規化 + パラボリック補間で sub-sample 精度の f0 検出)、 Krumhansl の 音楽認知プロファイル (12 半音クラス × メジャー/マイナー の 重み配列、 chroma との Pearson 相関 で 最良の調を選択)、 シンプルな chord template マッチング (24 トライアド × chroma inner product) を 組合せています。 結果として ブラウザ JS でも 数百ミリ秒で 解析完了 + サーバーゼロ運用。

どんな音声が解析できる?+

**単音メロディが最も得意**: 鼻歌 / ハミング / 口笛 / 単音楽器 (リコーダー / フルート / ピアノ ソロ メロディ / ボーカル ラフ) は 比較的精度よく ノート化されます。 **苦手**: 複数音同時 (コード弾き / 多重録音 / オーケストラ ミックス) は 主旋律以外の音が拾えず、 ピッチがブレやすい。 **対策**: なるべく 単音で 「ら、らら〜」 や 「ん〜ん〜」 と 区切って歌ってください。 BGM / 雑音は 録音前に止めましょう。

サンプル 4 つは どこから?+

**全てパブリックドメイン** の童謡 / クラシック進行を、 OscillatorNode の sine wave + 軽い vibrato + ADSR envelope で プログラム的に合成しています (外部音源ファイルなし、 著作権クリーン)。 (1) ちょうちょ (ドイツ民謡、 1853 年以前)、 (2) きらきら星 (1761 年 フランス民謡)、 (3) カエルの歌 (ドイツ民謡 「Froschgesang」 18 世紀)、 (4) カノン進行 (Pachelbel カノン 17 世紀)。 サンプル切替で 即解析が走り、 「楽譜 + コード + MIDI が出てくる体験」 を 数秒で体験できます。

MIDI ファイル の使い道は?+

Standard MIDI File (.mid、 format 0、 PPQN 480) で 書き出しているので、 ほぼ全ての DAW / シーケンサで 開けます: **GarageBand** (Mac / iPad、 無料) / **Logic Pro** / **Ableton Live** / **FL Studio** / **Cubase** / **Pro Tools** / **Reaper** / **MuseScore** (無料 楽譜エディタ、 取り込めば 印刷可能な楽譜が完成) / **Synthesia** / オンラインなら **BandLab** / **Soundtrap**。 取り込んだ後は 楽器を変えたり、 移調したり、 ピアノ譜化したり、 ハーモニーを追加したり 自由です。

プライバシー / 商用利用は?+

**プライバシー**: マイク録音 / 音声ファイル / 解析結果 は 全て あなたの ブラウザ JS の中だけで 処理されます。 サーバーに音声 / 楽譜 / MIDI を送信する経路は ありません (Network タブで確認可能)。 マイクパーミッションは セッション中のみ有効で、 ページを閉じれば 自動解除されます。 **商用利用**: あなたが録音 / 入力した メロディは、 出力後も 全て あなたのものです。 HumScore 側の 著作権主張 / 透かし / クレジット強制は ありません。 ただし 他人の曲 (商業楽曲 / アーティストの曲) を 解析する場合は ご自身で著作権を確認してください。

精度はどれくらい?+

**単音 + 静か + クリアな声** で 80-95% のノート的中。 **雑音多 / 多声 / 低音域 < C3 / 超高音 > C6** で 30-60% まで落ちる。 **テンポ推定** は 中央値ベースの単純法なので、 ルバート / 急加速 が多い演奏では 誤判定しやすい (固定テンポ前提)。 **調推定** は 16 音以上あれば 90%+ で当たる (Krumhansl の文献値と同等)。 **コード推定** は 主旋律から chroma を計算するため、 「メロディが その chord の構成音をなぞる」 場合に正解しやすい (童謡 / 民謡 で精度高い)。

ai-lab.org の他のサービスとの関係は?+

ラボ 47 本目で **音処理 ライン 3 本目** (voice-scribe 文字起こし / pitch-flip ボイスチェンジ / hum-score 採譜)。 「**音 → 文字**」 「**音 → 音 (加工)**」 「**音 → 構造化 (楽譜 + コード + MIDI)**」 の 3 軸完成。 visual は カセット 80s ホームレコ スタジオ + brown leather + cream label + orange marker + リール silver + VU 赤針 motif で、 既存 46 本柱と完全別軸 (vibe-coder dark cyberpunk neon / brush-shift 美術館 ivory + brass / patch-pad walnut wood シンセ Moog / pitch-flip synthwave neon とは palette + motif 完全別、 唯一の 「カセット ホームレコ」 motif)。

技術的に何が独自なの?+

(1) **YIN アルゴリズム** を 30 行で実装、 ライブラリ依存ゼロ。 (2) **Krumhansl-Schmuckler 調推定** = 1990 年の音楽心理学プロファイル (C major = [6.35, 2.23, 3.48, 2.33, 4.38, ...] × Pearson 相関) を JS に直書き。 (3) **Standard MIDI File** を ArrayBuffer に手書きバイト構築 (header + MTrk + variable-length quantity デルタ + note-on / note-off / EOT メタ)。 (4) **OfflineAudioContext + OscillatorNode** で 内蔵サンプル をプログラム的に合成 (mp3 ファイルなし、 著作権クリーン、 リポジトリ 軽量)。 (5) **CSS 円錐グラデーション + マスク** で カセットの リール 歯車を 30 行で表現、 React state で 解析中だけ回転。

← back to ai-lab.org