2026年5月12日 · 技術解説

HTMLの構造がどう音楽に変わるのか

SiteTuneは「HTMLが音楽になる」サービスですが、具体的にどのHTML要素が、どんな音楽パラメータに変換されているのでしょうか。この記事では、その対応関係をできるだけ平易に解説します。

変換の全体像

HTMLは「タグ・属性・テキスト・階層」という4つの基本要素からできています。SiteTuneはこれらを以下の順序で音楽に変換します:

  1. HTMLをパース(DOMツリーに変換)
  2. 各タグの出現数・階層・属性を集計
  3. 集計結果を音楽パラメータに割り当て
  4. 音楽イベントとしてJSONに出力

タグ → 楽器の対応

大まかに、以下のような対応関係があります(実装の核心は伏せますが、概念的にはこのイメージです):

HTML要素 音楽要素
h1, h2, h3… コード進行 / メロディの主軸
p(段落) テンポ / 全体の長さ
a(リンク) メロディの音価・装飾
img(画像) パッド / 雰囲気の彩り
ul, ol, li ドラムパターンの密度
div / span(構造タグ) サイトの「複雑さ」スコア → ジャンル決定に影響
code / pre テクニカルなアクセント音

タグの数 → スケール(音の組み合わせ)

HTMLタグの「種類数」を見ます。タグの種類が少ないシンプルなページはペンタトニックスケール(5音)に、多種類のタグを使う複雑なページはマイナースケール(7音)など、より表現の幅が広いスケールに割り当てます。

結果として、シンプルなランディングページは「素朴なメロディ」に、情報量の多いポータルは「より複雑なハーモニー」に変換されます。

段落数 → テンポ(BPM)

段落(p)の総数とページ全体のサイズから、楽曲のBPM(テンポ)を決めます。

  • 段落が少ないページ → 速め(120〜140 BPM)
  • 段落が多いページ → 遅め(90〜110 BPM)

「読み込みに時間がかかるサイトは、ゆっくりと味わう曲」というイメージです。

見出し階層 → コード進行

h1〜h6の見出しが文書中にどんな順序で並んでいるかを、4小節 × 4ループのコード進行として読み取ります。h1が連続するページでは安定したルートコード中心、h3〜h6が深く入り組んだページでは複雑な代理コードを使った進行になります。

ドメイン名 → キー(調)

同じURLからは必ず同じ曲が出る決定論性を保つため、ドメイン名そのもののハッシュ値を使ってキー(C・D・E・F・G・A・B …とそのシャープ/フラット)を決めます。

「https://example.com」と「https://example.org」は、ドメインのハッシュが違うため、同じ構造でも違うキーで再生されます。

サイトの「複雑さスコア」 → ジャンル

タグの種類数 × 平均ネスト深度 × 総タグ数 を組み合わせた「複雑さスコア」によって、最終的に4ジャンルから1つが選ばれます:

  • 低スコア → Ambient(ミニマル、空間広め)
  • 中低スコア → Synthwave(レトロ、メロディアス)
  • 中高スコア → Electropop(明るい、リバーブ多め)
  • 高スコア → Techno(四つ打ち、緻密)

結果として何が起きるか

HTMLの構造を変えると、音楽も確実に変わります:

  • 段落を1つ追加 → 微妙にテンポが変わる、メロディの一部が変化
  • 新しい見出しを追加 → コード進行が変わる
  • サイト全体のリニューアル → ジャンルやキーごと変わるかも

逆にいえば、SiteTuneで生成された曲は、そのサイトの「ある時点の構造」を音楽として記録したスナップショットでもあります。

ぜひ自分のサイトで試してみてください

自分が運営しているサイトのURLを入れてみると、思いがけない発見があります。「自分のブログがこんな音だったのか」と感じる体験は、SiteTuneでしか得られません。