Skip to content

igapyon/mikuscore

Repository files navigation

mikuscore

mikuscore OGP image

Language Policy

  • English text is the normative source unless explicitly noted otherwise.
  • Japanese sections are abridged translations for readability.
  • Exception: for undecided points or in-progress notes, Japanese-only entries MAY be used temporarily.

English

mikuscore is a browser-based score format converter centered on MusicXML. It is delivered as a single-file web app (mikuscore.html) and runs offline.

Screenshots

mikuscore screenshot 1 mikuscore screenshot 2 mikuscore screenshot 3 mikuscore screenshot 4

What makes mikuscore different

  • MusicXML-first conversion pipeline
  • Preserve existing MusicXML as much as possible
  • Keep conversion losses visible via diagnostics / metadata
  • No installation required (single HTML, browser only)

Scope

  • Primary: format conversion and round-trip stability
  • Secondary: lightweight notation editing and preview
  • Not a feature-complete score engraving editor

Supported formats

  • MusicXML (.musicxml / .xml / .mxl) (MusicXML 4.0 core baseline)
  • MuseScore (.mscx / .mscz)
  • MIDI (.mid / .midi)
  • VSQX (.vsqx) (via vendored utaformatix3-ts-plus)
  • ABC (.abc) (experimental)
  • MEI (.mei) (experimental)
  • LilyPond (.ly) (experimental)

Build and local development

  • npm run build
  • npm run check:all
  • npm run clean
  • npm run typecheck
  • npm run test:unit
  • npm run test:property
  • npm run test:all
  • npm run build:vendor:utaformatix3

Documentation map

  • Product docs (positioning / policy / coverage / quality):
    • docs/PRODUCT_POSITIONING.md
    • docs/CONVERSION_PRINCIPLES.md
    • docs/FORMAT_COVERAGE.md
    • docs/QUALITY.md
    • docs/AI_INTERACTION_POLICY.md
  • Specification docs (docs/spec/*) are normative implementation specs:
    • docs/spec/SPEC.md
    • docs/spec/ARCHITECTURE.md
    • docs/spec/DIAGNOSTICS.md
    • docs/spec/MUSESCORE_IO.md
    • docs/spec/MIDI_IO.md
    • docs/spec/ABC_IO.md
    • docs/spec/TEST_MATRIX.md
    • docs/spec/AI_JSON_SPEC.md (currently experimental, but this English document is the current source for the AI-facing JSON projection / patch contract)

AI interaction policy (transition phase)

  • Canonical score source remains MusicXML.
  • For generative-AI interaction, full-score handoff and new-score generation are currently centered on ABC.
  • JSON is currently reserved for bounded partial inspection and patch exchange (JSON (Partial)), not full-score handoff.
  • This is an intentional transition-phase design until MCP-style tool mediation becomes common enough to hide most format routing from the human user.
  • See docs/AI_INTERACTION_POLICY.md for the operational policy and docs/spec/AI_JSON_SPEC.md for the bounded JSON contract.

Debugging note:

  • For import-side incident analysis, check docs/spec/MIDI_IO.md and docs/spec/ABC_IO.md sections about attributes > miscellaneous > miscellaneous-field (mks:* debug fields).

日本語

mikuscore は、MusicXML を中核に据えた 譜面フォーマット変換ソフト です。
配布形態は 単一 HTMLmikuscore.html)で、ブラウザのみでオフライン動作します。

スクリーンショット

mikuscore スクリーンショット 1 mikuscore スクリーンショット 2 mikuscore スクリーンショット 3 mikuscore スクリーンショット 4

mikuscore の特徴

  • MusicXML-first の変換パイプライン
  • 既存 MusicXML を極力壊さない
  • 変換で生じた欠落を診断情報・メタデータで追跡可能
  • インストール不要(単一 HTML、ブラウザのみ)

スコープ

  • 主機能: フォーマット変換と round-trip 安定性
  • 副機能: 軽量な譜面編集とプレビュー
  • 多機能な浄書エディタの代替を目指すものではない

対応フォーマット

  • MusicXML(.musicxml / .xml / .mxl)(MusicXML 4.0 基準フォーマット)
  • MuseScore(.mscx / .mscz
  • MIDI(.mid / .midi
  • VSQX(.vsqx)(同梱 utaformatix3-ts-plus 経由)
  • ABC(.abc)(実験的対応)
  • MEI(.mei)(実験的対応)
  • LilyPond(.ly)(実験的対応)

ビルドとローカル開発

  • npm run build
  • npm run check:all
  • npm run clean
  • npm run typecheck
  • npm run test:unit
  • npm run test:property
  • npm run test:all
  • npm run build:vendor:utaformatix3

ドキュメントマップ

  • プロダクト文書(位置づけ / 方針 / 対応範囲 / 品質方針):
    • docs/PRODUCT_POSITIONING.md
    • docs/CONVERSION_PRINCIPLES.md
    • docs/FORMAT_COVERAGE.md
    • docs/QUALITY.md
    • docs/AI_INTERACTION_POLICY.md
  • 仕様文書(docs/spec/*)は実装規範:
    • docs/spec/SPEC.md
    • docs/spec/ARCHITECTURE.md
    • docs/spec/DIAGNOSTICS.md
    • docs/spec/MUSESCORE_IO.md
    • docs/spec/MIDI_IO.md
    • docs/spec/ABC_IO.md
    • docs/spec/TEST_MATRIX.md
    • docs/spec/AI_JSON_SPEC.md(現在は実験的だが、生成AI向け JSON projection / patch 契約の現行正本はこの英語文書)

生成AI 連携方針(過渡期)

  • 正本は引き続き MusicXML です。
  • 生成AI とのやり取りでは、全体の受け渡しと新規譜面生成は現在 ABC を中心にします。
  • JSON は全体受け渡しには使わず、部分確認と差分伝達(JSON (Partial))に限定します。
  • これは MCP 的なツール仲介が一般化するまでの過渡期設計です。
  • 運用方針は docs/AI_INTERACTION_POLICY.md、部分 JSON 契約は docs/spec/AI_JSON_SPEC.md を参照してください。

デバッグメモ:

  • インポート時の事象解析は docs/spec/MIDI_IO.mddocs/spec/ABC_IO.mdattributes > miscellaneous > miscellaneous-fieldmks:* デバッグ項目)を参照してください。

About

A smartphone-first, reliability-focused MusicXML editor that runs in your browser, preserves existing score structure with minimal changes, and gives you the freedom to capture quick ideas or continue focused score work anywhere.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors