CoolFace
Apppublic

Hiroe0208/piano-omr

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes
App README

Piano OMR Service (Hugging Face Space)

day066-piano-omr アプリから呼び出される OMR バックエンド。 画像(PDF をクライアント側で PNG 化したもの)を受け取り、oemer で MusicXML に変換して返す。

API

MethodPath内容
GET/healthヘルスチェック
POST/transcribe画像 → MusicXML(multipart/form-data, field=file

レスポンス例:

json
{ "musicxml": "<?xml version=\"1.0\" ...>", "filename": "input.musicxml" }

CORS は全許可しているので、ブラウザから直接 fetch で叩ける。

デプロイ手順 (Hugging Face Spaces)

  1. 1.https://huggingface.co/ でアカウント作成
  2. 2.https://huggingface.co/new-space で新規 Space を作成
  3. 3.Space name: piano-omr (任意)
  4. 4.License: 任意(MIT 推奨)
  5. 5.SDK: Docker
  6. 6.Hardware: CPU basic (free)
  7. 7.Visibility: Public
  8. 8.このディレクトリ (omr-space/) の 4 ファイルを Space リポジトリに push
  9. 9.app.py, requirements.txt, Dockerfile, README.md
  10. 10.Space が "Building" → "Running" になるのを待つ(初回 5〜10 分)
  11. 11.URL を確認(例: https://hiroe28-piano-omr.hf.space
  12. 12.day066-piano-omr の js/config.jsOMR_API_URL を上記 URL に書き換え

実装上の注意

  • 同時実行 1(Free tier)。混雑時はキューに入る
  • 48 時間アイドルで Sleeping → 次回アクセス時にコールドスタート 30〜120 秒
  • 推論は 1 ページあたり CPU で 30〜90 秒
  • 印刷品質の良い 200dpi 以上のスキャンが望ましい
  • 装飾音・複雑な連符・手書き譜は精度が落ちる