Releases: igapyon/mikuscore
UI共通化、ZIP入力、Edit強化、MEI/MIDI/MuseScore互換性改善
概要
主なテーマは、UI基盤の整理、入力/編集/出力導線の改善、そして MEI / MIDI / MuseScore / MusicXML の相互変換精度向上です。
主な更新内容
UI・操作性
lht-cmnを導入し、lht-*Web Components ベースへ段階移行md3ランタイム CSS 依存を解消し、単一HTML配布を維持したまま UI 基盤を整理- Output まわりの導線を調整
- ボタン順の見直し
- Play / MIDI ボタンの見た目調整
Compress MusicXML / MuseScore exportのデフォルトを ON に変更
lht-select-help利用時の設定値同期を修正- Quick Playback Tone で
Sineを選択した際の誤動作を修正
入力・編集機能
- ZIP ファイル入力に対応
- ルート直下の候補ファイル選択
- ロード中オーバーレイ表示
- Edit パネルに
Editor / Measure XMLサブタブを追加 - 選択中小節の Self-contained MusicXML / MIDI ダウンロードを追加
変換・互換性改善
miscellaneous-fieldの名前空間をmks:*系へ整理し、仕様・実装・テストを統一- General Settings の metadata 制御を
mks:meta/mks:src/mks:dbgの個別スイッチへ分離 - MEI 取込を強化
mks:src:mei:raw-*の付与stem.mod=slashの刻み展開- Self-contained XML への src 注入
- MuseScore 取込/出力の互換性を改善
- C clef / ヘ音記号対応
- テンポの読取・出力改善
- slur / trill / part name / part abbreviation の保持改善
- MEI 出力の互換性を改善
- スラー
- 強弱時刻
- テンポ
- パート名
- アーティキュレーション
- MIDI I/O を改善
- weak pickup の保持
- 文脈に応じた異名同音綴りの改善
- 標準メタ優先の復元
mksテキストメタ出力の設定連動化
- MIDI / Playback の同音連結ロジックを見直し
- tie / slur 境界
- アーティキュレーション表現
- 再生時の接続感を改善
サンプル・ドキュメント
- 組み込みサンプルを拡充し、
sample1〜sample4の各種アセットを追加 - 旧
sample1/2をsample6/7へリネーム - 和声解析拡張仕様 v1 ドラフトを追加
- ドキュメント体系を再編し、製品位置づけ・品質・変換方針を整理
互換性に関する注意
miscellaneous-fieldの出力キーはmks:*を正規系として扱います- 旧
sample1/sample2名称を前提にした参照は、sample6/sample7へ更新が必要です - metadata 制御 UI は単一スイッチから prefix 単位の個別スイッチへ変わっています
含まれる主な改善領域
- UI共通化と保守性向上
- ZIP経由を含む入力導線の改善
- Edit画面での小節単位確認・出力強化
- MEI / MIDI / MuseScore / MusicXML の相互変換品質向上
- 再生系の波形・連結表現の改善
- 仕様書・検証資料の拡充
補足
このリリースには、ビルド生成物 (mikuscore.html, src/js/main.js) の更新も含まれます。
形式横断ラウンドトリップ強化(MEI/LilyPond/MuseScore/MIDI)と CFFP 導入
形式横断ラウンドトリップ強化(MEI/LilyPond/MuseScore/MIDI)と CFFP 導入
主な変更
- 形式横断テスト基盤 CFFP を導入し、ラウンドトリップ検証を拡充
- LilyPond import/roundtrip を大幅強化
relative/ 変数 / トップレベル対応- native記法対応と clef 改善
- slur / trill 復元強化
- 欠落音(m97/m138)修正
- MEI 入出力 の仕様追従を強化
- control event / transposition /
meiversion対応強化 - 同小節内の臨時記号引き継ぎ対応
- 弱起(
implicit)判定対応 - parity テスト拡充
- control event / transposition /
- MuseScore 変換 の精度改善
- divisions 補正
- 弱起補正
- 移調楽器(transpose)情報の往復保持
- MozartTrio を使ったラウンドトリップ検証を追加
- MIDI/LilyPond ラウンドトリップ時のメタデータ保持 を強化
- Title / Composer / Part名 の保持改善
- 関連 UI とユニットテストを更新
- ABC 読み込み時の clef 自動判定 を改善
- 開発体験改善
- ローカル fixture 不在時、spot/MEI テストを自動 skip 化
indexキャッシュバスト改善- VSQX/MSCX の 2 スペース整形
- 選択小節から再生対応
テスト/品質
- CFFPを含む形式横断テストを追加・拡充
- MEI/LilyPond/MIDI/MuseScore 周辺の回帰テストを強化
- fixture 依存テストの運用安定化(自動 skip)
MIDI/MuseScore/LilyPond/MEI 連携強化リリース(ラウンドトリップ保持・All ZIP 出力・480統一)
MIDI/MuseScore/LilyPond/MEI 連携強化リリース(ラウンドトリップ保持・All ZIP 出力・480統一)
今回のリリースでは、MusicXML を中心とした各フォーマット連携の安定化と、回帰テストの横展開強化を進めました。
主な変更点
1. フォーマット連携とラウンドトリップ品質の改善
- LilyPond / MEI のラウンドトリップ保持を強化
- articulation(staccato/accent)
- grace
- tuplet(start/stop・time-modification)
- accidental 表示保持
- MusicXML / MIDI / MuseScore 連携の安定化
- 譜表・clef 判定ロジックの共通化
- 暗黙ビームの共通ロジック適用
- grace / tuplet 周辺の往復精度を改善
2. MIDI 周辺の実用改善
- MIDI import に
quantizeGrid=autoを追加 - MIDI 出力デフォルトを
musescore_parityに変更 - 時間解像度(ticks/divisions)の既定値を 480 に統一
- Playback
- MIDI Export
- 新規譜面 divisions
3. ダウンロード/UX 改善
- Output に All ボタンを追加し、複数形式を ZIP で一括出力可能に
- ZIP 出力まわりの実装を拡張(バンドル生成対応)
- Source input UI を整理・拡張
- MusicXML / MuseScore / VSQX / ABC / MEI / LilyPond
4. テストと回帰防止の強化
- MuseScore / MIDI / ABC / LilyPond / MEI に対して
- クロスフォーマット回帰テストを増強
- 小節メタ保持の検証を拡張
5. ドキュメント更新
- README / index / スクリーンショット更新
備考
- 既存機能との互換性を意識しつつ、変換精度・再現性・検証網羅性を優先した更新です。
- とくに MuseScore parity を重視した MIDI 系の既定値変更が含まれます。
MuseScore/MusicXML相互変換とMIDIパリティ強化リリース
MuseScore/MusicXML相互変換とMIDIパリティ強化リリース
ハイライト
- MuseScore ↔ MusicXML 変換の保持精度を大幅強化
- 臨時記号・拍子記号(cut time含む)・表現記号・テンポ/ダイナミクス・technical系対応を拡充
- MIDI export に
musescore_parityプロファイルを追加- raw SMFライター導入
- 同tick同pitch再発音の安定化(retrigger制御)
- MIDI比較方針を実運用向けに更新
- onset重視(厳格)+duration比率許容(1/2〜2)
- moonlight診断のサンプリング方針を整理
- ローカルの手本付きパリティ検証フローを強化
- spot/unit/fixture を追加・整備
- フルチェック導線を追加
npm run check:all(typecheck + test:all + build)
含まれる主なPR/変更
- MIDI比較方針の更新(onset重視+duration比率許容)とフルビルド導線整備
- MIDI export に MuseScore parity プロファイル追加(raw SMFライター含む)
- MuseScore↔MusicXML 記譜整合性強化(cut time、臨時記号、move/tick/track周辺)
- technical / Expression / Tempo / Dynamic sound 対応拡張
- ローカル parity テスト運用(手本付き)追加
- VSQX連携のvendor同期導線追加と defaultLyric 制御反映
- MusicXML取り込み時の和音/拍子/調号正規化改善
- MusicXMLインポート時のPart内複数Staff分割(VSQX反映)
運用メモ
- 推奨品質ゲート:
npm run check:all
- 比較観点:
- 発音タイミング(onset)を主判定
- 長さ(duration)は比率許容で副判定
- 一部ケース(例: 特定区間の局所乖離)は診断サンプリング方針で管理
既知事項
- MuseScore由来データとの accidental 表示差(pitch同一・表記差)は一部残存する場合があります。
- ローカル fixture 依存の spot テストは環境データ有無に影響されます。
多形式I/O強化(MuseScore / LilyPond / MEI / VSQX)とExport/Import体験の改善
Release Title
多形式I/O強化(MuseScore / LilyPond / MEI / VSQX)とExport/Import体験の改善
Release Notes
今回のリリースは、入出力フォーマット対応の拡張と、編集〜Export導線の改善が中心です。
✨ 主な追加機能
- VSQX連携を追加
utaformatix3-ts-plusIIFEを同梱- VSQX Import経路を追加
- ExportにVSQXボタンを追加(MusicXML -> VSQX)
- MuseScore(
.mscx/.mscz)のImport/Export対応を拡張 - LilyPond I/Oを実装・強化
- MEI(Experimental)I/Oを追加
- MusicXML Export設定に
.xml拡張子オプションを追加 - MusicXML/MuseScore圧縮Exportオプションを追加
🔧 品質改善・挙動改善
- MuseScore/MusicXML取り込みの記譜再現性を改善
- スラー、タイ、トリル、オッターヴァ、連符、連桁、grace等
- 弱起(pickup/anacrusis)の正規化改善
- 0小節開始・implicit短小節の保持を強化
- Import時の最小補完を追加
missing voiceの no-op 保存を許容(編集対象のみ局所補完)
- 再生/Export導線のUIを改善
- 小節選択連動のEdit導線
- SVG Export導線
- Exportボタン構成の整理
🧪 テスト・保守
- I/O関連ユニットテストを拡充
- MuseScore / LilyPond / MEI / download-flow / load-flow / musicxml-io など
- 仕様・チェックリスト・統合ドキュメントを更新
📚 ドキュメント更新
docs/integrations/utaformatix3-ts-plus.mikuscore.iife.js.mdを追加・更新- I/O仕様書、UI仕様書、チェックリストを更新
備考
- 変更量が大きく、複数フォーマットにまたがるため、既存ワークフロー(特にImport後の表示・Export結果)の再確認を推奨します。
Official MIDI Import Support and Enhanced ABC/MusicXML Round-Trip (Debug Visibility + Formatted Export)
Official MIDI Import Support and Enhanced ABC/MusicXML Round-Trip (Debug Visibility + Formatted Export)
Release Notes
This release summarizes major updates made after aba1a378b03b93cb0624e7dc7c30fea34f5c6c23.
Highlights
- Added MIDI (
.mid/.midi) import- MusicXML conversion with quantization, automatic voice split, and key/time/tempo handling
- Improved track separation (separate parts even for same channel across different tracks)
- Improved MIDI I/O round-trip stability
- FF58 (time signature) / FF59 (key signature) support
- Better CC (expression-related) reflection
- Suppression of empty part generation
- Strengthened ABC <-> MusicXML round-trip
- Better compatibility for grace notes, slurs, tuplets, and accidentals
- Tempo
Q:support - Improved
%@mksmetadata preservation
- Enhanced debug visibility
- Added
miscellaneous-fielddiagnostics (mks:midi-debug-*,mks:abc-debug-*) - Added troubleshooting guidance in README/spec docs
- Added
- Improved MusicXML export formatting
- Formatted output at export time for better readability
- UI / import-export flow improvements
- Input flow refinements
- Better diagnostics for export failures
- Documentation alignment and wording updates
Testing and Quality
- Expanded MIDI/ABC unit tests
- Added/enhanced golden round-trip tests:
- MusicXML -> MIDI -> MusicXML
- MusicXML -> ABC -> MusicXML
Documentation Updates
docs/spec/MIDI_IO.mddocs/spec/ABC_IO.mddocs/spec/PLAYBACK.mdREADME.mddocs/spec/SCREEN_SPEC.mdand others
Changed Areas (excerpt)
- Implementation:
src/ts/midi-io.tssrc/ts/abc-io.tssrc/ts/download-flow.tssrc/ts/musicxml-io.tssrc/ts/load-flow.tssrc/ts/playback-flow.tssrc/ts/main.ts
- Tests:
tests/unit/midi-io.spec.tstests/unit/midi-roundtrip-golden.spec.tstests/unit/abc-io.spec.tstests/unit/abc-roundtrip-golden.spec.ts
- Samples / Build artifacts:
src/samples/musicxml/sample1.musicxmlsrc/samples/musicxml/sample2.musicxmlsrc/ts/sampleXml.tssrc/ts/sampleXml2.tssrc/js/main.jsmikuscore.html
Release Title
MIDIインポート正式対応とABC/MusicXMLラウンドトリップ強化(デバッグ可視化・整形出力対応)
Release Notes
主要アップデート
- MIDI (
.mid/.midi) インポートを追加- MusicXML 変換(量子化・自動 voice 分離・調号/拍子/テンポ対応)
- トラック分離の改善(同一チャンネルでもトラック別パート出力)
- MIDI I/O の往復安定化
- FF58(拍子)/ FF59(調号)対応
- CC(表現系)反映改善
- 空パート生成抑制
- ABC <-> MusicXML ラウンドトリップ強化
- 装飾音・スラー・連符・臨時記号の互換性向上
- テンポ
Q:対応 %@mksメタ情報の保持強化
- デバッグ可視化を強化
miscellaneous-field(mks:midi-debug-*,mks:abc-debug-*) を用いた解析情報を出力- 解析手順を README / spec に追記
- MusicXML 出力整形の改善
- エクスポート時に整形出力(可読性改善)
- UI/入出力フロー改善
- 入力フローの整理
- エクスポート失敗時の診断表示改善
- 設定/説明文書の整合性更新
テスト・品質
- MIDI/ABC のユニットテスト拡充
- MusicXML -> MIDI -> MusicXML / MusicXML -> ABC -> MusicXML のゴールデン往復テストを追加・強化
ドキュメント更新
docs/spec/MIDI_IO.mddocs/spec/ABC_IO.mddocs/spec/PLAYBACK.mdREADME.mddocs/spec/SCREEN_SPEC.mdほか
MXL Import, MIDI/Playback Enhancements, and Grand Staff Editing Improvements
MXL Import, MIDI/Playback Enhancements, and Grand Staff Editing Improvements
Release Notes
Focused on safer editing, stronger MusicXML→MIDI handling, and improved usability across Input/Score/Edit/Export.
Highlights
- Added MXL (compressed MusicXML) import support.
- Expanded MIDI generation fidelity by passing through more MusicXML details (tempo/control/program-related behavior and expression handling).
- Improved quick playback behavior and stability, including better diagnostics and settings.
- Added/updated grand staff editing support in core logic (staff-aware pitch handling and safer split behavior near backup/forward boundaries).
- Improved validation and save diagnostics, including clearer invalid-duration context.
- Enhanced Input flow:
- better file load behavior
- clearer failure messages
- sample loading improvements
- Improved Score/Edit workflow:
- easier measure navigation
- clearer apply/discard behavior
- append-measure support in Score
- Expanded MIDI & Playback settings UI:
- more instrument presets
- reset-to-defaults
- optional override behavior
- MIDI debug panel
- Added/updated unit tests for core, MIDI I/O, and playback-flow regressions.
Notable Scope
- Core:
core/ScoreCore.ts,core/timeIndex.ts,core/validators.ts - Import/Export/Playback:
src/ts/load-flow.ts,src/ts/mxl-io.ts,src/ts/midi-io.ts,src/ts/playback-flow.ts,src/ts/download-flow.ts - UI:
mikuscore-src.html,src/ts/main.ts,src/css/app.css - Tests:
tests/unit/core.spec.ts,tests/unit/midi-io.spec.ts,tests/unit/playback-flow.spec.ts
リリースタイトル
MXL読み込み対応・MIDI/Playback強化・グランドスタッフ編集改善
リリースノート
編集の安全性向上、MusicXML→MIDI 変換の強化、Input/Score/Edit/Export の使い勝手改善を中心に更新しています。
主な変更点
- MXL(圧縮MusicXML)読み込みに対応
- MusicXMLの情報をより活かした MIDI生成品質の向上
- テンポ/コントロール/プログラム関連や表現情報の反映を拡張
- 簡易Playbackの安定性・挙動改善
- 診断表示や設定面も強化
- core側で グランドスタッフ編集対応を改善
- 音高変更時のstaff扱い
- backup/forward境界付近でのsplit安全性改善
- 保存・検証時の診断強化
- invalid-duration時の文脈情報を明確化
- Inputフロー改善
- ファイル読み込み挙動の改善
- 失敗時メッセージの明確化
- サンプル読み込みの改善
- Score/Edit導線の改善
- 小節移動しやすさ向上
- Apply/Discardの状態制御改善
- Scoreから末尾小節追加機能を追加
- MIDI & Playback設定UIの拡張
- 音色プリセット拡充
- 初期値リセット
- 上書きオプション
- MIDIデバッグ表示
- core / MIDI I/O / playback-flow の 単体テスト拡充
主な対象ファイル
- Core:
core/ScoreCore.ts,core/timeIndex.ts,core/validators.ts - Import/Export/Playback:
src/ts/load-flow.ts,src/ts/mxl-io.ts,src/ts/midi-io.ts,src/ts/playback-flow.ts,src/ts/download-flow.ts - UI:
mikuscore-src.html,src/ts/main.ts,src/css/app.css - Tests:
tests/unit/core.spec.ts,tests/unit/midi-io.spec.ts,tests/unit/playback-flow.spec.ts
mikuscore first release
mikuscore
This is the first public release of mikuscore, a browser-only score editor focused on safe, reliable MusicXML editing.
Instead of maximizing features, mikuscore prioritizes preserving existing score structure and minimizing unintended changes.
Highlights
- Browser-only workflow (no server required)
- Import:
- MusicXML (file / source input)
- ABC (file / source input)
- New score creation
- Editing:
- Full score preview
- Measure-focused editing workflow
- Pitch / accidental / duration operations
- Export:
- MusicXML
- ABC
- MIDI
- Reliability-oriented core design:
- Minimal patch editing
- Preservation of unknown/unsupported elements
- Preservation of
<backup>,<forward>, and existing<beam> - Atomic rollback on failure
Screenshots
Input
Score Preview
Measure Editing
Export
Notes
- This release targets practical editing in a lightweight, browser-first form.
- Smartphone usage is supported.
- Complex engraving workflows should still be handled in full-featured notation software when needed.
Repository
https://github.com/igapyon/mikuscore
Screenshots
mikuscore (日本語説明)
mikuscore の初の公開リリースです。
mikuscore は、既存 MusicXML を安全かつ信頼性高く編集することを重視した、ブラウザ完結型のスコアエディタです。
多機能化よりも、既存譜面構造を壊さず、不要な変更を最小化することを優先しています。
ハイライト
- ブラウザのみで動作(サーバ不要)
- 入力:
- MusicXML(ファイル / ソース入力)
- ABC(ファイル / ソース入力)
- 新規譜面作成
- 編集:
- フルスコアプレビュー
- 小節単位の編集ワークフロー
- 音名 / 変化記号 / 音価の操作
- 出力:
- MusicXML
- ABC
- MIDI
- 信頼性重視のコア設計:
- 最小パッチ編集
- unknown/unsupported 要素の保持
<backup>/<forward>/ 既存<beam>の保持- 失敗時の原子的ロールバック
補足
- このリリースは、軽量でブラウザファーストな実用編集を目的としています。
- スマートフォン利用をサポートしています。
- 複雑な浄書作業は、必要に応じてフル機能の楽譜ソフトで行ってください。



