Hiroe0208/piano-omr
0
Piano OMR Service (Hugging Face Space)
day066-piano-omr アプリから呼び出される OMR バックエンド。 画像(PDF をクライアント側で PNG 化したもの)を受け取り、oemer で MusicXML に変換して返す。
API
レスポンス例:
{ "musicxml": "<?xml version=\"1.0\" ...>", "filename": "input.musicxml" }CORS は全許可しているので、ブラウザから直接 fetch で叩ける。
デプロイ手順 (Hugging Face Spaces)
- https://huggingface.co/ でアカウント作成
- https://huggingface.co/new-space で新規 Space を作成
- Space name:
piano-omr(任意) - License: 任意(MIT 推奨)
- SDK: Docker
- Hardware: CPU basic (free)
- Visibility: Public
- このディレクトリ (
omr-space/) の 4 ファイルを Space リポジトリに push app.py,requirements.txt,Dockerfile,README.md- Space が "Building" → "Running" になるのを待つ(初回 5〜10 分)
- URL を確認(例:
https://hiroe28-piano-omr.hf.space) - day066-piano-omr の
js/config.jsのOMR_API_URLを上記 URL に書き換え
実装上の注意
- 同時実行 1(Free tier)。混雑時はキューに入る
- 48 時間アイドルで Sleeping → 次回アクセス時にコールドスタート 30〜120 秒
- 推論は 1 ページあたり CPU で 30〜90 秒
- 印刷品質の良い 200dpi 以上のスキャンが望ましい
- 装飾音・複雑な連符・手書き譜は精度が落ちる
