尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗פלטפורמה לאמנות נתונים. כל סדרת מספרים נקראת שלוש פעמים: כיצירה מוזיקלית בארבע שכבות, כשרטוט אדריכלי, וכהדמיה אדריכלית שמפרשת את צורתה. עברית, RTL, בלי שרת ובלי התקנה.
| נתיב | מה יש בו |
|---|---|
#/ | פתיחה, השיטה בשלושה צעדים, גלריית שמונה היצירות, והפניה למאמר |
#/work/<id> | הסטודיו: שם היצירה, כפתור נגינה אחד, ההדמיה או השרטוט, הגרף והפרשנות. קו סריקה עובר על הדימוי בזמן הנגינה. כל הפקדים במגירת "כיוונון היצירה" |
#/data | טעינת קובץ או הדבקת טבלה, וספרייה אישית שנשמרת בדפדפן |
article.html | מאמר מגזין, עם PDF להדפסה על A4 וגרסת Word לעריכה |
כל הדימויים ב-art/ הם הדמיות AI (Canva), ומסומנים "הדמיה" בכל מקום. הפרומפט של כל אחת מחייב את הדימוי להחזיק את צורת הסדרה:
| יצירה | הצורה בנתונים | הדימוי |
|---|---|---|
| 01 סרט החוף | עלייה מהים אל הרכס | גג רציף שעולה מקו המים, בסיס אבן בחול |
| 02 קרשנדו של מגדלים | קשת שהשיא שלה אחרי האמצע | מגדלים שעולים לשיא צפוף ונרגעים לטרסות |
| 03 שתי שעות שיא | שני שיאים כמעט זהים | שתי קמרונות בטון מעל צומת, עקבות אור |
| 04 רחוב של זכוכית | קפיצות חדות בין שכנים | מנסרות זכוכית בגבהים שונים |
| 05 ספירלת הגדילה | עלייה רציפה שמאיצה | מגדל רמפה ספירלי |
| 06 הגג שהפך לפארק | רמה גבוהה במרכז | גג מגונן שמתרומם לגבעה |
| 07 שתי נשימות | שני שיאים עם ירידה איטית | שתי כיפות ממברנה באובך |
| 08 החריץ | צלילה חדה באמצע | חריץ אבן צר ובתחתיתו מים |
הדימוי הראשי בדף הבית: ביתן קונצרטים שחזיתו שורת להבים בגובה גל קול.
| שכבה | מה היא עושה |
|---|---|
| מנגינה | צליל לכל נקודה. הגובה הוא הערך; בפעמה חזקה הוא נוחת על צליל של האקורד. |
| הרמוניה | אקורד בכל תיבה מתוך מהלך תונאלי (טוניקה, סובדומיננטה, דומיננטה, מקבילה), בהולכת קולות קרובה ובקדנצה לטוניקה. הנתונים בוחרים את התפקיד. |
| ביס | שורש האקורד, ועלייה לקווינטה כשהמגמה גבוהה. "דרון" = טוניקה וקווינטה לכל האורך. |
| קצב | חבטה בכל נקודת מפנה. דאטה חלק נשאר שקט; דאטה סוער נותן גרוב. |
כל השכבות חולקות טוניקה אחת. בדיקה אוטומטית מוודאת שאין חצי טון בין המנגינה לאקורד ושכל פעמה חזקה נוחתת על צליל אקורד, בכל הסולמות ובכל היצירות.
Excel (.xlsx, .xls): הגיליון הראשון הוא הנתונים. גיליון בשם "הסבר" עם השורות כותרת, מה הנתונים מספרים, מה תשמעו ומקור, מוצג כפרשנות של היצירה. שלוש דוגמאות ב-samples/, להורדה מדף "הנתונים שלך".
CSV / TSV עם או בלי שורת כותרת. מזהה לבד מפריד (, ; tab |), BOM, ושדות במרכאות. עמודות טקסט מוצעות כתוויות.
JSON בפורמט { "title", "hint", "melody":[…], "bass":[…], "labels":[…] } — רק melody חובה. זהו הפורמט של שמונת הקבצים בתיקייה.
מערך JSON פשוט: [1, 2, 3, …]
הדבקה חופשית: עמודת מספרים, או שורה מופרדת בפסיקים.
מעל 512 נקודות הדאטה מדוגם מחדש (ממוצע בחלונות) כדי שהתוצאה תישאר מוזיקלית. האפליקציה אומרת זאת בשורת הסטטוס.
שמונה מאגרים מעולם התכנון, נטענים מהקבצים 01_*.json … 08_*.json שבתיקייה. פירוט מלא ב-README_datasets.md.
הערת אמינות: המספרים הם פרופילים מייצגים (משוערים) — נכונים בצורתם ובהתנהגותם, לא נשלפו ממדידה חיה. זה מסומן בשדה hint של כל קובץ ומוצג בשורת "מקור" בלוח הפרשנות. אין באפליקציה נתון שמוצג כמדידה אמיתית בלי שהוא כזה.
לכל מאגר מוגדרת גם הגדרה מומלצת (סולם, כלים, אורך) שמדגישה את אופיו. אפשר לכבות זאת בצ׳קבוקס שמתחת לגלריה — שימושי כשרוצים להשוות מאגרים באותו צליל בדיוק.
הפרדת התווים מהאודיו. buildScore() היא פונקציה טהורה: נתונים + הגדרות ← רשימת אירועים. היא לא נוגעת ב-Tone ולא ב-DOM. שני צרכנים משתמשים בה — הנגינה החיה (Tone.Transport) והרינדור לקובץ (Tone.Offline). בלי ההפרדה הזו אי אפשר לייצא WAV בכלל, כי Tone.Offline בונה הקשר אודיו נפרד.
גרף אודיו קבוע. נבנה פעם אחת, לא בכל נגינה. כל שכבה: כלי → Volume → Panner, ומשם פיצול ליבש (דרך Limiter) ולרטוב (send → Reverb). ה-Limiter הכרחי — ארבע שכבות שנערמות יעשו clipping בלעדיו.
למה הקצב יורה על נקודות מפנה. הניסיון הראשון ירה חבטה בכל צעד שחצה סף. זה נשמע הפוך: גל סינוס חלק לגמרי קיבל 82% צפיפות חבטות מול 73% להילוך אקראי, וקו ישר לחלוטין קיבל 50%. הסיבה — לגל חלק יש נגזרת גדולה אך סדירה, ונרמול יחסי מנפח כל ריצוד לסקאלה מלאה. התיקון בשני חלקים: חבטה רק במקסימום מקומי של השינוי, ורצפה של 10% מטווח הסדרה בנרמול. אחרי התיקון קו ישר נותן 0%, סינוס 5%, הילוך אקראי 36%.
רינדור WAV איטי מזמן אמת. הריוורב הקונבולוציוני יקר חישובית (~1.8 שנ׳ רק ליצירת ה-IR). הממשק מציג מונה זמן שרץ במקום להבטיח המתנה קצרה שלא ניתן לעמוד בה.
Vercel, מענף main. אין build: האתר הוא קבצים סטטיים. מיזוג ל-main מעדכן את הכתובת הראשית.
האפליקציה ניתנת להתקנה מ-Chrome (manifest.webmanifest, sw.js).
| קובץ | תוכן |
|---|---|
index.html | המבנה של שלושת המסכים |
styles.css | הטוקנים ושני החדרים: קיר בהיר לבית, חדר אפל לסטודיו |
app.js | התוכן, פענוח הנתונים, buildScore, מנוע האודיו, השרטוט, הספרייה, ובסוף המעטפת והראוטר |
tools/ | המאמר: תוכן, בנייה ל-HTML, PDF ו-Word |
tests/e2e.js | בדיקת קצה לקצה (Playwright) |
python3 -m http.server 8765 &
node tests/e2e.js
python3 tools/build_article.py && node tools/make_pdf.js && python3 tools/build_docx.py
make_pdf.js בודק שאף רכיב לא חורג מהדף ולא נוגע במספר העמוד, ונכשל אם כן.
רווח — נגן / השהה (כשהמיקוד לא בשדה קלט).
buildScore כבר מייצר את כל המידע הדרוש לכך, אם זה יידרש בהמשך.