尚未检测到更新。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 כבר מייצר את כל המידע הדרוש לכך, אם זה יידרש בהמשך.